Pod 问题诊断
Pod 问题诊断
Pod 一直 Pending
症状:Pod 创建后一直是 Pending 状态
排查步骤:
# 查看 Pod 详情
kubectl describe pod <pod-name>
# 常见原因:
# 1. 资源不足
Events: Warning FailedScheduling insufficient cpu
# 2. 镜像拉取失败
Events: Warning Failed Failed to pull image
# 3. PVC 未绑定
Events: Warning FailedScheduling pod has unbound PersistentVolumeClaims
解决方案:
# 1. 降低资源请求
kubectl edit deployment <name>
# 2. 检查镜像是否存在
docker pull <image>
# 3. 检查 PVC 状态
kubectl get pvc
CrashLoopBackOff
症状:Pod 反复重启
# 查看日志
kubectl logs <pod-name> --previous
# 常见原因:
# 1. 应用启动失败
# 2. 健康检查失败
# 3. OOMKilled(内存不足)
# 4. 应用崩溃
# 解决:
# 1. 修复应用代码
# 2. 调整探针时间
# 3. 增加内存限制
ImagePullBackOff
症状:无法拉取镜像
# 检查镜像名称
kubectl get pod <pod-name> -o jsonpath='{.spec.containers[*].image}'
# 检查 Secret
kubectl get secret
# 解决:
# 1. 修正镜像名称
kubectl set image deployment/myapp myapp=correct-image:tag
# 2. 创建 imagePullSecret
kubectl create secret docker-registry regcred \
--docker-server=<registry> \
--docker-username=<username> \
--docker-password=<password>
小结
✅ Pending 问题排查
✅ CrashLoopBackOff 诊断
✅ ImagePullBackOff 解决
✅ 常用调试命令
下一节:网络问题排查。