10.5. 작업자 풀 카나리아에 대한 머신 구성 상속 관리
기존 MCP에 할당된 MachineConfig 를 상속하도록 MCP(Machine config pool) canary를 구성할 수 있습니다. 이 구성은 MCP 카나리아를 사용하여 기존 MCP의 노드를 하나씩 업데이트할 때 유용합니다.
전제 조건
- MCP를 하나 이상 생성했습니다.
프로세스
다음 두 단계에 설명된 대로 보조 MCP를 생성합니다.
다음 구성 파일을
machineConfigPool.yaml로 저장합니다.Example
machineConfigPoolYAMLCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 새 머신 구성 풀을 생성합니다.
oc create -f machineConfigPool.yaml
$ oc create -f machineConfigPool.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
machineconfigpool.machineconfiguration.openshift.io/worker-perf created
machineconfigpool.machineconfiguration.openshift.io/worker-perf createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
보조 MCP에 일부 머신을 추가합니다. 다음 예제에서는 작업자 노드
worker-a,worker-b,worker-c를 MCPworker-perf로 레이블을 지정합니다.oc label node worker-a node-role.kubernetes.io/worker-perf=''
$ oc label node worker-a node-role.kubernetes.io/worker-perf=''Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc label node worker-b node-role.kubernetes.io/worker-perf=''
$ oc label node worker-b node-role.kubernetes.io/worker-perf=''Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc label node worker-c node-role.kubernetes.io/worker-perf=''
$ oc label node worker-c node-role.kubernetes.io/worker-perf=''Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 두 단계에 설명된 대로 MCP
worker-perf의 새MachineConfig를 생성합니다.다음
MachineConfig예제를new-machineconfig.yaml이라는 파일로 저장합니다.MachineConfigYAML의 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
MachineConfig를 적용합니다.oc create -f new-machineconfig.yaml
$ oc create -f new-machineconfig.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
새 카나리아 MCP를 생성하고 이전 단계에서 생성한 MCP에서 머신을 추가합니다. 다음 예제에서는
worker-perf-canary라는 MCP를 생성하고 미리 생성한worker-perfMCP에서 머신을 추가합니다.다음 명령을 실행하여 카나리아 작업자 노드
worker-a에 레이블을 지정합니다.oc label node worker-a node-role.kubernetes.io/worker-perf-canary=''
$ oc label node worker-a node-role.kubernetes.io/worker-perf-canary=''Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 카나리아 작업자 노드
worker-a를 원래 MCP에서 제거합니다.oc label node worker-a node-role.kubernetes.io/worker-perf-
$ oc label node worker-a node-role.kubernetes.io/worker-perf-Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 파일을
machineConfigPool-Canary.yaml로 저장합니다.Example
machineConfigPool-Canary.yamlfileCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 선택적 값입니다. 이 예제에는
worker-perf-canary가 추가 값으로 포함됩니다. 이 방법으로 값을 사용하여 추가MachineConfig의 멤버를 구성할 수 있습니다.
다음 명령을 실행하여 새
worker-perf-canary를 생성합니다.oc create -f machineConfigPool-Canary.yaml
$ oc create -f machineConfigPool-Canary.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
machineconfigpool.machineconfiguration.openshift.io/worker-perf-canary created
machineconfigpool.machineconfiguration.openshift.io/worker-perf-canary createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
MachineConfig가worker-perf-canary에 상속되었는지 확인합니다.다음 명령을 실행하여 MCP의 성능이 저하되지 않았는지 확인합니다.
oc get mcp
$ oc get mcpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-2bf1379b39e22bae858ea1a3ff54b2ac True False False 3 3 3 0 5d16h worker rendered-worker-b9576d51e030413cfab12eb5b9841f34 True False False 0 0 0 0 5d16h worker-perf rendered-worker-perf-b98a1f62485fa702c4329d17d9364f6a True False False 2 2 2 0 56m worker-perf-canary rendered-worker-perf-canary-b98a1f62485fa702c4329d17d9364f6a True False False 1 1 1 0 44m
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-2bf1379b39e22bae858ea1a3ff54b2ac True False False 3 3 3 0 5d16h worker rendered-worker-b9576d51e030413cfab12eb5b9841f34 True False False 0 0 0 0 5d16h worker-perf rendered-worker-perf-b98a1f62485fa702c4329d17d9364f6a True False False 2 2 2 0 56m worker-perf-canary rendered-worker-perf-canary-b98a1f62485fa702c4329d17d9364f6a True False False 1 1 1 0 44mCopy to Clipboard Copied! Toggle word wrap Toggle overflow 시스템이 worker-perf에서
worker-로 상속되었는지 확인합니다.perf-canaryoc get nodes
$ oc get nodesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME STATUS ROLES AGE VERSION ... worker-a Ready worker,worker-perf-canary 5d15h v1.27.13+e709aa5 worker-b Ready worker,worker-perf 5d15h v1.27.13+e709aa5 worker-c Ready worker,worker-perf 5d15h v1.27.13+e709aa5
NAME STATUS ROLES AGE VERSION ... worker-a Ready worker,worker-perf-canary 5d15h v1.27.13+e709aa5 worker-b Ready worker,worker-perf 5d15h v1.27.13+e709aa5 worker-c Ready worker,worker-perf 5d15h v1.27.13+e709aa5Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
worker-a에서kdump서비스가 활성화되어 있는지 확인합니다.systemctl status kdump.service
$ systemctl status kdump.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 MCP가
crashkernel을 업데이트했는지 확인합니다.cat /proc/cmdline
$ cat /proc/cmdlineCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력에는 업데이트된
crashekernel값이 포함되어야 합니다. 예를 들면 다음과 같습니다.출력 예
crashkernel=512M
crashkernel=512MCopy to Clipboard Copied! Toggle word wrap Toggle overflow
선택 사항: 업그레이드에 만족하는 경우
worker-a를worker-perf로 반환할 수 있습니다.다음 명령을 실행하여
worker-a를worker-perf로 반환합니다.oc label node worker-a node-role.kubernetes.io/worker-perf=''
$ oc label node worker-a node-role.kubernetes.io/worker-perf=''Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 카나리아 MCP에서
worker-a를 제거합니다.oc label node worker-a node-role.kubernetes.io/worker-perf-canary-
$ oc label node worker-a node-role.kubernetes.io/worker-perf-canary-Copy to Clipboard Copied! Toggle word wrap Toggle overflow