9.3. 카나리아 롤아웃 업데이트를 수행할 머신 구성 풀 생성
카나리아 롤아웃 업데이트를 수행하는 첫 번째 작업은 MCP(Machine config pool)를 하나 이상 생성하는 것입니다.
작업자 노드에서 MCP를 생성합니다.
클러스터의 작업자 노드를 나열합니다.
$ 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를 생성합니다.
apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfigPool metadata: name: workerpool-canary 1 spec: machineConfigSelector: matchExpressions: 2 - { key: machineconfiguration.openshift.io/role, operator: In, values: [worker,workerpool-canary] } nodeSelector: matchLabels: node-role.kubernetes.io/workerpool-canary: "" 3
$ 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로 이동되었습니다.