【发布时间】:2021-08-13 13:07:13
【问题描述】:
如果 Kubernetes 节点因电源故障而被杀死,运行在 Kubernetes 节点上的 pod 是否会重新调度。如果被重新安排并且如果该节点出现,那么在该节点上运行的 pod 会发生什么?
【问题讨论】:
标签: kubernetes
如果 Kubernetes 节点因电源故障而被杀死,运行在 Kubernetes 节点上的 pod 是否会重新调度。如果被重新安排并且如果该节点出现,那么在该节点上运行的 pod 会发生什么?
【问题讨论】:
标签: kubernetes
警告:此答案基于您不创建临时 Pod 而是通过 Deployment、StatefulSet、DaemonSet 或任何其他控制器管理您的 Pod 的假设。如果它是您手动创建的临时 pod - 它不会被重新安排。
如果 Kubernetes 节点因电源故障而被杀死,运行在 Kubernetes 节点上的 pod 是否会重新调度。
是否以及何时重新安排取决于其 node.kubernetes.io/not-ready 和 node.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 会清理所有需要的东西。
【讨论】: