본문 바로가기
Linux/OpenShift

RHOCP) Machine Config Operator (MCO)

by LILO 2023. 7. 26.
반응형

INTRO

RHOCP를 사용하다 보면 여러 노드에 설정을 반영하고 반영된 설정대로 node들의 형상이 지속적으로 유지되어야 할 경우 Machine Config Pool에 있는 node들 대상으로 Machine Config를 설정하여 반영합니다.

 

 

MCO(Machine Config Operator)

MCO는 클러스터를 관리하는 Operator로 OS를 관리하고 클러스터를 최신 상태로 유지하고 구성하는 역할을 합니다.

MCO의 구성 요소는 아래와 같습니다

구성 요소 설명
machine-config-server 클러스터에 join하는 새로운 node들에 Ignition 구성을 제공
machine-config-controller Machine Config에 의해 정의된 구성으로 시스템 업그레이드를 할 수 있게 조정
machine-config-daemon - 요청된 Machine Config에 대한 node의 상태를 검증하고 확인
- 업데이트 중 새로운 Machine Config를 적용할 수 있게 해줌
machine-config node의 최초 부팅, 설치, 업데이트에 사용되며 정적인 설정만 지원함

MCO에 대한 자세한 내용은 아래의 문서를 참고바랍니다.

 

Machine configuration tasks | Post-installation configuration | OpenShift Container Platform 4.13

You can use the tasks in this section to create MachineConfig objects that modify files, systemd unit files, and other operating system features running on OpenShift Container Platform nodes. For more ideas on working with machine configs, see content rela

docs.openshift.com

 

 

Machine Config로 변경할 수 있는 구성 요소

Machine Config로 변경할 수 있는 구성 요소는 아래와 같습니다.

구성 요소 설명
config OCP에서 파일, 시스템 서비스, 기타 기능 수정하기 위해 Ignition 설정 오브젝트를 생성
KernelArguments OCP 노드가 부팅될 때 Kernel CMDLINE에 인수를 추가함
KernelType 표준 커널 대신 비표준 커널(RealTime(RT) Kernel)로 부팅할 때 사용
extensions 선택한 사전에 패키지화된 SW를 추가하여 RHCOS의 기능을 확장 (usbgurard, kernel module 등) 
Custom Resource Container Runtime 설정 및 Kubelet 서비스를 수정하기 위한 2가지의 CR을 관리함

 

 

Machine Config Pool (MCP)

MCP란 node를 Machine Config와 연결하는데 사용됩니다.

Render Controller가 아래와 같이 Machine Config Pool을 모니터링하고 "rendered-XXX-XXX"와 같이 정적인 Machine Config object를 생성합니다.

보통 node 기능 및 용도별로 MCP를 나눠서 설정을 반영하는 방식도 많이합니다.

# oc get mcp
NAME     CONFIG                                             UPDATED   UPDATING   DEGRADED   MACHINECOUNT   READYMACHINECOUNT   UPDATEDMACHINECOUNT   DEGRADEDMACHINECOUNT   AGE
master   rendered-master-029cd0c4ce8789cbc9657485b0cacbbe   True      False      False      3              3                   3                     0                      28h
worker   rendered-worker-d6b4c217fa885971481464502920487c   True      False      False      2              2                   2                     0                      28h

https://www.redhat.com/en/blog/openshift-container-platform-4-how-does-machine-config-pool-work

 

반응형