10.4. 카나리아 롤아웃 업데이트를 수행할 머신 구성 풀 생성
카나리아 롤아웃 업데이트를 수행하려면 먼저 하나 이상의 사용자 지정 MCP(Machine config pool)를 생성해야 합니다.
프로세스
다음 명령을 실행하여 클러스터의 작업자 노드를 나열합니다.
$ 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
지연할 각 노드에 대해 다음 명령을 실행하여 노드에 사용자 정의 라벨을 추가합니다.
$ 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
새 MCP를 생성합니다.
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
다음 명령을 실행하여
MachineConfigPool
오브젝트를 생성합니다.$ oc create -f <file_name>
출력 예
machineconfigpool.machineconfiguration.openshift.io/workerpool-canary created
다음 명령을 실행하여 클러스터의 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로 이동되었습니다.