kubectl 常用命令速查表
把 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
💡 提示
- 排障顺序:get 看状态 → describe 看事件 → logs 看应用错误,CrashLoop 加 --previous。
- 操作前先 kubectl config get-contexts 确认当前集群,避免在生产集群误操作。
- kubectl top 报错通常是没装 metrics-server,不是命令写错。