Kubernetes

K8s 发布故障排查

·3 分钟阅读·928 字

K8s 发布过程中常见故障排查:Pod 卡住、流量不切、Endpoint 不更新、kube-proxy 异常

📋 目录

K8s 发布故障排查

1. 📖 现象汇总

  1. Deployment 滚动停滞,新 Pod 起了但旧 Pod 不删除
  2. 新 Pod 就绪,但 Endpoint 列表没有新 IP,旧 IP 还在
  3. kube-proxy 规则没刷新,流量仍旧全打旧 Pod
  4. 反复创建销毁 Pod、发布卡死

2. ⚡ 分层排查顺序

Pod 就绪 → Endpoint → kube-proxy → 探针配置 → 发布参数

2.1. 第一层:Pod 是否真正 Ready

kubectl get pod -n <ns>
kubectl describe pod <new-pod>

常见异常:

  • readinessProbe 失败(应用启动慢、健康检查路径错误)
  • 资源不足(CPU/Memory 限额不够)
  • 镜像拉取失败(ImagePullBackOff、ErrImagePull)

2.2. 第二层:Endpoint 是否更新

kubectl get ep <svc-name>
kubectl describe ep <svc-name>

常见异常:

  • Pod 未 Ready → Endpoint 不加入
  • Service selector 与 Pod label 不匹配
  • Endpoint 控制器异常

2.3. 第三层:kube-proxy 规则

## 🔧 iptables 模式
iptables-save | grep <svc-name>

## 🔧 IPVS 模式
ipvsadm -Ln | grep <svc-cluster-ip>

常见异常:

  • kube-proxy Pod 异常
  • iptables/IPVS 规则未刷新
  • 节点内核防火墙拦截

2.4. 第四层:探针与参数配置

  • readinessProbe 阈值过小导致 Pod 频繁进出 Ready
  • maxSurge/maxUnavailable 配置不当导致滚动停滞
  • PodDisruptionBudget(PDB)阻止驱逐

关联文档

Yanche Blog

记录云原生、Linux、数据库等技术领域的学习心得,以及日常生活的思考与感悟。

© 2026 Yanche Blog. All rights reserved.

Powered by Astro