Pod 终止宽限期¶
在部署重新启动或新的滚动更新期间,当旧的 ReplicaSet Pod 正在终止时,由旧的 AWX Pod 管理(执行或控制)的相应作业可能最终处于错误
状态,因为没有机制将它们转移到新生成的 AWX Pod。为了解决此问题,可以在 AWX 规范中设置termination_grace_period_seconds
,它执行以下操作
-
它将 AWX 部署的相应
terminationGracePeriodSeconds
Pod 规范设置为提供的 value- 宽限期是在向 Pod 中运行的进程发送终止信号后以及进程使用 kill 信号强制停止之间的时间(以秒为单位)。
-
它添加了一个
PreStop
钩子脚本,该脚本将使 AWX Pod 保持终止状态,直到它完成,最长可达terminationGracePeriodSeconds
。- 此宽限期适用于 PreStop 钩子执行和容器正常停止所需的总时间。
- 虽然钩子脚本只是等待直到相应的 AWX Pod(实例)不再有任何受管作业,在这种情况下,它将成功完成并将整个 Pod 终止过程交给正常的 AWX 进程。
用户可能希望将此值设置为他们可以接受等待受影响的作业完成的最长时间。请记住,此类正在完成的作业可能会在以下情况下增加 Pod 终止时间:kubectl rollout restart
、运营商执行的 AWX 升级或 KubernetesAPI 发起的驱逐。
名称 | 描述 | 默认值 |
---|---|---|
termination_grace_period_seconds | Pod 需要优雅终止的可选持续时间(以秒为单位) | 未设置 |