AI 协助说明: 本页由 Codex 协助核验和修复站内链接;正文的技术事实和适用范围未因本次修改而改变,仍以文中来源及当前官方文档为准。
下面是一份偏“速查手册”风格的 kubectl 常用命令大全,尽量按功能分类,并给出大量可直接参考执行的命令示例。为了便于阅读,示例统一使用一些通用占位符,如 my-namespace、my-pod、my-deploy、app=myapp 等。
提示:所有命令默认使用当前 kubeconfig 的当前 context 和 namespace,除非显式用 -n、–namespace 或 –context 指定。
1. 基础与配置相关命令#
1.1 查看与切换 kubeconfig / context / cluster / namespace / user#
- 查看当前配置的集群信息(类似 kubectl 的“总览”)
kubectl config view查看 kubeconfig 文件中所有集群、用户、context 等信息。
kubectl config view --minify只显示当前 context 的配置,更精简。
- 查看 / 设置当前 context
kubectl config current-context显示当前正在使用的 context 名称。
kubectl config get-contexts列出所有 context,包含 CLUSTER / AUTHINFO / NAMESPACE 等信息。
kubectl config use-context my-context切换当前 context 到 my-context。
- 设置/修改默认 namespace、cluster、user
kubectl config set-context my-context --namespace=my-namespace将 context my-context 默认 namespace 设置为 my-namespace。
kubectl config set-context my-context --cluster=my-cluster --user=my-user修改 context my-context 所使用的 cluster 和 user。
- 切换 kubeconfig(多集群场景)
export KUBECONFIG=~/.kube/config:~/.kube/config-prod
kubectl config get-contexts设置 KUBECONFIG 环境变量,合并多个 config 文件后再查看 context。
kubectl --kubeconfig=/path/to/other-config config get-contexts指定使用另外一个 kubeconfig 文件执行命令。
1.2 查看版本、集群信息#
- 查看客户端/服务端版本
kubectl version显示 kubectl 客户端和服务器端(apiserver)的版本信息。
kubectl version --short以更简洁的形式显示版本号。
- 查看集群信息
kubectl cluster-info显示 Kubernetes master 和核心服务的访问地址。
kubectl cluster-info dump > cluster-dump.txt导出集群的一些诊断信息到文件,排障时有用。
- 查看当前集群支持的 API
kubectl api-versions
kubectl api-resources前者列出 API 版本;后者列出可操作的资源类型、短名称和是否属于 namespace,可在编写或排查资源清单时快速确认拼写。
1.3 命令自动补全与别名#
- 为 bash 启用 kubectl 自动补全
source <(kubectl completion bash)在当前 shell 会话启用自动补全(临时)。
echo "source <(kubectl completion bash)" >> ~/.bashrc永久启用 bash 的 kubectl 补全。
- 为 zsh 启用 kubectl 自动补全
source <(kubectl completion zsh)在 zsh 中启用自动补全。
- 为 fish 启用 kubectl 自动补全
kubectl completion fish | source- 配合 alias 使用补全
alias k=kubectl
complete -F __start_kubectl k设置 k 为 kubectl 的别名,并启用自动补全。
1.4 常用全局参数示例#
- 指定 namespace:
kubectl get pods -n my-namespace- 所有 namespace:
kubectl get pods -A
# 等价于
kubectl get pods --all-namespaces- 指定 context:
kubectl --context=my-context get svc- 输出格式:
kubectl get pods -o wide
kubectl get pods -o yaml
kubectl get pods -o json2. 资源查看命令(GET / DESCRIBE / EXPLAIN)#
2.1 通用:kubectl get#
- 查看某类资源列表(当前 namespace)
kubectl get pods查看当前 namespace 下的所有 Pod。
kubectl get deployments
kubectl get svc
kubectl get ingress
kubectl get configmaps
kubectl get secrets查看 Deployment、Service、Ingress、ConfigMap、Secret 列表。
kubectl get all快速查看当前 namespace 中的一组常见工作负载与 Service;它并不包含所有 Kubernetes 资源,排查时仍应按需查询 ConfigMap、Secret、Ingress、NetworkPolicy 等对象。
- 所有 namespace
kubectl get pods -A
kubectl get svc -A查看所有命名空间中的 Pod、Service。
- 获取单个资源详情(概览格式)
kubectl get pod my-pod
kubectl get deploy my-deploy快速查看单个资源的状态和一些关键字段。
- 使用标签选择器(-l / –selector)
kubectl get pods -l app=myapp
kubectl get svc -l env=prod只查看匹配指定 label 的资源。
- 使用输出选项
kubectl get pods -o wide显示 Pod 所在节点、IP 等更多信息。
kubectl get deploy my-deploy -o yaml
kubectl get svc my-svc -o json以 YAML / JSON 格式输出完整资源定义(适合导出修改)。
- 按资源类型和名称混合查询
kubectl get pod/my-pod svc/my-svc deploy/my-deploy一次查看多个不同类型的资源。
2.2 kubectl describe:查看资源详细状态(事件、条件等)#
- describe Pod
kubectl describe pod my-pod
kubectl describe pod my-pod -n my-namespace显示 Pod 的详细信息、调度事件、容器状态等(排障必备)。
- describe Deployment / Service / Node 等
kubectl describe deploy my-deploy
kubectl describe svc my-svc
kubectl describe node my-node
kubectl describe ingress my-ingress
kubectl describe configmap my-config
kubectl describe secret my-secret查看指定资源的详细信息和事件。
2.3 kubectl explain:查看字段解释(结构说明)#
- 查看某资源的字段说明
kubectl explain pod
kubectl explain deployment查看资源类型的基本结构说明。
- 查看嵌套字段
kubectl explain pod.spec
kubectl explain pod.spec.containers
kubectl explain pod.spec.containers.image快速查询 YAML 中字段的含义和类型(非常有用)。
3. Pod 相关常用命令#
3.1 查看 Pod 状态与明细#
- 列出 Pod
kubectl get pods
kubectl get pods -n my-namespace
kubectl get pods -A- 按标签查看
kubectl get pods -l app=myapp- 查看 Pod 的 IP、Node 等信息
kubectl get pods -o wide- 查看特定 Pod 详细信息
kubectl describe pod my-pod查看调度事件、重启次数、镜像拉取错误等信息。
3.2 查看 Pod 日志:kubectl logs#
- 查看单容器 Pod 日志
kubectl logs my-pod打印 Pod 中默认容器的日志。
- 查看多容器 Pod 中指定容器的日志
kubectl logs my-pod -c my-container- 实时滚动查看日志(类似 tail -f)
kubectl logs -f my-pod
kubectl logs -f my-pod -c my-container- 查看之前崩溃容器的上一次实例日志
kubectl logs my-pod --previous
kubectl logs my-pod -c my-container --previous排查 CrashLoopBackOff 时非常常用。
- 限制输出行数、时间范围
kubectl logs my-pod --tail=100
kubectl logs my-pod --since=10m
kubectl logs my-pod --since-time="2024-10-01T10:00:00Z"- 按 label 查看多个 Pod 的日志(需要 kubectl >= 1.14 的 -l 支持)
kubectl logs -l app=myapp
kubectl logs -l app=myapp -f一次性查看多个 Pod 的聚合日志(注意输出混在一起)。
3.3 进入容器:kubectl exec#
- 打开一个交互式 shell
kubectl exec -it my-pod -- /bin/bash
# 或
kubectl exec -it my-pod -- /bin/sh- 指定容器执行命令
kubectl exec -it my-pod -c my-container -- /bin/bash
kubectl exec -it my-pod -c my-container -- env- 非交互执行命令(脚本化)
kubectl exec my-pod -- ls /app
kubectl exec my-pod -- cat /etc/hosts3.4 端口转发:kubectl port-forward#
临时本地调试可使用 kubectl port-forward。目标类型、权限要求、监听地址和安全边界见 port-forward 命令详解。
3.5 Pod 的重启 / 删除 / 强制操作#
注意:Pod 通常由 Deployment 等控制器管理,直接删除 Pod 会被重建,这也是常见“重启”方式。
- 删除 Pod(优雅删除)
kubectl delete pod my-pod
kubectl delete pod my-pod -n my-namespace- 强制删除(跳过优雅终止)
kubectl delete pod my-pod --grace-period=0 --force用于卡在 Terminating 状态的 Pod。
- 使用 label 批量删除 Pod
kubectl delete pod -l app=myapp- 通过修改 Deployment 来“重启”Pod(更新 annotation)
kubectl rollout restart deploy my-deploy触发 Deployment 滚动重启,推荐的“重启”方式。
4. 工作负载管理(Deployment / StatefulSet / DaemonSet)#
4.1 创建与基础管理#
- 通过 YAML 文件创建
kubectl apply -f my-deploy.yaml
kubectl create -f my-deploy.yamlapply 支持幂等更新,create 仅用于新建。
- 使用命令行快速创建 Deployment
kubectl create deploy my-deploy --image=nginx:1.25快速创建一个使用 nginx 镜像的 Deployment。
- 通过命令设置副本数(scale)
kubectl scale deploy my-deploy --replicas=5
kubectl scale statefulset my-sts --replicas=3横向扩缩容 Deployment 或 StatefulSet。
- 查看 Deployment、StatefulSet、DaemonSet 列表
kubectl get deploy
kubectl get statefulset
kubectl get daemonset
kubectl get rs # ReplicaSet4.2 滚动更新与回滚:kubectl rollout/rollout history#
- 查看 Deployment 的 rollout 状态
kubectl rollout status deploy my-deploy查看部署是否成功完成滚动更新。
- 查看历史版本(revision)
kubectl rollout history deploy my-deploy列出 Deployment 的历史 revision。
kubectl rollout history deploy my-deploy --revision=3查看指定 revision 的详细变更。
- 回滚到上一个版本
kubectl rollout undo deploy my-deploy将 Deployment 回滚到上一个 revision。
- 回滚到指定 revision
kubectl rollout undo deploy my-deploy --to-revision=3- 暂停 / 恢复滚动更新(适用于分步更新 spec)
kubectl rollout pause deploy my-deploy
# 修改 Deployment 的 YAML(镜像等)
kubectl rollout resume deploy my-deploy4.3 查看底层 ReplicaSet / Revision#
- 查看 Deployment 对应的 ReplicaSet
kubectl get rs -l app=myapp由 Deployment 管理的 RS 通常带有相同的 label 和 revision 注解。
kubectl describe rs my-deploy-xxxxx查看 RS 的详细信息、revision 等。
- 查看 StatefulSet 的 Pod 排列
kubectl get pods -l app=my-sts-app -o wideStatefulSet 的 Pod 通常命名为 my-sts-0、my-sts-1 等。
4.4 其他工作负载示例#
- DaemonSet:每个节点一个 Pod
kubectl get ds -A
kubectl describe ds my-daemonset -n kube-system- Job / CronJob
kubectl get jobs
kubectl get cronjob
kubectl describe job my-job
kubectl describe cronjob my-cronjob5. 配置与资源管理(apply / create / delete / patch 等)#
5.1 apply / create / delete / edit / replace#
- apply:推荐的主要资源管理命令
kubectl apply -f my-deploy.yaml
kubectl apply -f ./manifests/对单文件或目录下所有 YAML 文件进行创建/更新。
kubectl apply -R -f ./manifests/递归应用子目录。
- create:仅创建
kubectl create -f my-configmap.yaml- delete:删除资源
kubectl delete -f my-deploy.yaml
kubectl delete pod my-pod
kubectl delete deploy my-deploy
kubectl delete ns my-namespace- edit:在线编辑资源
kubectl edit deploy my-deploy
kubectl edit svc my-svc会打开默认编辑器(如 vi),修改后保存即可自动 apply。
- replace:用新内容完全替换
kubectl replace -f my-deploy.yaml注意:要确保 resourceVersion 一致,否则会报错。
5.2 patch:局部更新#
- 使用 JSON patch
kubectl patch deploy my-deploy -p '{"spec":{"replicas":5}}'快速调整副本数。
- 使用 strategic merge patch
kubectl patch deploy my-deploy -p \
'{"spec":{"template":{"spec":{"containers":[{"name":"my-container","image":"nginx:1.25"}]}}}}'- 使用 –type merge / json / strategic 控制 patch 方式
kubectl patch deploy my-deploy --type=merge -p '{"spec":{"replicas":3}}'5.3 ConfigMap / Secret 管理#
- 通过文件或字面值创建 ConfigMap
kubectl create configmap my-config --from-literal=KEY=VALUE
kubectl create configmap my-config --from-file=config.properties
kubectl create configmap my-config --from-env-file=.env- 查看 ConfigMap
kubectl get configmap
kubectl describe configmap my-config
kubectl get configmap my-config -o yaml- 创建 Secret(通用类型)
kubectl create secret generic my-secret --from-literal=username=admin --from-literal=password=123456- 通过文件创建 Secret
kubectl create secret generic my-cert --from-file=cert.pem --from-file=key.pem- 查看 Secret(注意数据是 base64 编码)
kubectl get secret
kubectl describe secret my-secret
kubectl get secret my-secret -o yaml- 解码 Secret 数据(配合 base64 使用)
kubectl get secret my-secret -o jsonpath='{.data.username}' | base64 -d- ConfigMap / Secret 常见挂载方式(命令视角)
- 以环境变量形式引用:通常在 Pod spec 中配置,命令上多用 edit/get/apply 来修改:
kubectl edit deploy my-deploy
# 在 spec.template.spec.containers.env 中添加:
# - name: MY_KEY
# valueFrom:
# configMapKeyRef:
# name: my-config
# key: KEY- 以 volume 方式挂载:
kubectl edit deploy my-deploy
# 在 spec.template.spec.volumes 中添加 configMap/secret 类型 volume
# 在 spec.template.spec.containers.volumeMounts 中挂载到路径- 创建 TLS Secret
kubectl create secret tls my-tls \
--cert=path/to/cert.pem \
--key=path/to/key.pem常用于把已有证书交给 Ingress Controller 或应用引用;私钥文件不应提交到版本库。
5.4 使用 -f 目录或多文件#
- 一次性应用整个目录
kubectl apply -f ./k8s/- 多个文件一起操作
kubectl delete -f pod.yaml -f svc.yaml -f deploy.yaml6. Service / Ingress / 网络相关命令#
6.1 Service、EndpointSlice 与后端查看#
- 查看 Service 列表
kubectl get svc
kubectl get svc -A
kubectl get svc -n my-namespace- 查看 Service 详情
kubectl describe svc my-svc包括 selector、端口映射、关联的 Endpoints 等。
- 查看 EndpointSlice(推荐)与兼容的 Endpoints
kubectl get endpointslice -l kubernetes.io/service-name=my-svc
kubectl get endpointslice -l kubernetes.io/service-name=my-svc -o wideEndpointSlice 是当前 Kubernetes 用于记录 Service 后端的主要对象。
kubectl get endpoints
kubectl get endpoints my-svc
kubectl describe endpoints my-svc旧集群或兼容性排查仍可能需要查看 Endpoints。
- 查看某个 Service 的 YAML
kubectl get svc my-svc -o yaml6.2 排查 Service 访问问题常用命令#
- 检查 Service 是否存在、类型是否正确
kubectl get svc my-svc -o wide
kubectl describe svc my-svc- 检查 Service 的 selector 与 Pod 标签是否匹配
kubectl get pods -l app=myapp -o wide
kubectl describe svc my-svc | grep Selector -A 5- 检查 Endpoints 是否有后端 Pod
kubectl get endpointslice -l kubernetes.io/service-name=my-svc -o wide如果没有地址,很可能 selector 不匹配或 Pod 未 Ready。
- 在 Pod 内使用 curl 访问 Service
kubectl exec -it my-pod -- curl -sS http://my-svc:80/health- 使用临时 Pod 进行网络测试(如果支持 kubectl run)
kubectl run nettest --rm -it --image=busybox --restart=Never -- /bin/sh
# 然后在 Pod 中执行:
# wget -qO- http://my-svc:806.3 Ingress 的查看与排查#
- 查看 Ingress 列表
kubectl get ingress
kubectl get ing -A- 查看 Ingress 详情
kubectl describe ingress my-ingress
kubectl get ingress my-ingress -o yaml检查规则、主机名、路径、TLS 配置等。
- 检查 Ingress Controller 是否正常
kubectl get pods -n ingress-nginx
kubectl describe pod -n ingress-nginx <ingress-controller-pod>- 查看网络策略
kubectl get networkpolicy -A
kubectl describe networkpolicy -n my-namespace <policy-name>Service 后端连通性异常时,应同时确认 NetworkPolicy 没有拦截流量。
7. Namespace / Node / 集群级命令#
7.1 Namespace 管理#
- 查看 Namespace 列表
kubectl get ns
kubectl get namespaces- 创建 Namespace
kubectl create namespace my-namespace- 删除 Namespace
kubectl delete namespace my-namespace注意:删除会移除该命名空间下的所有资源。
- 切换当前 context 的默认 namespace(参见 1.1)
kubectl config set-context --current --namespace=my-namespace7.2 Node 信息查看与维护#
- 查看所有节点
kubectl get nodes
kubectl get nodes -o wide- 查看节点详细信息
kubectl describe node my-node包括容量、分配资源、标签、污点、Pod 列表等。
- 给节点打标签
kubectl label node my-node env=prod
kubectl label node my-node role=worker --overwrite用于调度约束等场景。
- 给节点添加 taint(污点)
kubectl taint nodes my-node key=value:NoSchedule
kubectl taint nodes my-node key=value:NoSchedule-后缀 - 表示移除 taint。
- cordon / drain / uncordon
kubectl cordon my-node将节点标记为不可调度(不会影响已有 Pod)。
kubectl drain my-node --ignore-daemonsets --delete-emptydir-data驱逐节点上所有非 DaemonSet Pod,常用于维护/下线节点。
kubectl uncordon my-node恢复节点可调度状态。
7.3 集群基础信息与系统组件#
- 查看 kube-system 下的 Pod
kubectl get pods -n kube-system
kubectl get pods -n kube-system -o wide- 查看集群组件状态(某些发行版提供)
kubectl get componentstatuses注意:在一些新版本中该 API 已弃用,仅作参考。
- 查看所有命名空间下的关键资源
kubectl get pods -A
kubectl get svc -A
kubectl get deploy -A- 查看存储类与 API Server 就绪状态
kubectl get storageclass
kubectl get --raw='/readyz?verbose'第二条命令用于检查当前 API Server 的就绪检查端点;它需要相应 API 访问权限。
8. 调试与排障常用命令#
8.1 describe / logs / events#
- describe 资源(排查首选)
kubectl describe pod my-pod
kubectl describe deploy my-deploy
kubectl describe node my-node查看事件、条件、错误消息。
- logs(见第 3 部分)
kubectl logs my-pod
kubectl logs my-pod --previous- 查看集群/namespace 事件
kubectl get events
kubectl get events -n my-namespace按时间倒序:
kubectl get events -A --sort-by='.lastTimestamp'8.2 kubectl debug(适用支持该命令的版本)#
- debug Pod:创建临时 debug 容器
kubectl debug pod/my-pod -it --image=busybox --target=my-container -- /bin/sh在目标 Pod 上附加一个临时容器,用于调试。
- 创建 ephemeral-container(临时容器)
kubectl debug my-pod -it --image=busybox -- /bin/sh- debug Node:创建宿主机命名空间的临时 Pod(仅某些环境支持)
kubectl debug node/my-node -it --image=busybox- 在本地与 Pod 之间复制文件
kubectl cp ./local-file.txt my-pod:/tmp/local-file.txt
kubectl cp my-pod:/tmp/diagnostic.log ./diagnostic.log多容器 Pod 需按需加 -c my-container;kubectl cp 依赖目标镜像中的归档工具,失败时可改用 kubectl exec 或调试容器。
8.3 top 命令:资源使用情况#
前提:集群已部署 metrics-server。
- 查看 Pod 的 CPU/内存使用
kubectl top pods
kubectl top pods -A
kubectl top pods -n my-namespace- 查看 Node 的资源使用
kubectl top nodes- 持续观察资源使用
watch kubectl top pods适合在发布或排障期间观察短时间内的资源变化。
8.4 label selector / field selector / watch 帮助排查#
- label selector(-l / –selector)
kubectl get pods -l app=myapp
kubectl get svc -l env=prod- field selector(–field-selector)
kubectl get pods --field-selector=status.phase=Running
kubectl get pods -A --field-selector=spec.nodeName=my-node
kubectl get pods -A --field-selector=status.phase=Failed按字段筛选资源。
- –watch / -w:持续观察资源变化
kubectl get pods -w
kubectl get pods -n my-namespace -w- watch + selector 综合使用
kubectl get pods -l app=myapp -w9. 高级用法与技巧#
9.1 label、annotate:给资源打标签、注解#
- 添加/修改标签
kubectl label pod my-pod env=prod
kubectl label deploy my-deploy app=myapp --overwrite- 删除标签
kubectl label pod my-pod env-- 添加注解
kubectl annotate pod my-pod description="my test pod"
kubectl annotate deploy my-deploy release="2024-11-18" --overwrite9.2 使用 jsonpath / custom-columns 高级输出#
- jsonpath 输出示例
kubectl get pods -o jsonpath='{.items[*].metadata.name}'输出当前 namespace 所有 Pod 名称。
kubectl get pods -l app=myapp -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.status.phase}{"\n"}{end}'以“PodName 阶段”形式输出。
kubectl get svc my-svc -o jsonpath='{.spec.clusterIP}'获取 Service 的 ClusterIP。
- custom-columns 输出示例
kubectl get pods -o custom-columns=NAME:.metadata.name,STATUS:.status.phase,NODE:.spec.nodeNamekubectl get nodes -o custom-columns=NAME:.metadata.name,ROLES:.metadata.labels.'kubernetes\.io/role',CPU:.status.capacity.cpu9.3 导出 YAML 模板用于修改#
- 导出资源 YAML 到文件
kubectl get deploy my-deploy -o yaml > my-deploy.yaml
kubectl get svc my-svc -o yaml > my-svc.yaml- 删除多余字段后 apply 到新环境
# 手动编辑 my-deploy.yaml,删除 status 等字段
kubectl apply -f my-deploy.yaml9.4 常用组合命令(与 grep、awk 等)#
- 对 get pods 输出进行过滤
kubectl get pods | grep my-app- 统计某种状态的 Pod 数量
kubectl get pods --no-headers | awk '{print $3}' | sort | uniq -c统计各个状态(Running、Pending 等)的数量。
- 批量删除特定状态的 Pod(慎用)
kubectl get pods --no-headers | grep Evicted | awk '{print $1}' | xargs kubectl delete pod- 使用 xargs 对多个资源执行命令(某些 shell 环境)
kubectl get pods -l app=myapp -o name | xargs kubectl delete10. 小场景示例:排查某个 Pod 启动失败#
假设 Pod 名为 my-pod,namespace 为 my-namespace,现象是 Pod 一直处于 CrashLoopBackOff 或 ContainerCreating。下面给出一条可能的排查命令流程:
- 首先确认 Pod 状态与基本信息
kubectl get pods -n my-namespace
kubectl get pod my-pod -n my-namespace -o wide确认 Pod 是否真的是该 Pod 以及在哪个节点上。
- 查看 Pod 的详细描述信息(重点看 Events)
kubectl describe pod my-pod -n my-namespace- 如果是镜像拉取失败(ImagePullBackOff),会在 Events 中看到。
- 如果是调度问题(节点资源不足、污点等),也会在 Events 中体现。
- 如果 Pod 有容器启动但随即退出(CrashLoopBackOff),查看日志
kubectl logs my-pod -n my-namespace
# 多容器 Pod:
kubectl logs my-pod -c my-container -n my-namespace
# 查看上一实例的日志:
kubectl logs my-pod -c my-container -n my-namespace --previous根据日志确认是否是应用配置错误、连接失败等。
- 如果怀疑配置问题(如 ConfigMap/Secret)
kubectl get configmap -n my-namespace
kubectl get secret -n my-namespace
kubectl get deploy -n my-namespace
kubectl describe deploy my-deploy -n my-namespace确认挂载的 ConfigMap/Secret 是否存在,env/volume 配置是否正确。
- 如果怀疑是节点/资源问题
kubectl describe pod my-pod -n my-namespace
kubectl describe node my-node
kubectl top nodes
kubectl top pods -n my-namespace检查节点是否资源耗尽、是否有 taint、Pod 是否被 OOMKilled 等。
- 使用 kubectl debug(如果支持)进入调试容器
kubectl debug my-pod -n my-namespace -it --image=busybox -- /bin/sh在 Pod 的网络/挂载环境中执行命令测试(如 ping、curl、ls 等)。
- 需要临时修改镜像或环境变量时
kubectl edit deploy my-deploy -n my-namespace
# 或导出-修改-apply
kubectl get deploy my-deploy -n my-namespace -o yaml > my-deploy.yaml
# 编辑后
kubectl apply -f my-deploy.yaml- 修改后观察新 Pod 创建与状态
kubectl get pods -n my-namespace -w通过上述这套命令流程,通常可以较系统地定位 Pod 启动失败的原因。
以上就是一份较为系统的 “kubectl 常用命令大全 / 速查手册”。在日常工作中,建议优先熟练掌握:
- get / describe / logs / exec
- apply / edit / delete / scale / rollout
- label / annotate / jsonpath / -o yaml 等
- top / events / debug / watch 等
基本可以覆盖 80% 以上的日常 Kubernetes 运维与排障场景。