kubernetes Cheatsheet
kubectl 常用命令速查表
kubectl 常用命令一页速查:get/describe/logs/exec 现场调试、scale 与 rollout 更新回滚、context 与 namespace 切换、events 事件筛查,覆盖 Pod CrashLoop 和 ImagePullBackOff 排障主路径。
把 kubectl 排障现场最常用的查询、描述、日志、伸缩和上下文命令整理成一页,CrashLoop 和访问不通时按组往下查。
查询资源 Get
- 列出指定命名空间的 Pod
kubectl get pods -n prod - 额外显示节点和 Pod IP
kubectl get pods -o wide - 列出所有命名空间的 Pod
kubectl get pods -A - 一次查 Service 和 Ingress
kubectl get svc,ingress -n prod - 按时间排序看事件,定位调度/拉镜像失败
kubectl get events --sort-by=.lastTimestamp
描述与诊断 Describe
- 看事件、容器状态、探针,排查 CrashLoop/Pending
kubectl describe pod <pod> -n prod - 查看 Pod 日志
kubectl logs <pod> -n prod - 查看上一次崩溃容器的日志,CrashLoop 必用
kubectl logs <pod> --previous - 多容器 Pod 指定容器日志
kubectl logs <pod> -c <container> - 进入 Pod 容器调试
kubectl exec -it <pod> -- sh
伸缩与更新 Scale & Rollout
- 调整副本数
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 - 删除 Pod,由控制器自动重建
kubectl delete pod <pod>
上下文与配置 Context
- 列出所有集群上下文
kubectl config get-contexts - 切换当前操作的集群,多集群必看
kubectl config use-context <ctx> - 设置默认命名空间,省去每次 -n
kubectl config set-context --current --namespace=prod - 查看 Pod CPU/内存用量,需 metrics-server
kubectl top pod -n prod
容易踩的坑
- 排障顺序:get 看状态 → describe 看事件 → logs 看应用错误,CrashLoop 加 --previous。
- 操作前先 kubectl config get-contexts 确认当前集群,避免在生产集群误操作。
- kubectl top 报错通常是没装 metrics-server,不是命令写错。