首页 > 解决方案 > 在终止 kubernetes 中的 pod 之前等待进程完成

问题描述

我正在寻找一种解决方案,其中 pod 内的运行进程在删除之前完成。此外,停止服务以向终止的 pod 发送新请求。但我有点困惑

terminationGracePeriodSeconds 

lifecycle:
        preStop:
          exec:
            command:
              - "sleep"
              - "60"

标签: kubernetes

解决方案


终止宽限期和 preStop 挂钩是两个不同的东西。宽限期是 kubelet 允许您正常关闭的时间(通过处理 TERM 信号)。preStop 钩子可用于在 pod 关闭之前运行命令。如果 preStop 钩子超过了宽限期,则会再给它 2 秒的时间来终止。

也就是说,我不会过分依赖优雅的关机。豆荚生活在寒冷和敌对的环境中,随时都会被杀死,你应该为此做好准备。

有关 pod 终止的更多信息:https ://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-termination


推荐阅读