我们仍处于设计阶段,要从单片架构转向使用Docker和Kubernetes的微服务。我们对Docker和Kubernetis进行了一些基础研究,并获得了一些了解。考虑到我们将K8s集群创建到多个Linux主机中,我们还有几个悬而未决的问题(由于某些原因,我们目前无法考虑Cloud)。
考虑一个场景,其中我们的K8s集群跨越多个Linux主机(5个以上)。
1)如果一个linux worker节点崩溃了,一旦我们将其恢复, 预先启用kubelet作为systemctl的一部分就足以提出所需的K8s作业,以便再次被主服务器检测。
2)我相信一旦工作节点崩溃(X个Pod),在Pod逐出超时主机将把这些X个Pod重新安排到其他一些健康的节点中。节点启动后,它将不会作为已调度到其他节点的主节点进行X Pod的任何部署,但将准备好接受来自主节点的新请求。 这是正确的吗?
答案 0 :(得分:1)
是,应该是默认行为,请检查您的群集部署工具。
是的,Kubernetes会自动为部署处理这些事情,对于StatefulSets(具有本地卷)和Daemonsets来说,事情可能是特定于节点的,Kubernetes将等待该节点返回。
更好地创建测试环境并查看/测试故障场景