当前位置: 首页 > news >正文

Kubernetes 常用命令 持续更新

1、进入指定namespace pod

kubectl exec -it --namespace=kube-system  g-lsb-proxy-nginx-r7zfl-2522744936-11rld /bin/sh
kubectl exec -it g-lsb-proxy-nginx-r7zfl-2522744936-9tz5k -n kube-system  /bin/bash

2、查看k8s pod详情

kubectl describe pods -n jiankunking gateway-7d89b6f6fb-dj4qp
kubectl get pod logging-filebeat-filebeat-v1-0-5565m -n kube-system -o json

3、 指定api版本查看

kubectl get hpa.v2beta2.autoscaling -n jiankunking app-hpa-331087943  -oyaml

4、工作负载异常:结束中,解决Terminating状态的Pod删不掉的问题

kubectl delete pod es-remote-cluster-5757595946-vtzsh -n dev1 --grace-period=0 --force

5、查看cron job运行情况

kubectl describe job -n console  k8s-sync-1611306600

具体信息:

Name:                     k8s-sync-1611306600
Namespace:                console
Selector:                 controller-uid=9b6edd8d-5c91-11eb-90b0-e4434b7c486d
Labels:                   app=k8s-synccontroller.jiankunking.io/chart=appcontroller.jiankunking.io/release=k8s-syncversion=v1
Annotations:              helm.sh/namespace: consolehelm.sh/path: apphelm.sh/release: k8s-sync
Controlled By:            CronJob/k8s-sync
Parallelism:              1
Completions:              1
Active Deadline Seconds:  1800s
Pods Statuses:            0 Running / 0 Succeeded / 0 Failed
Pod Template:Labels:       app=k8s-synccontroller-uid=9b6edd8d-5c91-11eb-90b0-e4434b7c486dcontroller.jiankunking.io/chart=appcontroller.jiankunking.io/name=k8s-synccontroller.jiankunking.io/release=k8s-syncjob-name=k8s-sync-1611306600version=v1Annotations:  helm.sh/namespace: consolehelm.sh/path: apphelm.sh/release: k8s-syncv1.multus-cni.io/default-network: k8s-pod-networkContainers:c0:Image:      registry.jiankunking.net/k8s/k8s-sync:v0.0.18-cliPort:       <none>Host Port:  <none>Command:k8s-syncnamespaceLimits:cpu:     300mmemory:  50MiRequests:cpu:     100mmemory:  20MiEnvironment:POD_NAMESPACE:       (v1:metadata.namespace)POD_NAME:            (v1:metadata.name)POD_IP:              (v1:status.podIP)NODE_NAME:           (v1:spec.nodeName)Mounts:               <none>Volumes:                <none>
Events:Type     Reason        Age    From            Message----     ------        ----   ----            -------Warning  FailedCreate  14m    job-controller  Error creating: pods "k8s-sync-1611306600-khfng" is forbidden: exceeded quota: console, requested: limits.cpu=300m,requests.cpu=100m, used: limits.cpu=60,requests.cpu=25, limited: limits.cpu=60,requests.cpu=25Warning  FailedCreate  14m    job-controller  Error creating: pods "k8s-sync-1611306600-klpt2" is forbidden: exceeded quota: console, requested: limits.cpu=300m,requests.cpu=100m, used: limits.cpu=60,requests.cpu=25, limited: limits.cpu=60,requests.cpu=25Warning  FailedCreate  13m    job-controller  Error creating: pods "k8s-sync-1611306600-vqk6v" is forbidden: exceeded quota: console, requested: limits.cpu=300m,requests.cpu=100m, used: limits.cpu=60,requests.cpu=25, limited: limits.cpu=60,requests.cpu=25Warning  FailedCreate  13m    job-controller  Error creating: pods "k8s-sync-1611306600-tmq2r" is forbidden: exceeded quota: console, requested: limits.cpu=300m,requests.cpu=100m, used: limits.cpu=60,requests.cpu=25, limited: limits.cpu=60,requests.cpu=25Warning  FailedCreate  11m    job-controller  Error creating: pods "k8s-sync-1611306600-7z6rf" is forbidden: exceeded quota: console, requested: limits.cpu=300m,requests.cpu=100m, used: limits.cpu=60,requests.cpu=25, limited: limits.cpu=60,requests.cpu=25Warning  FailedCreate  9m16s  job-controller  Error creating: pods "k8s-sync-1611306600-lsg25" is forbidden: exceeded quota: console, requested: limits.cpu=300m,requests.cpu=100m, used: limits.cpu=60,requests.cpu=25, limited: limits.cpu=60,requests.cpu=25Warning  FailedCreate  3m56s  job-controller  Error creating: pods "k8s-sync-1611306600-8rldr" is forbidden: exceeded quota: console, requested: limits.cpu=300m,requests.cpu=100m, used: limits.cpu=60,requests.cpu=25, limited: limits.cpu=60,requests.cpu=25

