首页 > 解决方案 > linux 主机重启后 Kubernetes 集群恢复

问题描述

我们仍处于从单体架构转向使用 Docker 和 Kubernetes 的微服务的设计阶段。我们对 Docker 和 Kubernetes 做了一些基础研究,得到了一些了解。考虑到我们将创建具有多个 Linux 主机的 K8s 集群(由于某种原因,我们现在不能考虑云),我们仍然有几个悬而未决的问题。

考虑一个场景,我们的 K8s 集群跨越多个 linux 主机 (5+)。

1)如果其中一个 linux 工作节点崩溃并且一旦我们将其恢复,是否提前启用 kubelet 作为 systemctl 的一部分就足以启动所需的 K8s 作业,以便再次被 master 检测到?

2)我相信一旦工作节点崩溃(X pod),在 pod eviction 超时后,master 会将这些 X pod 重新安排到其他一些健康的节点中。一旦节点启动,它不会将 X pod 部署为已经安排到其他节点的主节点,但会准备好接受来自主节点的新请求。

这个对吗 ?

标签: kuberneteskubernetes-ingress

解决方案


  1. 是的,应该是默认行为,请检查您的集群部署工具。

  2. 是的,Kubernetes 会自动为部署处理这些事情。对于 StatefulSets(带有本地卷)和 DaemonSets,事情可以是特定于节点的,Kubernetes 将等待节点返回。

最好创建一个测试环境并查看/测试失败场景


推荐阅读