Affinity(二)

2023-05-03 11:38:12 浏览数 (1)

权重

在Affinity规则中,每个匹配条件都可以设置权重。权重的值范围是1到100,其中100表示最高优先级。

例如,以下是一个使用Pod Affinity规则的示例,它要求Pod只能调度到与它具有相同标签的Pod所在的Node上,如果没有相同标签的Pod,则调度到其他Node上:

代码语言:javascript复制
apiVersion: v1
kind: Pod
metadata:
  name: nginx
spec:
  containers:
  - name: nginx
    image: nginx
  affinity:
    podAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
      - labelSelector:
          matchExpressions:
          - key: app
            operator: In
            values:
            - nginx
        topologyKey: kubernetes.io/hostname
      preferredDuringSchedulingIgnoredDuringExecution:
      - podAffinityTerm:
          labelSelector:
            matchExpressions:
            - key: app
              operator: In
              values:
              - nginx
          topologyKey: kubernetes.io/hostname
        weight: 100

在这个示例中,Pod使用了Pod Affinity规则,它的规则包括requiredDuringSchedulingIgnoredDuringExecutionpreferredDuringSchedulingIgnoredDuringExecution两个部分。requiredDuringSchedulingIgnoredDuringExecution部分要求Pod必须调度到与它具有相同标签的Pod所在的Node上,否则调度失败。而preferredDuringSchedulingIgnoredDuringExecution部分则要求Pod尽可能调度到与它具有相同标签的Pod所在的Node上,如果没有相同标签的Pod,则调度到其他Node上。在这个规则中,weight被设置为100,表示这个规则的优先级最高。

0 人点赞