6、查看所有api资源

kubectl api-resources

结果类似:

root@kube-master-10-10-1-2:~#  kubectl api-resources
NAME                              SHORTNAMES          APIGROUP                       NAMESPACED   KIND
bindings                                                                             true         Binding
componentstatuses                 cs                                                 false        ComponentStatus
configmaps                        cm                                                 true         ConfigMap
endpoints                         ep                                                 true         Endpoints
events                            ev                                                 true         Event
limitranges                       limits                                             true         LimitRange
namespaces                        ns                                                 false        Namespace
nodes                             no                                                 false        Node
persistentvolumeclaims            pvc                                                true         PersistentVolumeClaim
persistentvolumes                 pv                                                 false        PersistentVolume
pods                              po                                                 true         Pod
podtemplates                                                                         true         PodTemplate
replicationcontrollers            rc                                                 true         ReplicationController
resourcequotas                    quota                                              true         ResourceQuota
secrets                                                                              true         Secret
serviceaccounts                   sa                                                 true         ServiceAccount
services                          svc                                                true         Service
challenges                                            acme.cert-manager.io           true         Challenge
orders                                                acme.cert-manager.io           true         Order
initializerconfigurations                             admissionregistration.k8s.io   false        InitializerConfiguration
mutatingwebhookconfigurations                         admissionregistration.k8s.io   false        MutatingWebhookConfiguration

7、查看networkpolicy 信息

kubectl get networkpolicy --all-namespaces
kubectl get networkpolicy -n work-prod work-prod -oyaml

8、查看pod中有几容器

kubectl top pod lb-1823094884-proxy-nginx-j4yzw-564c48d4cc-l22h8 -n kube-system  --containers

输出

POD                                                NAME      CPU(cores)   MEMORY(bytes)   
lb-1823094884-proxy-nginx-j4yzw-564c48d4cc-l22h8   proxy     122m         404Mi           
lb-1823094884-proxy-nginx-j4yzw-564c48d4cc-l22h8   sidecar   1m           42Mi 

进入某个容器

kubectl  exec -it lb-1823094884-proxy-nginx-j4yzw-564c48d4cc-l22h8 -n kube-system -c proxy  /bin/bash

如果提示下面的错误

Error from server (Forbidden): pods "lb-1823094884-proxy-nginx-j4yzw-564c48d4cc-l22h8" is forbidden: cannot exec into or attach to a container using host network

就到pod对应的机器上,通过docker exec进入

8、查看contexts候选列表

kubectl config get-contexts

9、切换contexts

kubectl config use-context {your-contexts}

10、查询集群中的node

 kubectl get nodes

11、查询某个node上所有的pod

 // linuxkubectl get po --all-namespaces -o wide |select-string 56-7// powershellkubectl get po --all-namespaces -o wide |grep 56-7

12、从本机拷贝文件到pod

kubectl cp 主机文件路径 -n 分区 -c 容器 pod名:容器内绝对路径
kubectl cp ./go-runner -n apisix  apisix-gw-deployment-68469c88b6-l4mcm:/tmp

13、pod 网络监控

nsenter -t 2498080 -n tcpdump -i eth0 -nnvvA port 8080 -w a.pcap

https://blog.csdn.net/jiankunking/article/details/125189956?spm=1001.2014.3001.5501

14、查看系统中的 CRD 资源

kubectl get CustomResourceDefinition

15、kubectl 指定配置文件

kubectl --kubeconfig /root/config  config get-contexts

16、使用 nsenter 进入 netns 抓包
https://jiankunking.blog.csdn.net/article/details/125189956

