kubernetes Cheatsheet

kubectl 常用命令速查表

kubectl 常用命令一页速查:get/describe/logs/exec 现场调试、scale 与 rollout 更新回滚、context 与 namespace 切换、events 事件筛查,覆盖 Pod CrashLoop 和 ImagePullBackOff 排障主路径。

把 kubectl 排障现场最常用的查询、描述、日志、伸缩和上下文命令整理成一页,CrashLoop 和访问不通时按组往下查。

kubectlkubernetespod排障

查询资源 Get

  • 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

  • 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

  • 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

  • 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,不是命令写错。