我希望在EKS上部署一个RabbitMQ StatefulSet,并阻止它部署到运行Jenkins控制器的节点上。关联性规则不起作用。
pod选择器标签为:
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES LABELS
rabbitmq-0 1/1 Running 0 3m18s 10.x.x.z ip-10-x-x-x.eu-west-2.compute.internal <none> <none> app.kubernetes.io/component=broker,app.kubernetes.io/instance=rabbitmq,app.kubernetes.io/name=rabbitmq,app=rabbitmq,controller-revision-hash=rabbitmq-f6c7ddfff,statefulset.kubernetes.io/pod-name=rabbitmq-0
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES LABELS
jenkins-8499877f97-6jvb6 2/2 Running 0 60m 10.x.x.x ip-10-x-x-x.eu-west-2.compute.internal <none> <none> app.kubernetes.io/component=jenkins,app.kubernetes.io/instance=jenkins,app.kubernetes.io/name=controller,pod-template-hash=8499877f97节点具有选择器标签:
node.app/group=appsRabbitMQ关联性规则包括:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions: # assign to eks apps node group
- key: node.app/group
operator: In
values:
- apps
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions: # don't assign to a node running jenkins controller
- key: app.kubernetes.io/name
operator: In
values:
- controller
- key: app.kubernetes.io/component
operator: In
values:
- jenkins
topologyKey: kubernetes.io/hostname任何提示或指针都将非常感谢。
#1当我说规则不起作用时,Rabbit pods被放置在与Jenkins控制器相同的节点上,这并不是必需的。没有错误。
发布于 2021-10-26 12:09:45
因此,上面的规则确实有效,但不仅删除了现有的Helm部署,还删除了现有的部署PVC和PV。一旦一切都被清除并重新创建,亲和力规则就开始发挥作用了。
https://stackoverflow.com/questions/69666075
复制相似问题