1-4 pod生命周期

1 pod生命周期
pod的创建过程
用户通过kubectl或其他api客户端提交pod spec给api server
api server尝试着将pod对象的相关信息存入etcd中,待写入操作执行完成,api server即会返回确认信息至客户端。
api server开始反映etcd中的状态变化
所有的k8s组件均使用watch机制来跟踪检查api server上的相关变动
kube-scheduler通过其watch觉察到api server创建了新的pod对象但尚未绑定至任何工作节点
kube-scheduler为pod对象挑选一个工作节点并将结果信息更新至api server
调度结果信息由api server更新至etcd,而且api server也开始反映此pod对象的调度结果
pod被调度到目标工作节点上的kubelet尝试在当前节点上调用docker启动容器,并将容器的结果状态回送至api server
api server将pod状态信息存入etcd中
在etcd确认写入操作成功完成后,api server将确认信息发送至相关的kubelet。

https://www.cnblogs.com/ltaodream/p/15317051.html


2 pod状态
一般将pod对象从创建至终的这段时间范围称为pod的生命周期,它主要包含下面的过程:
pod创建过程;
运行初始化容器(init container)过程;
运行主容器(main container):
  -容器启动后钩子(post start)、容器终止前钩子(pre stop)
  -容器的存活性探测(liveness probe)、就绪性探测(readiness probe)
pod终止过程:

在整个生命周期中,Pod会出现5种状态(相位),分别如下:
挂起(Pending):apiserver已经创建了pod资源对象,但它尚未被调度完成或者仍处于下载镜像的过程中
运行中(Running):pod已经被调度至某节点,并且所有容器都已经被kubelet创建完成
成功(Succeeded):pod中的所有容器都已经成功终止并且不会被重启
失败(Failed):所有容器都已经终止,但至少有一个容器终止失败,即容器返回了非0值的退出状态
未知(Unknown):apiserver无法正常获取到pod对象的状态信息,通常由网络通信失败所导致

一般将pod对象从创建至终的这段时间范围称为pod的生命周期,它主要包含下面的过程:
pod创建过程
运行初始化容器(init container)过程
运行主容器(main container)
容器启动后钩子(post start)、容器终止前钩子(pre stop)
容器的存活性探测(liveness probe)、就绪性探测(readiness probe)
pod终止过程

 

posted @ 2022-11-14 23:38  Sky-wings  阅读(20)  评论(0编辑  收藏  举报