17、如何查看k8s中kube-proxy的模式是ipvs还是iptables
通过 kubectl 命令查看 kube-proxy 的配置:

[jiankunking@hddxps8156 ~]# kubectl config use-context qd-test
Switched to context "qd-test".
[jiankunking@hddxps8156 ~]# kubectl get configmap kube-proxy -n kube-system -o yaml | grep modemode: ipvs
[jiankunking@hddxps8156 ~]# 

18、kubectl describe node
可通过该命令查看 Pod 在节点上的资源分配情况(Request、Limits),如下:

# product 表示生产环境
kubectl describe node -l env=product# 执行结果
Namespace                   Name                                                      CPU Requests  CPU Limits  Memory Requests  Memory Limits  AGE
---------                   ----                                                      ------------  ----------  ---------------  -------------  ---
product                     annoroad-clinicallims3-754dddb5cb-k5xkn                   0 (0%)        0 (0%)      0 (0%)           0 (0%)         85d
product                     annoroad-crm-796884585d-ts2xn                             0 (0%)        0 (0%)      0 (0%)           0 (0%)         85d
product                     annoroad-dms-6d658d564f-m6j7r                             0 (0%)        0 (0%)      0 (0%)           0 (0%)         16d
product                     annoroad-dms-server-6557c5bc85-45sw2                      0 (0%)        0 (0%)      0 (0%)           0 (0%)         15d

19、kubectl top node
可通过该命令查看节点的资源使用情况,如下:

# product 表示生产环境
kubectl top node -l env=product# 执行结果
NAME                       CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%
cn-beijing.192.16.168.102   904m         11%    10340Mi         69%
cn-beijing.192.16.168.103   1393m        17%    12810Mi         86%
cn-beijing.192.16.168.104   1994m        24%    13281Mi         89%
cn-beijing.192.16.168.105   987m         12%    9399Mi          63%
cn-beijing.192.16.168.115   638m         15%    12017Mi         80%
cn-beijing.192.16.168.118   806m         20%    9372Mi          62%
cn-beijing.192.16.168.135   258m         6%     9696Mi          65%
cn-beijing.192.16.168.136   871m         21%    10957Mi         73%
cn-beijing.192.16.168.137   310m         7%     9322Mi          62%
cn-beijing.192.16.168.138   943m         23%    11908Mi         80%

20、kubectl top pod
可通过该命令查看 Pod 资源使用情况,如下:

# product 表示生产环境
kubectl top pod -n product# 执行结果
NAME                                         CPU(cores)   MEMORY(bytes)
annoroad-alpha-5dbd868d-lsvj5                2m           383Mi
annoroad-applet-6f977779bc-2bgpn             3m           384Mi
annoroad-applet-6f977779bc-mgdhw             3m           387Mi
annoroad-applet-6f977779bc-qhqbg             2m           393Mi
annoroad-beta-7c4d7c654f-m4rkf               2m           334Mi
annoroad-clinicallims-67855bf4f5-9ddwd       4m           502Mi
annoroad-clinicallims-67855bf4f5-rdq2s       3m           488Mi
annoroad-clinicallims-67855bf4f5-vvrsn       3m           436Mi
annoroad-clinicallims-67855bf4f5-zhbvk       4m           509Mi
annoroad-clinicallims-67855bf4f5-zs65j       3m           420Mi
annoroad-clinicallims3-56d9c87786-2ftzq      3m           596Mi

21、kubectl get pod -o wide |grep $node
可通过该命令查看指定 node 上运行的所有 pod,如下:

# product 表示生产环境
kubectl get pod -n product -o wide |grep cn-beijing.172.15.14.128# 执行结果
annoroad-clinical-lims-8556cc6b76-57ctq        1/1     Running   6          20h    170.22.11.23     cn-beijing.172.15.14.128   <none>           <none>
annoroad-covid19-front-fdd7469ff-pg2hm         1/1     Running   0          29d    170.22.11.20   	cn-beijing.172.15.14.128   <none>           <none>
annoroad-crm-7b9cd5c6c9-hj5s8                  1/1     Running   0          10d    170.22.11.12     cn-beijing.172.15.14.128   <none>           <none>
annoroad-crm-server-696d4f5867-77bdd           1/1     Running   2          29d    170.22.11.122    cn-beijing.172.15.14.128   <none>           <none>
annoroad-gateway-55785fd8c-xlx4q               1/1     Running   0          88d    170.22.11.99     cn-beijing.172.15.14.128   <none>           <none>

