1장. 머신 구성 개요
OpenShift Container Platform 노드에서 실행되는 운영 체제를 변경해야하는 경우가 있습니다. 여기에는 네트워크 시간 서비스 설정 변경, 커널 인수 추가 또는 특정 방식으로 저널 설정이 포함됩니다.
몇 가지 특수 기능 외에도 OpenShift Container Platform 노드에서 운영 체제 대부분의 변경 사항은 Machine Config Operator
가 관리하는 MachineConfig 객체를 생성하여 수행할 수 있습니다. 예를 들어 MCO(Machine Config Operator) 및 머신 구성을 사용하여 systemd, CRI-O 및 kubelet, 커널, 네트워크 관리자 및 기타 시스템 기능에 대한 업데이트를 관리할 수 있습니다.
이 섹션의 작업은 Machine Config Operator의 기능을 사용하여 OpenShift Container Platform 노드에서 운영 체제 기능을 구성하는 방법을 설명합니다.
NetworkManager는 새 네트워크 구성을 키 파일 형식으로 /etc/NetworkManager/system-connections/
에 저장합니다.
이전에는 NetworkManager에서 새 네트워크 구성을 /etc/sysconfig/network-scripts/
에 ifcfg
형식으로 저장했습니다. RHEL 9.0부터 RHEL은 새로운 네트워크 구성을 키 파일 형식으로 /etc/NetworkManager/system-connections/
에 저장합니다. 이전 형식의 /etc/sysconfig/network-scripts/
에 저장된 연결 구성은 중단되지 않습니다. 기존 프로필의 수정 사항은 이전 파일을 계속 업데이트합니다.
1.1. 머신 구성 Operator 정보
OpenShift Container Platform 4.16은 운영 체제와 클러스터 관리를 모두 통합합니다. 클러스터는 클러스터 노드에서 RHCOS(Red Hat Enterprise Linux CoreOS)에 대한 업데이트를 포함하여 자체 업데이트를 관리하므로 OpenShift Container Platform은 노드 업그레이드 오케스트레이션을 단순화하는 독단적인 라이프사이클 관리 환경을 제공합니다.
OpenShift Container Platform은 3개의 데몬 세트와 컨트롤러를 사용하여 노드 관리를 단순화합니다. 이러한 데몬 세트는 표준 Kubernetes 스타일 구성을 사용하여 호스트에 대한 운영 체제 업데이트 및 구성 변경을 오케스트레이션합니다. 다음이 포함됩니다.
-
컨트롤 플레인에서 머신 업그레이드를 조정하는
machine-config-controller
. 모든 클러스터 노드를 모니터링하고 구성 업데이트를 오케스트레이션합니다. -
클러스터의 각 노드에서 실행되며 머신 구성에 정의된 구성으로 MachineConfigController의 지시에 따라 머신을 업데이트하는
machine-config-daemon
데몬 세트. 노드가 변경사항을 감지하면 포드를 비우고 업데이트를 적용한 다음 재부팅합니다. 이러한 변경사항은 지정된 머신 구성 및 제어 kubelet 구성을 적용하는 Ignition 구성 파일의 형태로 제공됩니다. 업데이트 자체는 컨테이너로 제공됩니다. 이 프로세스는 OpenShift Container Platform 및 RHCOS 업데이트를 성공적으로 관리하는 데 핵심입니다. -
클러스터에 참여할 때 컨트롤 플레인 노드에 Ignition 구성 파일을 제공하는
machine-config-server
데몬 세트.
머신 구성은 Ignition 구성의 서브 세트입니다. machine-config-daemon
은 OSTree 업데이트를 수행해야 하는지 아니면 일련의 systemd kubelet 파일 변경, 구성 변경 또는 운영 체제나 OpenShift Container Platform 구성의 기타 변경 사항을 적용해야 하는지 확인하기 위해 머신 구성을 읽습니다.
노드 관리 작업을 수행할 때 KubeletConfig
사용자 정의 리소스(CR)를 생성하거나 수정합니다.
머신 구성을 변경하면 MCO(Machine Config Operator)가 변경 사항을 적용하기 위해 해당 노드를 자동으로 재부팅합니다.
노드 중단 정책을 사용하여 일부 머신 구성 변경으로 인한 중단을 완화할 수 있습니다. 머신 구성을 변경한 후 노드 재시작 동작 이해 를 참조하십시오.
또는 시스템 구성을 변경한 후 노드가 자동으로 재부팅되지 않도록 할 수 있습니다. 해당 머신 구성 풀에서 spec.paused
필드를 true
로 설정하여 autoreboot 프로세스를 일시 중지합니다. 일시 정지되면 spec.paused
필드를 false
로 설정하고 노드가 새 구성으로 재부팅될 때까지 머신 구성 변경 사항이 적용되지 않습니다.
다음 수정 사항에서는 노드 재부팅이 트리거되지 않습니다.
MCO가 다음 변경 사항을 감지하면 노드를 드레이닝하거나 재부팅하지 않고 업데이트를 적용합니다.
-
머신 구성의
spec.config.passwd.users.sshAuthorizedKeys
매개변수에서 SSH 키 변경 -
openshift-config
네임 스페이스에서 글로벌 풀 시크릿 또는 풀 시크릿 관련 변경 사항 -
Kubernetes API Server Operator의
/etc/kubernetes/kubelet-ca.crt
인증 기관(CA) 자동 교체
-
머신 구성의
MCO가
ImageDigestMirrorSet
,ImageTagMirrorSet
또는ImageContentSourcePolicy
개체 추가 또는 편집과 같은/etc/containers/registries.conf
파일의 변경을 감지하면 해당 노드를 드레이닝하고 변경 사항을 적용하고 노드를 분리합니다. 다음 변경에는 노드 드레이닝이 발생하지 않습니다.-
각 미러에 대해 설정된
pull-from-mirror = "digest-only"
매개변수를 사용하여 레지스트리를 추가합니다. -
레지스트리에 설정된
pull-from-mirror = "digest-only"
매개변수를 사용하여 미러를 추가합니다. -
unqualified-search-registries
목록에 항목이 추가되었습니다.
-
각 미러에 대해 설정된
노드의 구성이 현재 적용된 머신 구성에서 지정하는 것과 완전히 일치하지 않는 경우가 있을 수 있습니다. 이 상태를 구성 드리프트 라고 합니다. MCO(Machine Config Daemon)는 노드에서 구성 드리프트를 정기적으로 확인합니다. MCD가 구성 드리프트를 감지하면 관리자가 노드 구성을 수정할 때까지 MCO는 노드가 degraded
상태로 표시됩니다. 성능이 저하된 노드는 온라인 상태이고 작동하지만 업데이트할 수 없습니다.
추가 리소스