Pra*_*ash 3 docker kubernetes kubernetes-pod
我想在两个特定节点(我们的 kube 集群中总共 15 个节点)中安排 10 个 pod。
所以在复制控制器文件中,我在 nodeSelector 中提到了两个值,如下所示。
nodeSelector:
app: node1
app: node2
Run Code Online (Sandbox Code Playgroud)
问题是它一直只占用 node2。无论我提到什么序列,它只占用最后一个节点。
注意:node1和node2是节点的标签。
on nodeSelectoraPodSpec只是 a map[string]string(而不是对象NodeSelector中使用的功能更丰富的类型NodeAffinity)。这意味着键“app”只能有一个值,并且最终会被覆盖为“node2”。
您可以通过应用通用标签(例如scheduling-group: foo)来完成节点1 和节点2 之间的调度,然后让您的replicationController 使用该标签作为nodeSelector.
小智 6
更好的方法是使用这样的东西:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- node1
- node2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11582 次 |
| 最近记录: |