6.9. 부팅 이미지 관리
Google Cloud 및 AWS(Amazon Web Services) 클러스터의 경우 기본적으로 MCO(Machine Config Operator)는 노드를 확장하는 데 사용되는 부팅 이미지를 관리하고 업데이트합니다. 즉, 기본적으로 MCO는 클러스터를 업그레이드할 때마다 부팅 이미지를 업데이트합니다.
VMware vSphere의 경우 기술 프리뷰 기능으로 부팅 이미지 관리를 활성화할 수 있습니다.
다른 모든 플랫폼의 경우 MCO는 각 클러스터 업데이트로 부팅 이미지를 업데이트하지 않습니다.
vSphere에서 부팅 이미지 관리는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
6.9.1. 부팅 이미지 관리 정보 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 Google Cloud 및 AWS(Amazon Web Services) 클러스터의 경우 MCO(Machine Config Operator)는 클러스터를 업데이트할 때마다 클러스터의 머신 세트의 부팅 이미지를 업데이트합니다.
VMware vSphere의 경우 기술 프리뷰 기능으로 부팅 이미지 관리를 활성화할 수 있습니다. 이 기능을 활성화하는 방법에 대한 자세한 내용은 "부팅 이미지 관리 활성화"를 참조하십시오.
vSphere에서 부팅 이미지 관리는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
필요한 경우 부팅 이미지 관리 기능을 비활성화할 수 있습니다. 기능이 비활성화되면 부팅 이미지가 더 이상 클러스터로 업데이트되지 않습니다. 예를 들어, 기능이 비활성화된 경우 클러스터가 원래 OpenShift Container Platform 4.16을 사용하여 생성된 경우 MCO가 노드를 생성하는 데 사용할 부팅 이미지는 클러스터가 이후 버전에 있더라도 4.16 버전과 동일합니다.
그러나 이전 부팅 이미지를 사용하면 다음과 같은 문제가 발생할 수 있습니다.
- 노드를 시작하는 추가 시간
- 인증서 만료 문제
- 버전 skew 문제
이 기능을 비활성화하는 방법에 대한 자세한 내용은 "부팅 이미지 관리 비활성화"를 참조하십시오. 이 기능을 비활성화하면 언제든지 기능을 다시 활성화할 수 있습니다. 자세한 내용은 "부팅 이미지 관리 활성화"를 참조하십시오.
부팅 이미지 관리를 구성하는 기능은 Google Cloud 및 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 버전을 사용합니다.
부팅 이미지는 노드가 확장될 때만 사용되므로 이 기능은 기존 노드에는 영향을 미치지 않습니다.
클러스터에서 사용되는 현재 부팅 이미지를 보려면 플랫폼에 따라 다음 방법 중 하나를 사용합니다.
Google Cloud 및 AWS의 경우 머신 세트를 검사할 수 있습니다.
참고머신 세트 내의 부팅 이미지의 위치와 형식은 플랫폼에 따라 다릅니다. 그러나 부팅 이미지는 항상
spec.template.spec.providerSpec.
매개변수에 나열됩니다.부팅 이미지 참조가 포함된 Google Cloud 머신 세트의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 이 부팅 이미지는 현재 클러스터 버전에 관계없이 원래 설치된 OpenShift Container Platform 버전 (이 예제 OpenShift Container Platform 4.12)과 동일합니다. 부팅 이미지가 머신 세트에 표시되는 방식은
providerSpec
필드의 구조가 플랫폼마다 다르기 때문에 플랫폼에 따라 다릅니다.
부팅 이미지 참조가 포함된 AWS 머신 세트의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow VMware vSphere의 경우 노드에
oc debug
세션을 열고rpm-ostree status
명령을 사용하여 영향을 받는 노드를 검사합니다.rpm-ostree status
sh-5.1# rpm-ostree status
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 부팅 이미지 참조가 있는 AWS 노드의 예
State: idle Deployments: * ostree-unverified-registry:quay.io/my-registry/... Digest: sha256:...
State: idle Deployments: * ostree-unverified-registry:quay.io/my-registry/... Digest: sha256:...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
부팅 이미지 관리를 활성화하려는 머신 세트가 Ignition 버전 2.2.0을 기반으로 하는 *-user-data
시크릿을 사용하는 경우 Machine Config Operator는 기능을 활성화할 때 Ignition 버전을 3.4.0으로 변환합니다. OpenShift Container Platform 버전 4.5 이상에서는 Ignition 버전 2.2.0을 사용합니다. 이 변환에 실패하면 MCO 또는 클러스터의 성능이 저하될 수 있습니다. err: converting ignition stub failed: failed to parse Ignition config 가 oc get ClusterOperator machine-config
명령의 출력에 추가되었습니다. 다음 일반적인 단계를 사용하여 문제를 해결할 수 있습니다.
- 부팅 이미지 관리 기능을 비활성화합니다. 자세한 내용은 "부팅 이미지 관리 비활성화"를 참조하십시오.
-
Ignition 버전을 3.2.0으로 사용하도록
*-user-data
시크릿을 수동으로 업데이트합니다. - 부팅 이미지 관리 기능을 활성화합니다. 자세한 내용은 "부팅 이미지 관리 활성화"를 참조하십시오.
6.9.2. 부팅 이미지 관리 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 Google Cloud 및 AWS(Amazon Web Services) 클러스터의 경우 MCO(Machine Config Operator)는 클러스터를 업데이트할 때마다 클러스터의 머신 세트에서 부팅 이미지를 관리하고 업데이트합니다. VMware vSphere의 경우 기술 프리뷰 기능으로 부팅 이미지 관리를 활성화할 수 있습니다.
MachineConfiguration
오브젝트를 편집하여 클러스터의 부팅 이미지 관리 기능을 비활성화할 수 있습니다. 비활성화되면 MCO(Machine Config Operator)에서 더 이상 클러스터의 부팅 이미지를 관리하지 않으며 각 클러스터 업데이트로 부팅 이미지를 업데이트하지 않습니다.
이 기능을 비활성화해도 노드나 머신 세트는 원래 설치된 부트 이미지로 롤백되지 않습니다. 머신 세트는 기능이 비활성화되고 클러스터가 향후 새 OpenShift Container Platform 버전으로 업그레이드된 경우 업데이트되지 않은 부팅 이미지 버전을 유지합니다. 이 기능은 기존 노드에는 영향을 미치지 않습니다.
기능을 비활성화한 후에는 언제든지 기능을 다시 활성화할 수 있습니다. 자세한 내용은 "업데이트된 부팅 이미지 활성화"를 참조하십시오.
프로세스
MachineConfiguration
오브젝트를 편집하여 일부 또는 모든 머신 세트의 부팅 이미지 관리 기능을 비활성화합니다.oc edit MachineConfiguration cluster
$ oc edit MachineConfiguration cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
영향을 받는 노드가
READY
상태로 돌아가 머신 구성 오브젝트를 확인하여 부팅 이미지 관리 기능의 현재 상태를 확인합니다.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 영향을 받는 노드가
READY
상태로 돌아가면 다음 방법 중 하나를 사용하여 현재 부팅 이미지를 확인합니다.Google Cloud 및 AWS의 경우 다음 명령을 실행하여 부팅 이미지 버전을 가져옵니다. 머신 세트 내의 부팅 이미지의 위치와 형식은 플랫폼에 따라 다릅니다. 그러나 부팅 이미지는 항상
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 버전과 동일합니다.
VMware vSphere의 경우 영향을 받는 노드에서 부팅 이미지 버전을 가져옵니다.
다음과 유사한 명령을 실행하여 노드에 대한
oc debug
세션을 엽니다.oc debug node/<node_name>
$ oc debug node/<node_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 디버그 쉘 내에서
/host
를 root 디렉터리로 설정합니다.chroot /host
sh-5.1# chroot /host
Copy to Clipboard Copied! Toggle word wrap Toggle overflow rpm-ostree status
명령을 실행하여 사용자 정의 계층화된 이미지가 사용 중인지 확인합니다.rpm-ostree status
sh-5.1# rpm-ostree status
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
State: idle Deployments: * ostree-unverified-registry:quay.io/my-registry/... Digest: sha256:...
State: idle Deployments: * ostree-unverified-registry:quay.io/my-registry/... Digest: sha256:...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.9.3. 부팅 이미지 관리 활성화 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 Google Cloud 및 AWS(Amazon Web Services) 클러스터의 경우 MCO(Machine Config Operator)는 클러스터를 업데이트할 때마다 클러스터의 머신 세트의 부팅 이미지를 업데이트합니다.
부팅 이미지 관리 기능을 비활성화하여 부팅 이미지가 업데이트되지 않도록 하려면 MachineConfiguration
오브젝트를 편집하여 기능을 다시 활성화할 수 있습니다.
VMware vSphere의 경우 기술 프리뷰 기능으로 부팅 이미지 관리를 활성화할 수 있습니다.
vSphere에서 부팅 이미지 관리는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
기능을 활성화하면 부팅 이미지가 현재 OpenShift Container Platform 버전으로 업데이트됩니다. 나중에 클러스터가 새 OpenShift Container Platform 버전으로 다시 업데이트되면 부팅 이미지가 다시 업데이트됩니다. 기능을 활성화한 후 생성된 새 노드는 업데이트된 부팅 이미지를 사용합니다. 이 기능은 기존 노드에는 영향을 미치지 않습니다.
사전 요구 사항
vSphere의 경우 클러스터에
TechPreviewNoUpgrade
기능을 활성화합니다. 자세한 내용은 "기능 게이트를 사용하여 기능 활성화"를 참조하십시오.참고TechPreviewNoUpgrade
기능 세트를 활성화하면 취소할 수 없으며 마이너 버전 업데이트가 허용되지 않습니다. 이러한 기능 세트는 프로덕션 클러스터에서는 권장되지 않습니다.managedBootImagesStatus
스탠자가MachineConfiguration
오브젝트에 표시될 때까지 기다립니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
프로세스
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
검증
영향을 받는 노드가
READY
상태로 돌아가 머신 구성 오브젝트를 확인하여 부팅 이미지 관리 기능의 현재 상태를 확인합니다.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 영향을 받는 노드가
READY
상태로 돌아가면 다음 방법 중 하나를 사용하여 현재 부팅 이미지를 확인합니다.Google Cloud 및 AWS의 경우 다음 명령을 실행하여 부팅 이미지 버전을 가져옵니다. 머신 세트 내의 부팅 이미지의 위치와 형식은 플랫폼에 따라 다릅니다. 그러나 부팅 이미지는 항상
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 버전과 동일합니다.
VMware vSphere의 경우 영향을 받는 노드에서 부팅 이미지 버전을 가져옵니다.
다음과 유사한 명령을 실행하여 노드에 대한
oc debug
세션을 엽니다.oc debug node/<node_name>
$ oc debug node/<node_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 디버그 쉘 내에서
/host
를 root 디렉터리로 설정합니다.chroot /host
sh-5.1# chroot /host
Copy to Clipboard Copied! Toggle word wrap Toggle overflow rpm-ostree status
명령을 실행하여 사용자 정의 계층화된 이미지가 사용 중인지 확인합니다.rpm-ostree status
sh-5.1# rpm-ostree status
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
State: idle Deployments: * ostree-unverified-registry:quay.io/my-registry/... Digest: sha256:...
State: idle Deployments: * ostree-unverified-registry:quay.io/my-registry/... Digest: sha256:...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow