在Kubernetes中跨命名空间设置Pod之间的亲和性

5
我在jenkins命名空间中有一个标签为app:jenkins-master的pod。
同时我也想创建一个nginxdeployment。(由于问题的范围超出了本次讨论,nginx deployment将位于不同的命名空间中)
我希望这两个 pod 能(缓慢地)调度到同一节点上,因此我在部署清单中使用以下 pod spec。
spec:
  affinity:
    podAffinity:
      preferredDuringSchedulingIgnoredDuringExecution:
      - labelSelector:
          matchExpressions:
          - key: app
            operator: In
            values:
            - jenkins-master

我该如何在上述片段中以语法正确的方式将namespace值设置为jenkins
(或更好地说明我希望这适用于所有命名空间?)
1个回答

8
您可以指定一个可选的关联命名空间列表。
spec:
  affinity:
    podAffinity:
      preferredDuringSchedulingIgnoredDuringExecution:
      - labelSelector:
          matchExpressions:
          - key: app
            operator: In
            values:
            - jenkins-master
        namespaces: 
        - namespacename1
        - namespacename2

如文档所述在这里

namespaces
string array    namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means "this pod's namespace"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接