【问题标题】:Ensuring graceful shutdown of a pod without ordinal pod ids确保在没有序号 pod id 的情况下正常关闭 pod
【发布时间】:2022-08-11 16:25:51
【问题描述】:
  1. 当 Pod 处于重启循环中时,它是否有资格在成功重启之前在缩减期间被移除? (没有状态集)

  2. 此外,如果 pod 容器在缩小该 pod 时以非零退出代码退出,会发生什么情况?它会重新启动并再次关闭还是只是删除? (有或没有状态集)

  3. 我可以确保在不使用 statefulset 的情况下始终正常关闭 pod(因为我想要生命周期唯一的 ID,而不是不同的可重用序号 ID)?

标签: kubernetes stateful graceful-shutdown


【解决方案1】:

我是否可以确保在不使用状态集的情况下始终正常关闭 pod(因为我想要生命周期唯一的 UID,而不是不同的可重用序号 id)? 作为 Job 或 Cronjob 资源一部分的 Pod 将一直运行,直到 Pod 中的所有容器都完成。但是,Linkerd 代理容器会持续运行,直到收到 TERM 信号。由于 Kubernetes 没有为代理提供知道 Cronjob 何时完成的方法,默认情况下,即使主容器完成,已网格化的 Job 和 Cronjob pod 仍将继续运行。 这意味着我们可以停止 graecfull 关机

您可以通过三个步骤实现此目的:

为除您要删除的 pod 之外的所有 pod 添加标签。因为 Pod 的标签仍然满足 Replica Set 的选择器,所以不会创建新的 Pod。

更新副本集:将新标签添加到选择器并自动减少副本集的副本。您要删除的 pod 不会被 Replica Set 选中,因为它没有新标签。

删除选定的 pod。

更多信息refer 这些documents

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-02
    • 1970-01-01
    • 1970-01-01
    • 2019-12-01
    • 1970-01-01
    • 2018-10-16
    • 1970-01-01
    相关资源
    最近更新 更多