在 kubernetes 中跨命名空间设置 Pod 间关联

pka*_*mol 2 kubernetes

我有一个标签吊舱app: jenkins-masterjenkins的命名空间。

我也想创建一个nginx部署。

(出于本问题范围之外的原因,nginx部署将驻留在不同的命名空间中)

我希望将这两个 pod(软)安排在同一节点上,因此我在部署清单中使用以下 pod 规范

spec:
  affinity:
    podAffinity:
      preferredDuringSchedulingIgnoredDuringExecution:
      - labelSelector:
          matchExpressions:
          - key: app
            operator: In
            values:
            - jenkins-master
Run Code Online (Sandbox Code Playgroud)

我应该如何在语法上将namespace值设置jenkins为上述 snipper 中的值?

(或者甚至更好地说明我希望这适用于所有all命名空间?

Arg*_*dhu 5

您可以指定可选的命名空间关联列表

spec:
  affinity:
    podAffinity:
      preferredDuringSchedulingIgnoredDuringExecution:
      - labelSelector:
          matchExpressions:
          - key: app
            operator: In
            values:
            - jenkins-master
        namespaces: 
        - namespacename1
        - namespacename2
Run Code Online (Sandbox Code Playgroud)

如此处所述

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