将Worker节点返回到群集后重新分配负载

时间:2018-05-14 07:52:58

标签: kubernetes

我有一个包含5个工作节点的集群,然后我关闭其中一个工作人员,正在其中执行的pod被分发到其他节点。

现在我再次启动工作节点,但是不再重新分配pod,所以我有一个节点几乎是免费的。

有没有办法强制kubernetes将负载重新分配给“new”工作节点?

谢谢。

4 个答案:

答案 0 :(得分:2)

我不相信有一个内置机制来“负载平衡”群集。 随着时间的推移,系统将自行恢复正常。

如果要触发一些重新分发,可以扩展可以并行运行的部署,然后再将其缩小。其他你可以重新发布。

答案 1 :(得分:1)

您无法将吊舱从一个节点移动到另一个节点而不会将其删除,因此您可以继续杀死吊舱(如果没有影响)。很可能他们将被安排到自由节点。

有一些方法可以配置关联,但是如果你再次关闭一个节点,你会发现自己处于同样的情况,所以它无济于事。

答案 2 :(得分:1)

如@rln所述,向下或向上缩放可触发重新分配。如果您使用的是kubectl,这些是命令。

按比例缩小: kubectl scale --replicas=<SIZE LESS THAN YOUR CURRENT DEPLOYMENT> deployment/<DEPLOYMENT_NAME> -n <NAMESPACE>

等待豆荚终止。

后退比例:kubectl scale --replicas=<ORIGINAL DESIRED DEPLOYMENT SIZE> deployment/<DEPLOYMENT_NAME> -n <NAMESPACE>

答案 3 :(得分:0)

您可以使用DaemonSet代替部署。 DaemonSets将pod分发到群集的所有节点。这会在添加时自动将您的pod分发到新节点。这样,您可以在删除旧节点之前添加新节点,并且您的pod仍将运行。