Kubernetes复制控制器调度

时间:2016-02-14 15:54:28

标签: kubernetes

如果我的kubernetes集群中有3个小兵,有没有办法告诉复制控制器在minion1上创建20%的pod,在minion2上创建50%,在minion 3上创建30%?

3 个答案:

答案 0 :(得分:2)

不幸的是,现在的答案是否定的。最简单的方法是创建三个复制控制器,每个复制控制器具有所需数量的副本,每个复制控制器都有一个podTemplate,它使用nodeSelector来选择一个节点。这有一个缺点,即您要指定一个确切的节点名称,因此如果该节点失败,那么该pod将会等待。

正如@bitchecker所说,理论上你可以使用一个ReplicationController并在每个节点上使用--max-pods选项。但这很棘手,因为像Heapster这样的系统pod将包含在计数中,如果你想与其他ReplicationControllers的pod共享节点,它无论如何都不起作用。 (并且它从上面遇到了同样的问题,当节点出现故障并且您希望将这些pod重新安排到另一个节点上时它不能真正起作用。)

我不认为编写自己的调度程序是正确的方法,但如果你雄心勃勃,你可以编写自己的控制器或修改ReplicationController。 : - )

祝你好运!

答案 1 :(得分:1)

我认为唯一的方法是使用--max-pods选项配置每个节点。

答案 2 :(得分:1)

是。但是你必须用自己的逻辑编写自定义Scheduler