2017-05-18 177 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