1, 用户发送删除pod的指令.
2, API-Server服务器中的pod对象会随着时间的推移而更新,在宽限期内 terminationGracePeriodSeconds: 30 ; 默认是30秒, Pod 被视为dead.
3, 将pod标记为Terminating状态。
4,(与第3步同时运行),kubelet 在监控到pod对象转为Terminating状态的同时启动Pod关闭过程。
5, (与第3步同时运行) Endpoint控制器监控到Pod对象的关闭行为时将其从所有匹配到此端点的Service资源的端点列表中移除。
6, 如果当前pod对象定义了preStop勾子句柄,在其标记为Terminating后 即会以同步方式启动执行, 如若宽限期结束后,preStop仍未执行完,则从新执行第2步并额外获取一个时长为2秒的小宽限期。
7,Pod对象中的容器进程收到TERM信号。
8,宽限期结束后,若存在任何一个仍在运行的进程,Pod对象即会收到SIGKILL信号。
9,Kubelet请求API-Server将此Pod资源的宽限期设置为0 从而完成删除操作,它变得对用户不再可见。
--
pod 状态变为Terminating, kubelet启动关闭过程,Endpoint移除pod, 同时执行preStop里的指令。
----
参考:https://blog.csdn.net/weixin_38889300/article/details/120520753
标签:对象,宽限期,Terminating,preStop,退出,pod,Pod From: https://www.cnblogs.com/tian-jun-cs/p/18106481