将Worker节点返回到群集后重新分配负载
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将Worker节点返回到群集后重新分配负载相关的知识,希望对你有一定的参考价值。
我有一个由5个工作节点组成的集群,然后关闭其中一个工作程序,并将正在其中执行的pod分发给其他节点。
现在我再次启动工作节点,但是pod不会再次重新分配,所以我有一个节点几乎是免费的。
有没有办法强制kubernetes将负载重新分配给“新”工作节点?
谢谢。
我不相信有一个内置的机制来“负载平衡”集群。随着时间的推移,系统将自行恢复正常。
如果要触发一些重新分配,可以扩展可以并行运行的部署,然后再将其缩小。其他你可以重新发布。
您无法将pod从一个节点移动到另一个节点而不会将其删除,因此您可以继续杀死pod(如果没有影响)。最有可能的是,它们将被安排到自由节点。
有一些方法可以配置关联,但如果再次关闭一个节点,您将发现自己处于相同的情况,因此它无济于事。
正如@rln所提到的,缩小和向上缩小可以触发重新分配。如果你正在使用kubectl,这些是命令。
缩小:kubectl scale --replicas=<SIZE LESS THAN YOUR CURRENT DEPLOYMENT> deployment/<DEPLOYMENT_NAME> -n <NAMESPACE>
等待pod终止。
缩小规模:kubectl scale --replicas=<ORIGINAL DESIRED DEPLOYMENT SIZE> deployment/<DEPLOYMENT_NAME> -n <NAMESPACE>
您可以使用DaemonSet代替部署。 DaemonSets将pod分发到群集的所有节点。这会在添加时自动将您的pod分发到新节点。这样,您可以在删除旧节点之前添加新节点,并且您的pod仍将运行。
以上是关于将Worker节点返回到群集后重新分配负载的主要内容,如果未能解决你的问题,请参考以下文章