Pod状态处于notReady的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pod状态处于notReady的问题相关的知识,希望对你有一定的参考价值。
参考技术A 看到这个标题,有人会说“扯”,pod的生命周期都没有这个状态。node才有。那么不幸的是本人遇到了...背景是这样的:
有个k8s的Job,里面包含了3个container。其中有一个container只是用来共享文件,分享images里的目录脚本,供其他两个container使用。container拷贝完文件后,它就停止。共享卷用的emptyDir,这个好处就是pod结束,它也销毁。符合我的预期。
但是我在使用过程中,发现如果2个container的任务执行结束了,还有一个处于running的状态,那么pod的状态会处于notReady。原因是,其他两个container虽然状态是completed,但是ready的参数标记为false,导致pod的状态标记为notReady。
后来我把这两个容器放置到了initContainer里面,然后启动完之后,有一个container处于running,整个pod的状态就是正常的。
K8S Node启动后 处于NotReady状态的问题
在kubernetes集群中,每个Node节点都会启动kubelet进程,用来处理Master节点下发到本节点的任务,管理Pod和其中的容器。kubelet会在API Server上注册节点信息,定期向Master汇报节点资源使用情况,并通过cAdvisor监控容器和节点资源。可以把kubelet理解成【Server-Agent】架构中的agent,是Node上的pod管家。
之前Node节点 出现过NotReady的情况,通过重启kubelet得以解决
systemctl restart kubelet
以上是关于Pod状态处于notReady的问题的主要内容,如果未能解决你的问题,请参考以下文章
K8S线上集群排查,实测排查Node节点NotReady异常状态