kubectl 命令速查表 - Kubernetes 常用命令大全
kubectl 排障最常用的命令都在这里了,按查询、诊断、伸缩、上下文分组整理,CrashLoop 和访问不通时按组往下查。
返回 容器与编排查询资源 Get 5
kubectl get pods -n prod列出指定命名空间的 Pod
kubectl get pods -o wide额外显示节点和 Pod IP
kubectl get pods -A列出所有命名空间的 Pod
kubectl get svc,ingress -n prod一次查 Service 和 Ingress
kubectl get events --sort-by=.lastTimestamp按时间排序看事件,定位调度/拉镜像失败
描述与诊断 Describe 5
kubectl describe pod <pod> -n prod看事件、容器状态、探针,排查 CrashLoop/Pending
kubectl logs <pod> -n prod查看 Pod 日志
kubectl logs <pod> --previous查看上一次崩溃容器的日志,CrashLoop 必用
kubectl logs <pod> -c <container>多容器 Pod 指定容器日志
kubectl exec -it <pod> -- sh进入 Pod 容器调试
伸缩与更新 Scale & Rollout 5
kubectl scale deploy/app --replicas=3调整副本数
kubectl rollout status deploy/app查看滚动更新进度
kubectl rollout undo deploy/app回滚到上一个版本
kubectl set image deploy/app c=app:1.1更新镜像触发滚动更新
kubectl delete pod <pod>删除 Pod,由控制器自动重建
上下文与配置 Context 4
kubectl config get-contexts列出所有集群上下文
kubectl config use-context <ctx>切换当前操作的集群,多集群必看
kubectl config set-context --current --namespace=prod设置默认命名空间,省去每次 -n
kubectl top pod -n prod查看 Pod CPU/内存用量,需 metrics-server
常见问题 FAQ 5
Q: 如何查看所有命名空间的 Pod?A: kubectl get pods -A 或 kubectl get pods --all-namespaces,可查看集群中所有命名空间的 Pod。
Q: kubectl apply 和 kubectl create 有什么区别?A: kubectl apply 是声明式(推荐),支持创建和更新;kubectl create 是命令式,重复执行会报错已存在。
Q: 如何查看 Pod 的日志?A: kubectl logs <pod> -n <namespace>,加 -f 实时跟踪,--previous 查看上一次崩溃容器的日志。
Q: 如何进入 Pod 的容器?A: kubectl exec -it <pod> -- sh(或 /bin/bash),多容器 Pod 用 -c <container> 指定容器。
Q: 如何查看集群节点状态?A: kubectl get nodes 查看所有节点状态,kubectl describe node <name> 查看节点详细信息。
💡 提示
- 排障顺序:get 看状态 → describe 看事件 → logs 看应用错误,CrashLoop 加 --previous。
- 操作前先 kubectl config get-contexts 确认当前集群,避免在生产集群误操作。
- kubectl top 报错通常是没装 metrics-server,不是命令写错。
由 LaoHand 维护
公开更新于 2026年7月21日,内容持续校对官方文档。