首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes StatefulSet AntiAffinity不工作

Kubernetes StatefulSet AntiAffinity不工作
EN

Stack Overflow用户
提问于 2021-10-21 17:04:57
回答 1查看 64关注 0票数 1

我希望在EKS上部署一个RabbitMQ StatefulSet,并阻止它部署到运行Jenkins控制器的节点上。关联性规则不起作用。

pod选择器标签为:

代码语言:javascript
复制
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

节点具有选择器标签:

代码语言:javascript
复制
node.app/group=apps

RabbitMQ关联性规则包括:

代码语言:javascript
复制
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控制器相同的节点上,这并不是必需的。没有错误。

EN

回答 1

Stack Overflow用户

发布于 2021-10-26 12:09:45

因此,上面的规则确实有效,但不仅删除了现有的Helm部署,还删除了现有的部署PVC和PV。一旦一切都被清除并重新创建,亲和力规则就开始发挥作用了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69666075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档