【问题标题】:Does PODS get rescheduled if Kubernetes node gets killed due to power failure?如果 Kubernetes 节点因电源故障而被杀死,PODS 是否会重新调度?
【发布时间】:2021-08-13 13:07:13
【问题描述】:

如果 Kubernetes 节点因电源故障而被杀死,运行在 Kubernetes 节点上的 pod 是否会重新调度。如果被重新安排并且如果该节点出现,那么在该节点上运行的 pod 会发生什么?

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    警告:此答案基于您不创建临时 Pod 而是通过 Deployment、StatefulSet、DaemonSet 或任何其他控制器管理您的 Pod 的假设。如果它是您手动创建的临时 pod - 它不会被重新安排。

    如果 Kubernetes 节点因电源故障而被杀死,运行在 Kubernetes 节点上的 pod 是否会重新调度。

    是否以及何时重新安排取决于其 node.kubernetes.io/not-readynode.kubernetes.io/unreachable 容忍度。

    对于当前稳定的 kubernetes,以下是默认值:

      tolerations:
        - key: node.kubernetes.io/not-ready
          operator: Exists
          effect: NoExecute
          tolerationSeconds: 300
        - key: node.kubernetes.io/unreachable
          operator: Exists
          effect: NoExecute
          tolerationSeconds: 300
    

    因此,使用这些默认值 - 死节点上的 pod 将在 300 秒(5 分钟)后重新调度。

    如果被重新安排并且如果该节点出现,那么在该节点上运行的 pod 会发生什么情况?

    如果一个节点重新启动 - 那么 Pod 将不会在下次启动时启动,并且 kubelet 会清理所有需要的东西。

    【讨论】:

    • 参见 Kubernetes 文档中对Disruptions 的进一步讨论; “节点断电”在该页面的语言中是“非自愿中断”。
    猜你喜欢
    • 1970-01-01
    • 2021-05-27
    • 2018-03-31
    • 1970-01-01
    • 1970-01-01
    • 2019-11-12
    • 1970-01-01
    • 2020-09-11
    • 2016-01-27
    相关资源
    最近更新 更多