【问题标题】:kubernetes preStop gracefull shutdown timeout without hookkubernetes preStop 优雅关闭超时,没有钩子
【发布时间】:2021-07-25 22:19:28
【问题描述】:

我要设置参数

terminationGracePeriodSeconds

到某个值,以便 kubernetes 让我的 pod 完成它们的工作。我知道通常你会将此参数与 http 或 exec 类型的 preStop 钩子结合使用,但如果我只设置此参数而不设置任何钩子呢? Kubernetes 会在移除容器之前等待终止GracePeriodSeconds 吗?

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    terminationGracePeriodSeconds 规范和 preStop 的定义之间没有实际的耦合,您可以根据每个容器的自定义需求定义 pod.Spec.TerminationGracePeriodSeconds 值。

    同时,当您将preStop 钩子配置为以同步串行方式执行以及在terminationGracePeriodSeconds 包括 preStop 钩子执行时间。

    例如,如果您将 30(秒)指定为 terminationGracePeriodSeconds 值并且 preStop 挂钩需要 25 秒才能终止,那么容器在被Kubernetes 经理。

    【讨论】:

    • 存在某种耦合——如果你配置了一个钩子,并且它在 TerminationGracePeriodSeconds 之前完成,那么 kubernetes 会更早地杀死 pod。如果你的脚本更长,它会在终止GracePeriodSeconds 秒后杀死它。但无论如何,我认为你对它们没有耦合是正确的,因为 SIGTERM 是优雅的,在 kubernetes 发送 SIGKILL 之后。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-31
    • 2022-07-12
    • 2021-09-02
    • 1970-01-01
    • 1970-01-01
    • 2023-01-23
    相关资源
    最近更新 更多