开始
是否有 Pod 处于
PENDING 状态?
?
YES
NO
集群资
不足?
?
NO
YES
能否看到应用的
日志?
?
YES
NO
就绪探针是否失
败?
?
YES
NO
容器太
死掉?
?
YES
NO
增加集群资源
修复应用的问题
是否达到了
ResourceQuota
的限制?
?
YES
NO
容器暴露的端口是
否正确,并监听
0.0.0.0 ?
?
YES
NO
Pod 的状态
RunContainerError?
?
NO
YES
Pod 的状态
CrashLoopBackOff?
?
NO
YES
是否忘记了
Dockerfile 中的
CMD 指令?
?
YES
NO
是否检查过日志并
修复崩溃的应用?
?
NO
YES
是否有处于
Running 状
态的容器?
?
NO
YES
Pod 是否频繁重启?
在 Running 和
CrashLoopBackoff
之间循环?
?
YES
NO
Pod 的状态是
I
m
agePullBackOff?
?
NO
YES
镜像名
是否正
确?
?
NO
NO
YES
镜像
T
ag 是否有
效
?是否
存
在?
?
NO
NO
YES
是否
从私
有
镜像
仓库拉取镜像
?
?
NO
YES
NO
放宽
ResourceQuota
限制
是否
挂载
了状态
是 PENDING 的
Persistent
V
olu
m
eClai
m
?
?
NO
YES
修复
Persistent
V
olu
m
e
Clai
m
配置从私
有
仓库拉取
镜像
CRI
或
K
u
b
elet
故障
修复就绪探针的问题
修复应用
程序
应
该
监听 0.0.0.0
更新
containerPort
。
Pod
运行
正
常
未知
状态
未知
状态
修复
T
ag
修复
镜像名
node
-
lifec
y
cle
故障
修复
活性
探针
未知
状态
修复 Dockerfile
修复崩溃的应用
可
卷挂载
有问题
咨询
StackO
v
erflo
w
所
有 Pod 处于
R
U
NNING 状态?
?
NO
YES
所
有 Pod 处于
RE
A
DY 状态?
?
NO
YES
~$ kubectl get pods
~$ kubectl logs <pod-name>
~$ kubectl logs <pod-name> --previous
~$ kubectl describe pod <pod-name>
~$ kubectl describe pod <pod-name>
能否
访
应用?
?
NO
YES
~$ kubectl port-forward <pod-name> 8080:<pod-port>
~$ kubectl describe pod <pod-name>
Pod 是否有
分
配
节点
?
?
YES
NO
K
u
b
elet
故障
调度
器
故障
~$ kubectl get pods -o wide
能否
访
应用?
?
NO
YES
~$ kubectl port-forward service/<service-name> 8080:<service-port>
修复 Ser
v
ice
targetPort 和
containerPort
Ser
v
ice
上
的
targetPort 是否
与
Pod 中的
containerPort
匹
配
?
?
NO
YES
K
u
b
e Pro
x
y
故障
修复 Ser
v
ice
选择
器
。
必须
匹
配
Pod
标
签
。
Ser
v
ic
运行
正
常
能否看到端
点
列
表
?
?
NO
YES
标签选择
器是否
与
正确的 Pod
标签
匹
配
?
?
NO
YES
Pod 是否
分
配
的 IP
地址
?
?
NO
YES
~$ kubectl describe service <service-name>
控
制器
管理
故障
K
u
b
elet
故障
修复Ingress 的
ser
v
ice.na
m
e 和
ser
v
ice.port.nu
mb
er
Ingress
运行
正
常
能否看到
后
列表
?
?
NO
YES
ser
v
iceNa
m
e 和
ser
v
icePort 是否
与
Ser
v
ice
匹
配
?
?
NO
YES
~$ kubectl describe ingress <ingress-name>
能否
访
问应用?
?
NO
YES
~$ kubectl port-forward <ingress-pod-name> 8080:<ingress-port>
Ingress
控
制器
故障。
请
查
阅
Ingress 的
文档
。
结束
该
应用应
该可
以
正
常
工作
。
能否
从
公
网
访
问?
?
NO
YES
问题
很
可
能
与
基础设
施以及
集群的暴露
方
式
有
关
。
https://learnk8s.io/troubleshooting-deployments