Menu Close

3.4.3. Pod 유사성 방지 규칙 구성

다음 단계에서는 라벨이 있는 Pod 및 유사성 방지 기본 규칙을 사용하여 해당 Pod에 예약하지 않는 Pod를 생성하는 간단한 2-Pod 구성을 보여줍니다.

프로세스

  1. Pod 사양의 특정 라벨을 사용하여 Pod를 생성합니다.

    $ cat team4.yaml
    apiVersion: v1
    kind: Pod
    metadata:
      name: security-s2
      labels:
        security: S2
    spec:
      containers:
      - name: security-s2
        image: docker.io/ocpqe/hello-pod
  2. 다른 Pod를 생성할 때 Pod 사양을 편집하여 다음 매개변수를 설정합니다.
  3. podAntiAffinity 스탠자를 사용하여 requiredDuringSchedulingIgnoredDuringExecution 매개변수 또는 preferredDuringSchedulingIgnoredDuringExecution 매개변수를 구성합니다.

    1. 노드의 가중치를 1~100으로 지정합니다. 가중치가 높은 노드가 우선합니다.
    2. 충족해야 하는 키와 값을 지정합니다. 새 Pod를 다른 Pod와 함께 예약하지 않으려면 첫 번째 Pod의 라벨과 동일한 keyvalue 매개변수를 사용합니다.

          podAntiAffinity:
            preferredDuringSchedulingIgnoredDuringExecution:
            - weight: 100
              podAffinityTerm:
                labelSelector:
                  matchExpressions:
                  - key: security
                    operator: In
                    values:
                    - S2
                topologyKey: kubernetes.io/hostname
    3. 기본 규칙의 경우 1~100의 가중치를 지정합니다.
    4. operator를 지정합니다. 연산자는 In, NotIn, Exists 또는 DoesNotExist일 수 있습니다. 예를 들어 노드에 라벨이 있어야 하는 경우 연산자 In을 사용합니다.
  4. 이러한 토폴로지 도메인을 나타내기 위해 사용하며 미리 채워져 있는 Kubernetes 라벨topologyKey를 지정합니다.
  5. Pod를 생성합니다.

    $ oc create -f <pod-spec>.yaml