键值运算关系 In:label 的值在某个列表中 NotIn:label 的值不在某个列表中 Gt:label 的值大于某个值 Lt:label 的值小于某个值 Exists:某个 label 存在 DoesNotExist:某个 label 不存在

    节点亲和性:
    preferredDuringSchedulingIgnoredDuringExecution:软策略 requiredDuringSchedulingIgnoredDuringExecution:硬策略

    apiVersion: v1 kind: Pod metadata: name: affinity labels: app: node-affinity-pod spec: containers:

    • name: with-node-affinity image: hub.atguigu.com/library/myapp:v1 affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: #节点硬策略 nodeSelectorTerms:
    • matchExpressions:
    • key: kubernetes.io/hostname #选择node的key operator: NotIn #选择运算策略为Notln values:
    • k8s-node02 #选择values值(kubectl get node —show—labels查看) preferredDuringSchedulingIgnoredDuringExecution: #设置软策略
    • weight: 1 #设置权重值(越大优先级越高) preference: matchExpressions:
    • key: source
      operator: In #运算策略为IN values:
    • qikqiak

    Pod亲和性:
    preferredDuringSchedulingIgnoredDuringExecution:软策略 requiredDuringSchedulingIgnoredDuringExecution:硬策略

    apiVersion: v1 kind: Pod metadata: name: pod-3 labels: app: pod-3 spec: containers:

    • name: pod-3 image: hub.atguigu.com/library/myapp:v1 affinity:
      podAffinity: requiredDuringSchedulingIgnoredDuringExecution: #Pod调度硬策略
    • labelSelector: matchExpressions:
    • key: app #key operator: In values:
    • pod-1 #value topologyKey: kubernetes.io/hostname #通过node名称选择 podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: #软策略
    • weight: 1 podAffinityTerm: labelSelector: matchExpressions:
    • key: app operator: In values:
    • pod-2 topologyKey: kubernetes.io/hostname