|NO.Z.00009|——————————|CloudNative|——|KuberNetes&书签.V09|——|面试题库.V02|Pod|

二、kubernetes.pod生命周期
### --- pod生命周期:Pod创建:

~~~     API Server 在接收到创建pod的请求之后,会根据用户提交的参数值来创建一个运行时的pod对象。
~~~     根据 API Server 请求的上下文的元数据来验证两者的 namespace 是否匹配,如果不匹配则创建失败。
~~~     Namespace 匹配成功之后,会向 pod 对象注入一些系统数据,如果 pod 未提供 pod 的名字,则 API Server 会将 pod 的 uid 作为 pod 的名字。
~~~     API Server 接下来会检查 pod 对象的必需字段是否为空,如果为空,创建失败。
~~~     上述准备工作完成之后会将在 etcd 中持久化这个对象,将异步调用返回结果封装成 restful.response,完成结果反馈。
~~~     API Server 创建过程完成,剩下的由 scheduler 和 kubelet 来完成,此时 pod 处于 pending 状态。
~~~     Scheduler选择出最优节点。
~~~     Kubelet启动该Pod。
### --- Pod删除:

~~~     用户发出删除 pod 命令
~~~     将 pod 标记为“Terminating”状态
~~~     监控到 pod 对象为“Terminating”状态的同时启动 pod 关闭过程
~~~     endpoints 控制器监控到 pod 对象关闭,将pod与service匹配的 endpoints 列表中删除
~~~     Pod执行PreStop定义的内容
~~~     宽限期(默认30秒)结束之后,若存在任何一个运行的进程,pod 会收到 SIGKILL 信号
~~~     Kubelet 请求 API Server 将此 Pod 资源宽限期设置为0从而完成删除操作

 
 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on 2022-03-28 15:16  yanqi_vip  阅读(15)  评论(0)    收藏  举报

导航