防止Kubernetes在节点发生故障时重新调度数百个Pod

时间:2018-08-09 09:45:07

标签: kubernetes

我正在使用具有2个工作人员的Kubernetes集群。我大约有100个部署。他们每个人都有2到4个副本(所以每个工人我大约有300个豆荚,是的,豆荚很多)。

我的问题是: 当工作人员宕机时,Kubernetes会尝试在剩余的活动节点上重新部署每个发生故障的Pod。因此,在操作结束时,我有: -剩下的有600个吊舱的活动工人节点 -主节点的平均负载为熔岩,因为它们重新计划了300个Pod -当出现故障的工作节点恢复活动时,他为空,因为每个吊舱都在另一个工作节点上。

我发现的唯一解决方案: 为每个应用程序进行2个部署(每个工作人员一个),以防止重新安排300个pod的时间。

请问有更好的解决方案吗?

1 个答案:

答案 0 :(得分:1)

是的,对于2个Pod部署,您可以采用的一种方法是使用Pod Anti-Affinity来表示来自给定部署的Pod无法在同一服务器上共存,这将导致最多1个Pod服务器开始部署,其余部署处于“待处理”状态,直到新节点可用为止。