Kubernetes 在statefulset中,如何仅依赖节点名称而不是查找特定标签?
我在使用nodeAntiafinity时遇到问题。。。在我的用例中,我需要防止StatefulSet的实例在同一个节点上运行,就是这样。我没有节点的标签,文档会将其列为一项要求。是否可以完全依赖内置标签“kubernetes.io/hostname”的唯一值 在我的状态集合中,我要做的是:Kubernetes 在statefulset中,如何仅依赖节点名称而不是查找特定标签?,kubernetes,kubernetes-helm,Kubernetes,Kubernetes Helm,我在使用nodeAntiafinity时遇到问题。。。在我的用例中,我需要防止StatefulSet的实例在同一个节点上运行,就是这样。我没有节点的标签,文档会将其列为一项要求。是否可以完全依赖内置标签“kubernetes.io/hostname”的唯一值 在我的状态集合中,我要做的是: spec: podManagementPolicy: OrderedReady affinity: nodeAntiAffinity: requiredDuringScheduli
spec:
podManagementPolicy: OrderedReady
affinity:
nodeAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
topologyKey: "kubernetes.io/hostname"
文档中的示例说明我必须做什么:
spec:
podManagementPolicy: OrderedReady
affinity:
nodeAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: <some key>
operator: In
values:
- <some value>
topologyKey: "kubernetes.io/hostname"
spec:
POD管理策略:OrderedReady
密切关系:
节点关联性:
所需DuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
-匹配表达式:
-关键:
接线员:在
价值观:
-
topologyKey:“kubernetes.io/hostname”
为了防止状态集的实例在同一节点上运行,您需要一个podAntiAffinity,摘自zookeeper教程:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: "app"
operator: In
values:
- zk
topologyKey: "kubernetes.io/hostname"