这篇文章主要讲解了“Pod退出的流程是怎样的”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Pod退出的流程是怎样的”吧!
成都创新互联公司成立于2013年,我们提供高端成都网站建设、成都网站制作、成都网站设计公司、网站定制、全网营销推广、微信小程序、微信公众号开发、营销推广服务,提供专业营销思路、内容策划、视觉设计、程序开发来完成项目落地,为玻璃贴膜企业提供源源不断的流量和订单咨询。
用户删除 Pod。
2.1. Pod 进入 Terminating 状态。
2.2. 与此同时,K8s 会将 Pod 从对应的 service 上摘除。
2.3. 与此同时,针对有 PreStop Hook 的容器,kubelet 会调用每个容器的 PreStop Hook,假如 PreStop Hook 的运行时间超出了 grace period(在 Pod 的 .spec.terminationGracePeriodSeconds 字段中定义),kubelet 会发送 SIGTERM 并再等 2 秒。
2.4. 与此同时,针对没有 PreStop Hook 的容器,kubelet 发送 SIGTERM。
grace period 超出之后,kubelet 发送 SIGKILL 干掉尚未退出的容器。
因此,K8s 的 Pod 终止流程中还有一个“最多可以容忍的时间”,即 grace period(在 Pod 的 .spec.terminationGracePeriodSeconds 字段中定义),这个值默认是 30 秒,我们在执行 kubectl delete 的时候也可通过 --grace-period 参数显式指定一个优雅退出时间来覆盖 Pod 中的配置。而当 grace period 超出之后,K8s 就只能选择 SIGKILL 强制干掉 Pod 了。
---------------------
k8s版本 1.11.2
terminationGracePeriodSeconds :300
lifecycle:
preStop:
exec:
command: ["/bin/bash", "-c", "sleep 300"]
设置相同效果是:30s
设置不同以terminationGracePeriodSeconds > preStop sleep 。
以 preStop sleep为准
=================对外提供服务的============================
terminationGracePeriodSeconds =360
preStop sleep=300
==================task任务类型的=================
terminationGracePeriodSeconds =3
preStop sleep=2
感谢各位的阅读,以上就是“Pod退出的流程是怎样的”的内容了,经过本文的学习后,相信大家对Pod退出的流程是怎样的这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!