今天继续给大家介绍Linux运维相关知识,本文主要内容是Pod对象生命周期。
一、Pod对象声明周期概述
Pod对象从被创建到被终止的全部过程被称为Pod对象的生命周期。在这段时间内,Pod对象可能会处于各种状态,并执行一定的操作。Pod容器在创建过程中一定会进行的操作时创建主容器,其余其余可选的操作还有初始化容器、容器启动后钩子函数、容器的存活性探测、容器的就绪性探测以及容器终止前的钩子函数等等。这些操作是否会被执行取决于Pod的定义。
Pod对象的生命周期示意图如下所示:
二、Pod对象运行状态
在Pod中,status字段中有一个PodStatus的对象,该对象中有一个phase字段,该字段反应了Pod所处的状态。不论是手动创建的Pod还是通过Deployment创建的Pod,Pod对象总是处于以下几个阶段之一:
1、挂起(Pending)
此时,API Server已经创建了Pod对象并且存入了ETCD中,但是Pod对象尚未被调度完成,或者其容器的镜像文件仍然在下载中。
2、运行中(Running)
Pod已经被调度到一个节点上,所有的容器都已经被创建。
3、成功(Succeeded)
Pod中的所有容器已经被成功终止,并且不会被重启。
4、失败(Failured)
Pod中的所有容器都停止了,但是有容器是因为执行失败而终止的。即Pod因为非0状态退出或者被系统禁止。
5、未知(Unknown)
API Server无法获取到Pod对象的状态信息,可能是由于无法与运行该Pod的kubelet通信所导致的。
Pod阶段示意图如下所示:
原创不易,转载请说明出处:/weixin_40228200
如果觉得《Kubernetes详解(十四)——Pod对象生命周期》对你有帮助,请点赞、收藏,并留下你的观点哦!