首页 文章

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

提问于
浏览
0

如何表达:“Yo kubernetes,运行3个副本,但至少其中1个必须在带有标签 cost=expensive 的节点上运行”

假设我有2组工作节点(小兵) .

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

我想运行一个带有3个副本的部署,这样至少其中一个被安排在Set 1上,我不关心其他2个副本的启动位置 .

笔记:-

  • 我正在运行Kubernetes 1.6.2 .

  • 示例用例:Set 2由可随时死亡的点实例组成 . 我想在按需实例上运行至少1个pod .

  • 我已经阅读了Assigning Pods to Nodes指南,它让我(a)( podAntiAffinity )在节点之间传播pod;或(b)( nodeSelectornodeAffinity )对所有pod将运行的选择器设置软/硬约束 .

  • 我可以在2个单独的部署中运行pod,一个具有1个副本, nodeSelector 设置为 cost=expensive ,但这使得它变得混乱 .

1 回答

  • 0

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

    顺便说一句,你可以通过自定义调度程序策略来完成这项工作,而这太过于扩展 .

相关问题