【Kubernetes】Pod状态与故障排查

目录

一、Pod启动阶段(相位 phase)

二、pod状态

1.pod状态

2.pod异常场景

1)什么情况下会导致pod状态为pending?

2)如何删除 Unknown 状态的 Pod ?

3.Worker Node 节点宕机后 Pod 的驱逐流程

三、K8S常见的排障手段

四、Pod故障排除步骤


一、Pod启动阶段(相位 phase)

pod创建完之后,一直到持久运行起来,中间有很多步骤,也就有很多出错的可能,因此会有很多不同的状态。

Pod的启动过程如下:
0)controller-manager管理的控制器创建Pod资源
1)scheduler调度器根据调度算法选择最适合的node节点调度Pod
2)kubelet拉取镜像
3)kubelet挂载存储卷
4)kubelet创建并运行容器
5)kubelet根据容器探针的探测结果设置Pod状态
 

二、pod状态

1.pod状态

●Pending:表示APIServer创建了Pod资源对象并已经存入了etcd中,但是它并未被调度完成(比如还没有调度到某台node上),或者仍然处于从仓库下载镜像的过程中。

●Running:Pod已经被调度到某节点之上,并且Pod中所有容器都已经被kubelet创建。至少有一个容器正在运行,或者正处于启动或者重启状态(也就是说Running状态下的Pod不一定能被正常访问)。

●Succeeded:有些pod不是长久运行的,比如job、cronjob,一段时间后Pod中的所有容器都被成功终止,并且不会再重启。需要反馈任务执行的结果。

●Failed:Pod中的所有容器都已终止了,并且至少有一个容器是因为失败终止。也就是说,容器以非0状态退出或者被系统终止,比如 command 写的有问题。

●Unknown:表示无法读取 Pod 状态,通常是 kube-controller-manager 无法与 Pod 通信。Pod 所在的 Node 出了问题或失联,从而导致 Pod 的状态为 Unknown

注意:Pod生命周期起始于Pending阶段,如果至少有一个容器正常运行,则进入Running阶段,之后取决于Pod是否有容器以失败状态退出而进

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值