kubernetes Roadmap

Kubernetes 排障专题

Kubernetes 排障专题:聚合 kubectl 命令、Pod Pending 与 CrashLoopBackOff、ImagePullBackOff、Service 无 endpoints、Ingress 502、探针失败重启和 Prometheus target down 等 K8s 现场问题的完整排障路径。

Kubernetes 排障从 kubectl get/describe/logs/events 四板斧进入,再按调度、镜像拉取、探针配置、Service/Ingress 网络链路和 ConfigMap/Secret 配置分层定位,避免在错误层面反复重建 Pod。

kuberneteskubectlpodingressprometheusk8s
排障 / 命令8
精选入口4
工具 / 速查1
最近更新2026-07-01

Troubleshooting Path

推荐排障路线图

提交问题 →
  1. 01

    先看资源状态和事件

    kubectl get/describe/events 是入口,先确认 Pending、CrashLoop、ImagePullBackOff 等状态。

  2. 02

    再看容器日志和上次崩溃

    CrashLoop 必看 logs --previous,结合退出码判断是应用、探针还是配置问题。

  3. 03

    继续检查 Service / Ingress 链路

    按 Pod IP、Endpoints、Service、Ingress、Controller 日志逐层验证。

  4. 04

    最后核对资源、镜像和配置

    确认 requests/limits、imagePullSecrets、ConfigMap、Secret 和探针参数。

Before You Change

执行前检查

  • 操作前确认 kubectl context 和 namespace
  • 删除 Pod 前确认由控制器托管
  • 修改探针前保留原始 YAML
  • 排查网络时同时看 endpoints 和 ingress controller 日志

Start Here

优先阅读

Latest Updates

最近更新

All Runbooks

全部相关内容

排障

Kubernetes Ingress 404/502 排查流程

Kubernetes Ingress 返回 404 或 502 时,用 curl -H Host 精确复现路由,再 kubectl describe ingress 检查 rules/pathType/IngressClass,404 多为 host 或 path 没命中,502 多为 Service Endpoints 为空或 targetPort、Pod readiness 有问题。

kubernetesingressnginx
排障

Kubernetes ImagePullBackOff 排查流程

Kubernetes Pod 卡在 ImagePullBackOff/ErrImagePull 时,kubectl describe pod 读取 Events 里 Failed to pull image 的完整错误,逐个排查镜像 tag 是否存在、私有仓库 imagePullSecrets 是否引用、节点到 Registry 网络、以及多架构镜像 manifest 是否匹配当前节点。

kubernetesimagepullbackoffregistry
排障

Kubernetes Pod CrashLoopBackOff 排查流程

Kubernetes Pod 陷入 CrashLoopBackOff、Back-off restarting failed container 时,用 kubectl logs --previous 读取上一轮崩溃日志,kubectl describe pod 看 Last State/Exit Code/OOMKilled,逐个排查应用启动错误、liveness 探针误杀、ConfigMap/Secret 挂载缺失和内存限制。

kubernetespodcrashloopbackoff
排障

Kubernetes Service 访问不通排查

Kubernetes Service 通过 ClusterIP/NodePort 访问不通时,先 kubectl get endpoints 看是否为空——空则是 selector 与 Pod labels 不匹配,有值再核对 targetPort、Pod readiness 和 NetworkPolicy,最后用 busybox nslookup 验证集群 DNS 是否解析 svc.cluster.local。

kubernetesservicedns
排障

Prometheus Target Down 排查流程

Prometheus Targets 页面显示 down、context deadline exceeded 或 connection refused 时,先看 Last Error,从 Prometheus 所在网络位置 curl 目标 /metrics,Kubernetes 场景检查 ServiceMonitor 的 selector 与 namespaceSelector 是否匹配 Service labels 和端口名。

prometheusmonitoringmetrics
命令

kubectl 排查 Pod 状态常用命令

kubectl 排查 Pod 异常的核心命令组合,kubectl get pod 看状态与重启次数、describe pod 看调度/拉镜像/探针/OOM 事件、logs --tail=200 读近期日志,CrashLoopBackOff 场景加 --previous 读上一轮崩溃日志,exec -it 进容器复现问题。

kubectlkubernetespod
命令

kubectl 排查 Service 和 Ingress 命令

kubectl 排查 Kubernetes Service 与 Ingress 路由不通的常用命令,kubectl get svc,endpoints 看 endpoints 是否为空判断 selector 是否匹配,describe ingress 看 rules 和 IngressClass,用 curl -H Host 复现入口路由并核对 targetPort 与容器端口。

kubectlserviceingress
命令

Prometheus 配置检查和 Target 排查命令

Prometheus 配置校验和 target 排查的常用命令,promtool check config 排除 prometheus.yml 语法错误,从 Prometheus 所在网络位置 curl target /metrics 复现抓取,Kubernetes 场景 kubectl describe servicemonitor 检查 selector 和端口名匹配。

prometheuspromtoolmetrics