我们可以在kubernetes中的单个nodeSelector中提到多个节点标签
我想在两个特定的节点(我们的kube集群共有15个节点)安排10个豆荚。
所以在复制控制器文件中,我提到nodeSelector中的两个值,如下所示。
nodeSelector: app: node1 app: node2
问题是,它总是只采取node2.whatever我提到的序列,它只是最后一个节点。
注意: node1
和node2
是节点的标签。
是的你可以。
如果要将Pod调度为node1或node2,则可以使用相同的标签(例如, app=node
)为两个节点添加标签,然后将app=node
添加为nodeSelector
。 您可以根据需要添加任意数量的标签,但是像CJ提到的那样, nodeSelector
是一个包含键和值对的映射,因此不能使用具有不同值的相同键。
可以在任何满足nodeSelector
的节点上调度nodeSelector
。
有关更多信息,请阅读将节点分配给节点 。 请注意,有一个名为nodeAffinity
的新function,您可能也想尝试。
nodeSelector
上的PodSpec
只是一个map[string]string
(而不是NodeAffinity
对象中使用的更多特性的NodeSelector
types)。这意味着键“app”只能有一个值,最后被覆盖作为“node2”。
您可以通过应用通用标签(例如, scheduling-group: foo
)来完成node1和node2之间的调度,然后让您的replicationController使用该标签作为nodeSelector
。