2017-05-18 182 views
1

将集群节点添加到Kubernetes集群后,应该如何处理集群?在Kubernetes集群中添加节点后重新分发集群

我的意思是,理想情况下,我希望其中的一些停止并在新添加的节点上启动。我是否必须手动选择一些用于停止,并希望他们将被安排在新添加的节点上重新启动?

我不在乎亲和力,只是半均匀分布。

也许有一种方法总是有豆荚的数量等于节点的数量?

对于具有示例的目的:

我使用朱朱到规定小Kubernetes群集上AWS。一个主人和两个工人。这只是一个游乐场。

我的应用程序是apache服务PHP和静态文件。所以我有一个部署,一个NodePort类型的服务和一个使用nginx-ingress-controller的入口。

我已关闭其中一个工作者实例,并且我的应用程序窗格在仍然工作的窗口上重新创建。

然后我启动实例,master拿起它并启动了nginx入口控制器。但是,当我尝试删除我的应用程序窗格时,它们在保持运行的实例上重新创建,而不是在重新启动的实例上重新创建。

不知道它是否重要,但我没有任何DNS设置。只需将其中一个实例的IP添加到来自我的入口的具有主机值的/ etc/hosts中即可。

回答

0

添加新节点时,Kubernetes中会自动重新分配。您可以强制重新分配单个豆荚,方法是删除这些豆荚,并制定基于主机的抗亲和策略。否则,Kubernetes将更喜欢使用新节点进行调度,从而实现随时间的重新分配。

手动触发重新分配的原因是什么?

+0

>你为什么要手动触发重新分配? 我试图杀死豆荚,并没有出现在新节点上。所以我开始怀疑他们是否应该。如果我可能不得不以某种方式推动他们。 – clorz

+0

@clorz如果没有关于您的设置的大量信息,很难分辨究竟发生了什么。例如如果所有节点相同,则kubernetes将优选已包含图像的节点。你能否提供更多的信息,比如一个relicaset的pod部分,多少个实例,它在服务中使用的等等? –

+0

增加了一个例子 – clorz