6.9. 부트 이미지 관리
Google Cloud Platform(GCP) 및 Amazon Web Services(AWS) 클러스터의 경우 기본적으로 Machine Config Operator(MCO)가 노드 확장에 사용되는 부트 이미지를 관리하고 업데이트합니다. 즉, 기본적으로 MCO는 클러스터를 업그레이드할 때마다 부팅 이미지를 업데이트합니다.
다른 모든 플랫폼의 경우 MCO는 각 클러스터 업데이트로 부팅 이미지를 업데이트하지 않습니다.
6.9.1. 부트 이미지 관리에 관하여 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 Google Cloud Platform(GCP) 및 Amazon Web Services(AWS) 클러스터의 경우, 클러스터를 업데이트할 때마다 Machine Config Operator(MCO)가 클러스터의 머신 세트에서 부트 이미지를 업데이트합니다.
GCP 및 AWS의 경우 필요한 경우 부트 이미지 관리 기능을 비활성화할 수 있습니다. 해당 기능이 비활성화되면 부트 이미지가 더 이상 클러스터로 업데이트되지 않습니다. 예를 들어, 이 기능을 비활성화한 경우 클러스터가 원래 OpenShift Container Platform 4.16으로 생성된 경우 MCO가 노드를 생성하는 데 사용하는 부트 이미지는 클러스터가 이후 버전이라 하더라도 동일한 4.16 버전입니다.
하지만 이전 버전의 부팅 이미지를 사용하면 다음과 같은 문제가 발생할 수 있습니다.
- 노드를 시작하기 위한 추가 시간
- 인증서 만료 문제
- 버전 왜곡 문제
이 기능을 비활성화하는 방법에 대한 자세한 내용은 "부트 이미지 관리 비활성화"를 참조하세요. 이 기능을 비활성화해도 언제든지 다시 활성화할 수 있습니다. 자세한 내용은 "부트 이미지 관리 활성화"를 참조하세요.
부트 이미지 관리를 구성하는 기능은 GCP 및 AWS 클러스터에서만 사용할 수 있습니다. Cluster CAPI Operator가 관리하는 클러스터에서는 지원되지 않습니다.
기능을 비활성화하거나 다시 활성화한 후 클러스터가 동작하는 방식은 다음 시나리오를 포함하여 변경을 수행한 시점에 따라 달라집니다.
새로운 OpenShift Container Platform 버전으로 업데이트하기 전에 해당 기능을 비활성화하는 경우:
- 머신 세트에서 사용되는 부트 이미지 버전은 해당 기능이 비활성화되었을 당시의 OpenShift Container Platform 버전과 동일하게 유지됩니다.
- 노드를 확장하면 새로운 노드는 동일한 OpenShift Container Platform 버전을 사용합니다.
새로운 OpenShift Container Platform 버전으로 업데이트한 후 해당 기능을 비활성화하는 경우:
- 머신 세트에서 사용되는 부트 이미지 버전은 업데이트된 OpenShift Container Platform 버전과 일치하도록 업데이트됩니다.
- 노드를 확장하면 새로운 노드는 업데이트된 OpenShift Container Platform 버전을 사용합니다.
- 이후의 OpenShift Container Platform 버전으로 업데이트하는 경우 머신 세트의 부트 이미지 버전은 현재 버전으로 유지되며 클러스터로 업데이트되지 않습니다.
기능을 비활성화한 후 다시 활성화하는 경우:
- 다른 경우, 머신 세트에서 사용하는 부트 이미지 버전이 최신 OpenShift Container Platform 버전으로 업데이트됩니다.
- 노드를 확장하면 새 노드는 클러스터의 현재 OpenShift Container Platform 버전을 사용합니다.
부트 이미지는 노드가 확장될 때만 사용되므로 이 기능은 기존 노드에는 영향을 미치지 않습니다.
클러스터에서 사용되는 현재 부트 이미지를 보려면 머신 세트를 조사하세요.
부트 이미지의 위치와 형식은 플랫폼에 따라 머신 세트 내에서 다릅니다. 하지만 부트 이미지는 항상 spec.template.spec.providerSpec
매개변수에 나열됩니다.
부팅 이미지 참조가 있는 GCP 머신 세트 예
- 1
- 이 부트 이미지는 클러스터의 현재 버전과 관계없이 원래 설치된 OpenShift Container Platform 버전(이 예에서는 OpenShift Container Platform 4.12)과 동일합니다. 부트 이미지가 머신 세트에 표현되는 방식은 플랫폼에 따라 달라지는데, 이는
providerSpec
필드의 구조가 플랫폼마다 다르기 때문입니다.
부팅 이미지 참조가 있는 AWS 머신 세트 예
부트 이미지 관리를 활성화하려는 머신 세트 중 하나라도 Ignition 버전 2.2.0 기반의 *-user-data
비밀번호를 사용하는 경우, 해당 기능을 활성화하면 Machine Config Operator가 Ignition 버전을 3.4.0으로 변환합니다. OpenShift Container Platform 버전 4.5 및 이전 버전은 Ignition 버전 2.2.0을 사용합니다. 이 변환이 실패하면 MCO 또는 클러스터가 저하될 수 있습니다. oc get ClusterOperator machine-config
명령의 출력에 "err: 점화 스텁 변환에 실패했습니다: 점화 구성을 구문 분석하지 못했습니다" 라는 오류 메시지가 추가되었습니다. 다음의 일반적인 단계를 사용하여 문제를 해결할 수 있습니다.
- 부팅 이미지 관리 기능을 비활성화합니다. 자세한 내용은 "부트 이미지 관리 비활성화"를 참조하세요.
-
Ignition 버전을 3.2.0으로 사용하려면
*-user-data
비밀번호를 수동으로 업데이트해야 합니다. - 부팅 이미지 관리 기능을 활성화합니다. 자세한 내용은 "부트 이미지 관리 활성화"를 참조하세요.
6.9.2. 부팅 이미지 관리 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 Google Cloud Platform(GCP) 및 Amazon Web Services(AWS) 클러스터의 경우, 클러스터를 업데이트할 때마다 Machine Config Operator(MCO)가 클러스터의 머신 세트에서 부트 이미지를 관리하고 업데이트합니다.
MachineConfiguration
객체를 편집하여 클러스터의 부트 이미지 관리 기능을 비활성화할 수 있습니다. 비활성화된 경우, MCO(Machine Config Operator)는 더 이상 클러스터의 부트 이미지를 관리하지 않으며, 각 클러스터 업데이트 시 부트 이미지를 업데이트하지 않습니다.
이 기능을 비활성화해도 노드나 머신 세트는 원래 설치된 부트 이미지로 롤백되지 않습니다. 머신 세트는 해당 기능이 비활성화되었을 당시의 부트 이미지 버전을 유지하며, 나중에 클러스터가 새로운 OpenShift Container Platform 버전으로 업그레이드되더라도 업데이트되지 않습니다. 이 기능은 기존 노드에는 영향을 미치지 않습니다.
GCP 또는 AWS 클러스터에서 해당 기능을 비활성화한 후 언제든지 다시 활성화할 수 있습니다. 자세한 내용은 "업데이트된 부트 이미지 활성화"를 참조하세요.
프로세스
MachineConfiguration
객체를 편집하여 일부 또는 모든 머신 세트에 대한 부팅 이미지 관리 기능을 비활성화합니다.oc edit MachineConfiguration cluster
$ oc edit MachineConfiguration cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
부팅 이미지 관리 기능의 현재 상태를 보려면 머신 구성 개체를 확인하세요.
oc get machineconfiguration cluster -o yaml
$ oc get machineconfiguration cluster -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 부팅 이미지 참조가 있는 머신 세트 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 부트 이미지 버전을 가져옵니다. 부트 이미지의 위치와 형식은 플랫폼에 따라 머신 세트 내에서 다릅니다. 하지만 부트 이미지는 항상
spec.template.spec.providerSpec
매개변수에 나열됩니다.oc get machinesets <machineset_name> -n openshift-machine-api -o yaml
$ oc get machinesets <machineset_name> -n openshift-machine-api -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 부팅 이미지 참조가 있는 머신 세트 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 이 부트 이미지는 현재 OpenShift Container Platform 버전과 동일합니다.
6.9.3. 부팅 이미지 관리 활성화 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 Google Cloud Platform(GCP) 및 Amazon Web Services(AWS) 클러스터의 경우, 클러스터를 업데이트할 때마다 Machine Config Operator(MCO)가 클러스터의 머신 세트에서 부트 이미지를 업데이트합니다.
부트 이미지 관리 기능을 비활성화하여 부트 이미지가 업데이트되지 않도록 한 경우, MachineConfiguration
객체를 편집하여 해당 기능을 다시 활성화할 수 있습니다.
이 기능을 활성화하면 부트 이미지가 현재 OpenShift Container Platform 버전으로 업데이트됩니다. 나중에 클러스터가 새로운 OpenShift Container Platform 버전으로 다시 업데이트되면 부트 이미지도 다시 업데이트됩니다. 해당 기능을 활성화한 후 생성된 새 노드는 업데이트된 부트 이미지를 사용합니다. 이 기능은 기존 노드에는 영향을 미치지 않습니다.
프로세스
일부 또는 모든 머신 세트에 대한 부팅 이미지 관리 기능을 활성화하려면
cluster
라는 이름의MachineConfiguration
객체를 편집합니다.oc edit MachineConfiguration cluster
$ oc edit MachineConfiguration cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 모든 머신 세트에 대해 부팅 이미지 관리 기능을 활성화합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 특정 머신 세트에 대한 부팅 이미지 관리 기능을 활성화합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 작은 정보머신 세트에 적절한 레이블이 없는 경우 다음과 유사한 명령을 실행하여 키-값 쌍을 추가합니다.
oc label machineset.machine ci-ln-hmy310k-72292-5f87z-worker-a region="east" -n openshift-machine-api
$ oc label machineset.machine ci-ln-hmy310k-72292-5f87z-worker-a region="east" -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
부팅 이미지 관리 기능의 현재 상태를 보려면 머신 구성 개체를 확인하세요.
oc get machineconfiguration cluster -o yaml
$ oc get machineconfiguration cluster -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 부팅 이미지 참조가 있는 머신 세트 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 부트 이미지 버전을 가져옵니다. 부트 이미지의 위치와 형식은 플랫폼에 따라 머신 세트 내에서 다릅니다. 하지만 부트 이미지는 항상
spec.template.spec.providerSpec
매개변수에 나열됩니다.oc get machinesets <machineset_name> -n openshift-machine-api -o yaml
$ oc get machinesets <machineset_name> -n openshift-machine-api -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 부팅 이미지 참조가 있는 머신 세트 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 이 부트 이미지는 현재 OpenShift Container Platform 버전과 동일합니다.