10.4. 카나리아 롤아웃 업데이트를 수행할 머신 구성 풀 생성

카나리아 롤아웃 업데이트를 수행하려면 먼저 하나 이상의 사용자 지정 MCP(Machine config pool)를 생성해야 합니다.

프로세스

  1. 다음 명령을 실행하여 클러스터의 작업자 노드를 나열합니다.

    $ oc get -l 'node-role.kubernetes.io/master!=' -o 'jsonpath={range .items[*]}{.metadata.name}{"\n"}{end}' nodes

    출력 예

    ci-ln-pwnll6b-f76d1-s8t9n-worker-a-s75z4
    ci-ln-pwnll6b-f76d1-s8t9n-worker-b-dglj2
    ci-ln-pwnll6b-f76d1-s8t9n-worker-c-lldbm

  2. 지연할 각 노드에 대해 다음 명령을 실행하여 노드에 사용자 정의 라벨을 추가합니다.

    $ oc label node <node_name> node-role.kubernetes.io/<custom_label>=

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

    $ oc label node ci-ln-0qv1yp2-f76d1-kl2tq-worker-a-j2ssz node-role.kubernetes.io/workerpool-canary=

    출력 예

    node/ci-ln-gtrwm8t-f76d1-spbl7-worker-a-xk76k labeled

  3. 새 MCP를 생성합니다.

    1. MCP YAML 파일을 생성합니다.

      apiVersion: machineconfiguration.openshift.io/v1
      kind: MachineConfigPool
      metadata:
        name: workerpool-canary 1
      spec:
        machineConfigSelector:
          matchExpressions:
            - {
               key: machineconfiguration.openshift.io/role,
               operator: In,
               values: [worker,workerpool-canary] 2
              }
        nodeSelector:
          matchLabels:
            node-role.kubernetes.io/workerpool-canary: "" 3
      1
      MCP의 이름을 지정합니다.
      2
      worker 및 사용자 지정 MCP 이름을 지정합니다.
      3
      이 풀에서 원하는 노드에 추가한 사용자 지정 라벨을 지정합니다.
    2. 다음 명령을 실행하여 MachineConfigPool 오브젝트를 생성합니다.

      $ oc create -f <file_name>

      출력 예

      machineconfigpool.machineconfiguration.openshift.io/workerpool-canary created

  4. 다음 명령을 실행하여 클러스터의 MCP 목록과 현재 상태를 확인합니다.

    $ oc get machineconfigpool

    출력 예

    NAME              CONFIG                                                        UPDATED   UPDATING   DEGRADED   MACHINECOUNT   READYMACHINECOUNT   UPDATEDMACHINECOUNT   DEGRADEDMACHINECOUNT   AGE
    master            rendered-master-b0bb90c4921860f2a5d8a2f8137c1867              True      False      False      3              3                   3                     0                      97m
    workerpool-canary rendered-workerpool-canary-87ba3dec1ad78cb6aecebf7fbb476a36   True      False      False      1              1                   1                     0                      2m42s
    worker            rendered-worker-87ba3dec1ad78cb6aecebf7fbb476a36              True      False      False      2              2                   2                     0                      97m

    새 머신 구성 풀 workerpool-canary가 생성되고 사용자 정의 레이블을 추가한 노드 수가 머신 수에 표시됩니다. 작업자 MCP 머신 수는 동일한 수만큼 줄어듭니다. 시스템 수를 업데이트하는 데 몇 분이 걸릴 수 있습니다. 이 예에서는 하나의 노드가 worker MCP에서 workerpool-canary MCP로 이동되었습니다.