22、kubectl top pod |grep -E “ p o d n a m e 1 ∣ podname1| podname1∣podname2|…”
可通过该命令查看一个 pod 或几个 pod 的资源使用情况 ,如下:

# product 表示生产环境
kubectl top pod -n product |grep -E "annoroad-clinical-lims-8556cc6b76-57ctq|annoroad-covid19-front-fdd7469ff-pg2hm"# 执行结果
annoroad-clinical-lims-8556cc6b76-57ctq        74m          1216Mi
annoroad-covid19-front-fdd7469ff-pg2hm         1m           2Mi

23、查看带某标签的节点列表

kubectl get no -l ${label_name}

24、

相关文章:

Kubernetes 常用命令 持续更新

1、进入指定namespace pod kubectl exec -it --namespacekube-system g-lsb-proxy-nginx-r7zfl-2522744936-11rld /bin/sh kubectl exec -it g-lsb-proxy-nginx-r7zfl-2522744936-9tz5k -n kube-system /bin/bash2、查看k8s pod详情 kubectl describe pods -n jiankunking …...

达梦数据库常用命令行

导出dmp文件&#xff08;迁移用&#xff09; 管理工具在dmdbms下的tool文件夹下 使用tool目录下的manage程序&#xff0c;导出dmp文件 导入dmp文件 切到tool目录下 ./dimp 用户id/密码ip:5236 file"导入的文件路径(包括文件名)" 导入的模式&#xff08;一般与库名…...

【通信系列 6 -- AT 命令介绍】

文章目录 1. 背景介绍1.2 AT的命令格式1.3 AT指令用法1.3.1 指令执行结果 1.2 CP 常用AT指令1.2.1 CP 模式设置1.2.2 网络相关1.2.3 IP获取1.2.4 Band 设置1.2.5 电话相关1.2.6 SIM卡检测1.2.7 cmwap 和cmnet1.2.8 AT 写 IMEI 1. 背景介绍 AT 命令一般分为三种&#xff1a; C…...

flask捕获@app.errorhandler/@app.after_request全局异常总结

捕获处理全局异常的方法有两种&#xff1a;app.errorhandler、app.after_request1、第一种的使用&#xff0c;需要将flask的debug开关打开才能生效&#xff08;自动捕获异常&#xff09;&#xff0c;在config里面将DEBUG TRUE就可以&#xff08;默认是False&#xff09;。 但是…...

智能晾衣架丨以科技解放双手

以往的晾衣架大多是平放式、手摇式居多&#xff0c;为衣物的晾晒提供了一个“栖身之所。”随着科技的日新月异&#xff0c;智能家居的产品越来越多。晾衣架也不例外&#xff0c;一款带有语音控制升降、同时具备照明和消毒的多功能衣架也已深入生活&#xff0c;正被人们所接受。…...

asp.net饭店订餐管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio计算机设计定制

一、源码特点 asp.net 饭店订餐管理系统 是一套完善的web设计管理系统&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为vs2010&#xff0c;数据库为sqlserver2008&#xff0c;使用c#语 言开发 asp.net饭店订餐系统 二、功能介…...

Pushgateway的场景使用

1,Pushgateway简介 Pushgateway为Prometheus整体监控方案的功能组件之一,并做为一个独立的工具存在。它主要用于Prometheus无法直接拿到监控指标的场景,如监控源位于防火墙之后,Prometheus无法穿透防火墙;目标服务没有可抓取监控数据的端点等多种情况。在类似场景中,可通…...

时间范围配置(昨天,今天,本周,本月,本季度,本年)

