2016-02-14 33 views
1

如果我在我的kubernetes羣集中有3個爪子,有沒有辦法告訴複製控制器在minion1上創建20%的莢,在minion2上創建50%,在僕從3上創建30%?Kubernetes複製控制器調度

回答

1

我認爲唯一的方法是使用--max-pods選項配置每個節點。

1

是的。但你必須用自己的邏輯編寫定製Scheduler

2

不幸的是,現在答案是否定的。最簡單的方法是創建三個複製控制器,每個複製控制器都有所需數量的副本,每個複製控制器都有一個使用nodeSelector挑選一個節點的podTemplate。這有缺點,你指定一個確切的節點名稱,所以如果該節點失敗,豆莢將掛起。

正如@bitchecker所說,理論上你可以使用一個ReplicationController並在每個節點上使用--max-pods選項。但這很棘手,因爲像Heapster這樣的系統莢將包含在計數中,並且無論如何,如果您想與其他ReplicationController中的莢共享該節點,它將不起作用。 (並且它具有與上面相同的問題,當節點發生故障並且您希望將這些容器重新安排到另一個節點時,它不會真正起作用。

我不認爲編寫自己的調度程序是正確的方法,但是如果您雄心勃勃,您可以編寫自己的控制器或修改ReplicationController。 :-)

祝你好運!

+0

有沒有一種方法可以使用基於優先級的pod調度?例如忘記我的百分比分配每個節點的豆莢。假設我需要在節點1上啓動pod,只要節點1可用,然後在節點2上分配pod,當且僅當節點1發生故障時。這可以通過調度程序來實現嗎? – Dimuthu