部署 - 每个副本的节点选择器

时间:2017-04-26 09:11:17

标签: kubernetes

如何表达:" Yo kubernetes,运行3个副本,但其中至少有1个必须在标签为cost=expensive"

的节点上运行

假设我有两组工作节点(小兵)。

使用标签cost=expensive设置1。设置2 cost=cheap

我想运行一个包含3个副本的部署,以便至少有一个部署在第1集上,而我并不关心其他2个副本的启动位置。

说明: -

  1. 我正在运行Kubernetes 1.6.2
  2. 示例用例:Set 2由可以随时死亡的点实例组成。我想在按需实例上运行至少1个pod。
  3. 我已阅读Assigning Pods to Nodes指南,该指南允许我(a)(podAntiAffinity)在节点之间传播广告;或(b)(nodeSelectornodeAffinity)对选择器所有 pod将运行的软/硬限制。
  4. 我可以在2个单独的部署中运行pod,其中一个部署有1个副本,nodeSelector设置为cost=expensive,但这会让它变得混乱。

1 个答案:

答案 0 :(得分:0)

我认为你应该运行2个部署,pods在同一部署或副本集中意味着相同的配置,将它们分散到不同种类的自定义节点集并非如此。如果您希望他们一起提供服务,您可以设置正确的标签并使其在同一服务后面工作。

顺便说一下,你可以通过自定义调度程序策略来完成这项工作,而这太过于广泛。