ranges:{ ‘昨天’: [ moment(moment().subtract(1, ‘days’).format(‘YYYY-MM-DD 00:00:00’)) ,moment(moment().subtract(1, ‘days’).format(‘YYYY-MM-DD 23:59:59’))], ‘今天’: [ moment(moment().format(‘YYYY-MM-DD 00:00:00’)),moment( moment().format(‘YYY…...

PlantUML 绘图

官网 https://plantuml.com/zh/ 示例 绘制时序图 USB 枚举过程 PlantUML 源码 startuml host <-- device : device insert host note right : step 1 host -> device : get speed, reset, speed check note right : step 2 host -> device …...

spring boot自定义配置时在yml文件输入有提示

自定义一个配置类&#xff0c;然后在yml文件具体配置值时&#xff0c;一般不会有提示&#xff0c;这个解决这个问题 依赖 <!--自定义配置类&#xff0c;在yml文件写的时候会有提示--><dependency><groupId>org.springframework.boot</groupId><arti…...

Linux:I/O 5种模型

图片来源&#xff1a;https://pdai.tech/md/java/io/java-io-model.html...

企业提升效率的秘密武器,推荐J2L3x聊天软件!

随着企业竞争加剧&#xff0c;提高效率已成为每个企业都必须面对的挑战。然而&#xff0c;企业要想提高效率&#xff0c;仅仅依靠员工的努力往往难以取得显著的效果&#xff0c;因此&#xff0c;许多企业开始寻找适合自己的工具和软件来提高生产力。 有一种聊天软件与众不同&a…...

Android Termux安装MySQL,并使用cpolar实现公网安全远程连接[内网穿透]

文章目录 前言1.安装MariaDB2.安装cpolar内网穿透工具3. 创建安全隧道映射mysql4. 公网远程连接5. 固定远程连接地址 前言 Android作为移动设备&#xff0c;尽管最初并非设计为服务器&#xff0c;但是随着技术的进步我们可以将Android配置为生产力工具&#xff0c;变成一个随身…...

如何有效管理公司分配给员工的个人微信,实现聚合聊天管理?

现在很多公司会在员工入职后&#xff0c;会把企业的微信账号分配给员工&#xff0c;让他们用微信与客户沟通业务。但这个过程有很多风险&#xff0c;比如不能实时掌握员工与客户的沟通情况&#xff0c;可能出现员工私自添加或删除重要客户&#xff0c;有的员工还会离职时带走公…...

【HTML5】语义化标签记录

前言 防止一个页面中全部都是div&#xff0c;或者ul li&#xff0c;在html5推出了很多语义化标签 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 常用语义化案例 一般我用的多的是header&#xff0c;main&#xff0c;footer 这些标签不难理解&#x…...

数据结构———— 堆

(一)基础补充 满二叉树是每一层节点都放满的二叉树。 完全二叉树是只有最后一层节点右边不放满的二叉树。 满二叉树(Perfect Binary Tree) 如果二叉树中除了叶子结点,每个结点的度都为 2,则此二叉树称为满二叉树。另一种说法:一个深度为k(>=-1)且有2^(k+1) - 1个结…...

如何选择专业的游戏开发公司?

如果你想找一家专业的游戏开发公司&#xff0c;你可以采取以下步骤来寻找合适的合作伙伴&#xff1a; 定义项目需求&#xff1a;首先&#xff0c;明确你的游戏开发项目的需求和目标。确定你需要什么类型的游戏&#xff08;移动游戏、PC游戏、主机游戏等&#xff09;、游戏类型…...

Unity基础课程之物理引擎3-碰撞检测案例-吃金币并加分显在UI文本框上

业务逻辑&#x1f4bc;&#xff1a; 这个脚本的主要功能是用于显示和更新主角的得分。在游戏中&#xff0c;玩家需要吃到金币来增加分数&#xff0c;而这个脚本就是负责将得分的变化实时显示在屏幕上的。 程序逻辑&#x1f4bb;&#xff1a; 1️⃣首先&#xff0c;在脚本的开始…...

DAPLink V2 STLink V2 JLink V9.7 串口四合一仿真调试下载器

作者 风陵&#xff1a; github:https://github.com/ForlingTec CSDN:https://blog.csdn.net/weixin_42518229 化作尘&#xff1a; https://blog.csdn.net/mbs520 一、产品介绍 该产品是一款基于USB2.0接口支持多个公司及多种内核的仿真器/编程器&#xff0c;板载了USB H…...

使用PyTorch处理多维特征输入的完美指南

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…...

收藏!小白也能看懂的大模型如何改写工业效率?

收藏&#xff01;小白也能看懂的大模型如何改写工业效率&#xff1f; 本文介绍了中控技术的TPT大模型在工业生产中的应用&#xff0c;它通过实时监控、自动计算最优参数和风险预警&#xff0c;帮助企业提升效率、降低成本。与互联网领域的AI应用不同&#xff0c;工业AI的价值更…...

云服务器购买怎么选?2026云服务器优惠与租赁指南

在AI创作、3D渲染、远程办公快速发展的今天&#xff0c;「云服务器购买」「云服务器租赁」已经成为越来越多个人和企业的刚需。但面对复杂的配置和价格体系&#xff0c;很多人都会问&#xff1a;&#x1f449; 到底怎么选最划算&#xff1f; &#x1f449; 有没有长期稳定又有“…...

老旧Mac如何重获新生?OCLP-Mod带来的系统升级解决方案

老旧Mac如何重获新生&#xff1f;OCLP-Mod带来的系统升级解决方案 【免费下载链接】OCLP-Mod A mod version for OCLP,with more interesting features. 项目地址: https://gitcode.com/gh_mirrors/oc/OCLP-Mod 随着科技的快速迭代&#xff0c;许多曾经性能卓越的Mac设备…...

超越单一工具:在快马平台探索多模型ai辅助开发的全新工作流

在开发过程中&#xff0c;AI辅助工具已经逐渐成为提升效率的利器。最近我在尝试使用InsCode(快马)平台时&#xff0c;发现它提供的多模型AI辅助开发能力&#xff0c;远比单一工具更加强大和灵活。下面分享一个我实践的综合示例项目&#xff0c;展示如何利用平台的多模型能力优化…...

OpenClaw+ollama-QwQ-32B内容处理:自动生成周报与会议纪要

OpenClawollama-QwQ-32B内容处理&#xff1a;自动生成周报与会议纪要 1. 为什么需要自动化内容处理工具 每周五下午三点&#xff0c;我的日历总会准时弹出"编写本周工作报告"的提醒。这个看似简单的任务&#xff0c;却常常让我陷入两难&#xff1a;要么花半小时手动…...

嵌入式哈希表实现:无malloc线性探测Hash Map

1. 项目概述 hashmap.c 是一个面向嵌入式系统深度优化的纯 C 语言哈希映射&#xff08;Hash Map&#xff09;实现&#xff0c;不依赖标准库&#xff08;如 stdlib.h 、 string.h &#xff09;&#xff0c;完全可移植于裸机环境、RTOS&#xff08;FreeRTOS、Zephyr、RT-Thr…...

颠覆PDF转换体验:Marker无缝实现25页/秒全场景文档格式精准迁移

颠覆PDF转换体验&#xff1a;Marker无缝实现25页/秒全场景文档格式精准迁移 【免费下载链接】marker 一个高效、准确的工具&#xff0c;能够将 PDF 和图像快速转换为 Markdown、JSON 和 HTML 格式&#xff0c;支持多语言和复杂布局处理&#xff0c;可选集成 LLM 提升精度&#…...

从Python转C++必看:C++20的starts_with/ends_with和Python有何不同?5个易错点详解

从Python转C必看&#xff1a;C20的starts_with/ends_with和Python有何不同&#xff1f;5个易错点详解 当你在Python中熟练使用startswith()和endswith()多年后&#xff0c;突然切换到C20的starts_with和ends_with&#xff0c;可能会觉得"这不就是换个语法吗&#xff1f;&q…...

深度解析模型调参三剑客:Temperature、Top-k与Top-p的实战应用

1. 理解调参三剑客的核心逻辑 第一次接触大模型参数调整时&#xff0c;我被Temperature、Top-k和Top-p这三个参数搞得晕头转向。直到在电商文案生成项目中踩了坑才明白&#xff1a;这三个参数就像烹饪时的火候控制&#xff0c;用对了能让AI输出事半功倍。 Temperature本质上是个…...

Word自动编号的隐藏玩法:用题注和交叉引用,打造能“自我修复”的智能文档

Word文档工程化&#xff1a;构建自动编号与交叉引用的智能系统 在技术文档撰写过程中&#xff0c;最令人头疼的莫过于图表编号的维护。当你在200页的文档中插入新图表时&#xff0c;手动编号意味着要逐个修改后续所有编号和引用——这种痛苦只有经历过的人才懂。但很少有人意识…...