4.7.3. 머신 세트를 사용하여 테인트 및 허용 오차 추가

머신 세트를 사용하여 노드에 테인트를 추가할 수 있습니다. MachineSet 오브젝트와 연결된 모든 노드는 테인트를 사용하여 업데이트됩니다. 허용 오차는 노드에 직접 추가된 테인트와 동일한 방식으로 머신 세트에 의해 추가된 테인트에 응답합니다.

프로세스

  1. tolerations 스탠자를 포함하도록 Pod 사양을 편집하여 Pod에 허용 오차를 추가합니다.

    Equal 연산자가 있는 Pod 구성 파일의 예

    spec:
    ....
      template:
    ....
        spec:
          tolerations:
          - key: "key1" 1
            value: "value1"
            operator: "Equal"
            effect: "NoExecute"
            tolerationSeconds: 3600 2

    1
    테인트 및 허용 오차 구성 요소 테이블에 설명된 허용 오차 매개변수입니다.
    2
    tolerationSeconds 매개변수는 Pod가 제거될 때까지 노드에 바인딩되는 시간을 지정합니다.

    예를 들면 다음과 같습니다.

    Exists 연산자가 있는 pod 구성 파일의 예

    spec:
      tolerations:
      - key: "key1"
        operator: "Exists"
        effect: "NoExecute"
        tolerationSeconds: 3600

  2. MachineSet 오브젝트에 테인트를 추가합니다.

    1. 테인트할 노드의 MachineSet YAML을 편집하거나 새 MachineSet 오브젝트를 생성할 수 있습니다.

      $ oc edit machineset <machineset>
    2. spec.template.spec 섹션에 테인트를 추가합니다.

      머신 세트 사양의 테인트 예

      spec:
      ....
        template:
      ....
          spec:
            taints:
            - effect: NoExecute
              key: key1
              value: value1
      ....

      이 예제에서는 키가 key1, 값이 value1, 테인트 효과가 NoExecute인 테인트를 노드에 배치합니다.

    3. 머신 세트를 0 으로 축소합니다.

      $ oc scale --replicas=0 machineset <machineset> -n openshift-machine-api

      머신이 제거될 때까지 기다립니다.

    4. 필요에 따라 머신 세트를 확장합니다.

      $ oc scale --replicas=2 machineset <machineset> -n openshift-machine-api

      머신이 시작될 때까지 기다립니다. 테인트는 MachineSet 오브젝트와 연결된 노드에 추가됩니다.