pod资源
-
pod的生命周期
pod对象从创建开始至终止退出中间的时间称为其生命周期。
kubernetes为pod资源严格定位了五种相位。1. peding:API server 创建了pod资源对象并已存入etcd中,但它尚未被调度完成,或仍处于仓库镜像下载中。 2. Running: pod已被调度至某节点,所有容器都已经被kubelet创建完成,且至少有一个容器处于启动、重启或运行过程中。 3. Successed: pod中的所有容器已经成功终止并不会再启动。 4. Failed: 所有容器都已经终止,但至少有一个容器终止失败,即容器是已非0状态码退出或已经被系统终止。 5. Unknown: API server无法正常获取到pod对象的状态信息,通常是由于其无法与所在工作节点的kubelet通信所致。
-
pod对象生命周期运行步骤如下:
(1) 在启动包括初始化容器在内的人和容器之前先创建pause基础容器,它初始化pod环境并为后续加入的容器提供共享的名称空间。 (2) 按顺序以串行方式运行用户定义的各个初始化容器进行pod环境初始化;任何一个初始化容器运行失败都将导致pod创建失败,并按其restartPolicy的策略进行处理,默认为重启。 (3) 待所有初始化容器成功完成后,启动应用程序容器,多容器pod环境中,此步骤会并行启动所有应用容器,例如主容器和Sidecar容器,它们各自按照其定义展开其生命周期,本步骤及后面的几个步骤将以容主容器为例进行说明,容器启动的那一刻会同时运行主容器上定义的PostStart钩子事件,该步骤失败将导致相关容器被重启。 (4)运行容器启动健康状态监测(startupProbe),判定容器是否启动成功,该步骤失败,同样参照restartPolicy定义的策略进行处理,未定义时,默认状态为Success。 (5) 容器启动成功后,定期进行状态监测(liveness)和就绪状态监测(readliness),存活状态监测失败将导致容器重启,而就绪状态监测失败会使该容器从其所属的Service对象的可用端点列表移除。 (6) 终止pod对象时,先运行prestop钩子事件,并在宽限期结束后终止主容器,宽限期默认为30秒。
-
pod创建过程
(1)用户通过kubectl或其它api客户端提交pod spec给API server。 (2)API server尝试将pod对象的相关信息存入etcd中,待写入操作执行完成,APi server即会返回确认信息至客户端 (3)Scheduler 通过watcher监测到API server创建了新的pod对象,于是为该pod对象挑选一个工作节点并将结果信息返回至API server。 (4)调度结果信息由API server更新至etcd存储系统,并同步给Scheduler。 (5)相应节点的kubelet监测到由调度器绑定于本节点的pod后会读取其配置信息,并将本地容器运行时创建相应的容器启动pod对象后将结果返回存至API server。 (6)API server将kubelet发来的pod状态信息存入etcd系统,并将确认信息发送至相应的kubelet。
-
pod创建过程删除过程
(1)用户发送删除pod对象的命令。 (2)API服务器中的pod对象会随着时间的推移而更新,在宽限期内(默认为30秒)。pod会被视为dead。 (3)将pod标记为Terminating。 (4)(与3同步进行)kublet在监控到pod对象转未Terminating状态的同时启动pod关闭过程。 (5)(与3同步进行)端点控制器监控到pod对象的关闭行为时将其从所有匹配到此端点的service资源的端点列表中删除。 (6)如果当前pod对象定义了prestop钩子句柄,再其标记为Terminating后即会以同步方式启动执行,若宽限期结束后,prestop仍未执行完,则重新执行并额外获取一个时长未2秒的小宽限期。 (7)pod对象中的容器进程收到TERM信号。 (8)宽限期结束后,若存在任何一个仍在运行的进程,pod对象即会收到SIGKILL信号。 (9)kubelet请求API server将次pod资源的宽限期设置为0从而完成删除操作,它变得对用户不在可见。
本文作者:没有猫的猫奴
本文链接:https://www.cnblogs.com/cat1/p/15906588.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步