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 머신 세트의 예

    apiVersion: machine.openshift.io/v1beta1
    kind: MachineSet
    metadata:
      name: ci-ln-hmy310k-72292-5f87z-worker-a
      namespace: openshift-machine-api
    spec:
    # ...
      template:
    # ...
        spec:
    # ...
          providerSpec:
    # ...
            value:
              disks:
              - autoDelete: true
                boot: true
                image: projects/rhcos-cloud/global/images/rhcos-412-85-202203181601-0-gcp-x86-64 
    1
    
    # ...
    Copy to Clipboard Toggle word wrap

    1
    이 부팅 이미지는 현재 클러스터 버전에 관계없이 원래 설치된 OpenShift Container Platform 버전 (이 예제 OpenShift Container Platform 4.12)과 동일합니다. 부팅 이미지가 머신 세트에 표시되는 방식은 providerSpec 필드의 구조가 플랫폼마다 다르기 때문에 플랫폼에 따라 다릅니다.

    부팅 이미지 참조가 포함된 AWS 머신 세트의 예

    apiVersion: machine.openshift.io/v1beta1
    kind: MachineSet
    metadata:
      name: ci-ln-hmy310k-72292-5f87z-worker-a
      namespace: openshift-machine-api
    spec:
    # ...
      template:
    # ...
        spec:
    # ...
          providerSpec:
             value:
              ami:
                id: ami-0e8fd9094e487d1ff
    # ...
    Copy to Clipboard Toggle word wrap

  • VMware vSphere의 경우 노드에 oc debug 세션을 열고 rpm-ostree status 명령을 사용하여 영향을 받는 노드를 검사합니다.

    sh-5.1# rpm-ostree status
    Copy to Clipboard Toggle word wrap

    부팅 이미지 참조가 있는 AWS 노드의 예

    State: idle
    Deployments:
    * ostree-unverified-registry:quay.io/my-registry/...
                       Digest: sha256:...
    Copy to Clipboard Toggle word wrap

중요

부팅 이미지 관리를 활성화하려는 머신 세트가 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 configoc get ClusterOperator machine-config 명령의 출력에 추가되었습니다. 다음 일반적인 단계를 사용하여 문제를 해결할 수 있습니다.

  1. 부팅 이미지 관리 기능을 비활성화합니다. 자세한 내용은 "부팅 이미지 관리 비활성화"를 참조하십시오.
  2. Ignition 버전을 3.2.0으로 사용하도록 *-user-data 시크릿을 수동으로 업데이트합니다.
  3. 부팅 이미지 관리 기능을 활성화합니다. 자세한 내용은 "부팅 이미지 관리 활성화"를 참조하십시오.

6.9.2. 부팅 이미지 관리 비활성화

기본적으로 Google Cloud 및 AWS(Amazon Web Services) 클러스터의 경우 MCO(Machine Config Operator)는 클러스터를 업데이트할 때마다 클러스터의 머신 세트에서 부팅 이미지를 관리하고 업데이트합니다. VMware vSphere의 경우 기술 프리뷰 기능으로 부팅 이미지 관리를 활성화할 수 있습니다.

MachineConfiguration 오브젝트를 편집하여 클러스터의 부팅 이미지 관리 기능을 비활성화할 수 있습니다. 비활성화되면 MCO(Machine Config Operator)에서 더 이상 클러스터의 부팅 이미지를 관리하지 않으며 각 클러스터 업데이트로 부팅 이미지를 업데이트하지 않습니다.

이 기능을 비활성화해도 노드나 머신 세트는 원래 설치된 부트 이미지로 롤백되지 않습니다. 머신 세트는 기능이 비활성화되고 클러스터가 향후 새 OpenShift Container Platform 버전으로 업그레이드된 경우 업데이트되지 않은 부팅 이미지 버전을 유지합니다. 이 기능은 기존 노드에는 영향을 미치지 않습니다.

기능을 비활성화한 후에는 언제든지 기능을 다시 활성화할 수 있습니다. 자세한 내용은 "업데이트된 부팅 이미지 활성화"를 참조하십시오.

프로세스

  1. MachineConfiguration 오브젝트를 편집하여 일부 또는 모든 머신 세트의 부팅 이미지 관리 기능을 비활성화합니다.

    $ oc edit MachineConfiguration cluster
    Copy to Clipboard Toggle word wrap
    • 선택 사항: 모든 머신 세트의 기능을 비활성화합니다.

      apiVersion: operator.openshift.io/v1
      kind: MachineConfiguration
      metadata:
        name: cluster
        namespace: openshift-machine-config-operator
      spec:
      # ...
        managedBootImages: 
      1
      
          machineManagers:
          - apiGroup: machine.openshift.io 
      2
      
            resource: machinesets 
      3
      
            selection:
              mode: None 
      4
      Copy to Clipboard Toggle word wrap
      1
      부팅 이미지 관리 기능을 구성합니다.
      2
      API 그룹을 지정합니다. machine.openshift.io 여야 합니다.
      3
      변경 사항을 적용할 지정된 API 그룹 내의 리소스를 지정합니다. 이는 machinesets 여야 합니다.
      4
      클러스터의 모든 머신 세트에 대해 기능이 비활성화되도록 지정합니다.

검증

  • 영향을 받는 노드가 READY 상태로 돌아가 머신 구성 오브젝트를 확인하여 부팅 이미지 관리 기능의 현재 상태를 확인합니다.

    $ oc get machineconfiguration cluster -o yaml
    Copy to Clipboard Toggle word wrap

    부팅 이미지 참조가 있는 머신 세트 예

    kind: MachineConfiguration
    metadata:
      name: cluster
    # ...
    status:
      conditions:
      - lastTransitionTime: "2025-05-01T20:11:49Z"
        message: Reconciled 2 of 4 MAPI MachineSets | Reconciled 0 of 0 CAPI MachineSets
          | Reconciled 0 of 0 CAPI MachineDeployments
        reason: BootImageUpdateConfigurationUpdated
        status: "True"
        type: BootImageUpdateProgressing
      - lastTransitionTime: "2025-05-01T19:30:13Z"
        message: 0 Degraded MAPI MachineSets | 0 Degraded CAPI MachineSets | 0 CAPI MachineDeployments
        reason: BootImageUpdateConfigurationUpdated
        status: "False"
        type: BootImageUpdateDegraded
      managedBootImagesStatus:
        machineManagers:
        - apiGroup: machine.openshift.io
          resource: machinesets
          selection:
            mode: All
    Copy to Clipboard Toggle word wrap

  • 영향을 받는 노드가 READY 상태로 돌아가면 다음 방법 중 하나를 사용하여 현재 부팅 이미지를 확인합니다.

    • Google Cloud 및 AWS의 경우 다음 명령을 실행하여 부팅 이미지 버전을 가져옵니다. 머신 세트 내의 부팅 이미지의 위치와 형식은 플랫폼에 따라 다릅니다. 그러나 부팅 이미지는 항상 spec.template.spec.providerSpec. 매개변수에 나열됩니다.

      $ oc get machinesets <machineset_name> -n openshift-machine-api -o yaml
      Copy to Clipboard Toggle word wrap

      부팅 이미지 참조가 있는 머신 세트 예

      apiVersion: machine.openshift.io/v1beta1
      kind: MachineSet
      metadata:
        labels:
          machine.openshift.io/cluster-api-cluster: ci-ln-77hmkpt-72292-d4pxp
          update-boot-image: "true"
        name: ci-ln-77hmkpt-72292-d4pxp-worker-a
        namespace: openshift-machine-api
      spec:
      # ...
        template:
      # ...
          spec:
      # ...
            providerSpec:
      # ...
              value:
                disks:
                - autoDelete: true
                  boot: true
                  image: projects/rhcos-cloud/global/images/<boot_image> 
      1
      
      # ...
      Copy to Clipboard Toggle word wrap

      1
      이 부팅 이미지는 현재 OpenShift Container Platform 버전과 동일합니다.
    • VMware vSphere의 경우 영향을 받는 노드에서 부팅 이미지 버전을 가져옵니다.

      1. 다음과 유사한 명령을 실행하여 노드에 대한 oc debug 세션을 엽니다.

        $ oc debug node/<node_name>
        Copy to Clipboard Toggle word wrap
      2. 다음 명령을 실행하여 디버그 쉘 내에서 /host 를 root 디렉터리로 설정합니다.

        sh-5.1# chroot /host
        Copy to Clipboard Toggle word wrap
      3. rpm-ostree status 명령을 실행하여 사용자 정의 계층화된 이미지가 사용 중인지 확인합니다.

        sh-5.1# rpm-ostree status
        Copy to Clipboard Toggle word wrap

        출력 예

        State: idle
        Deployments:
        * ostree-unverified-registry:quay.io/my-registry/...
                           Digest: sha256:...
        Copy to Clipboard Toggle word wrap

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 오브젝트에 표시될 때까지 기다립니다.

    apiVersion: operator.openshift.io/v1
    kind: MachineConfiguration
    metadata:
      name: cluster
    # ...
    status:
    # ...
      managedBootImagesStatus:
        machineManagers:
        - apiGroup: machine.openshift.io
          resource: machinesets
          selection:
            mode: None
    Copy to Clipboard Toggle word wrap

프로세스

  1. cluster 라는 MachineConfiguration 오브젝트를 편집하여 일부 또는 모든 머신 세트의 부팅 이미지 관리 기능을 활성화합니다.

    $ oc edit MachineConfiguration cluster
    Copy to Clipboard Toggle word wrap
    • 선택 사항: 모든 머신 세트의 부팅 이미지 관리 기능을 활성화합니다.

      apiVersion: operator.openshift.io/v1
      kind: MachineConfiguration
      metadata:
        name: cluster
        namespace: openshift-machine-config-operator
      spec:
      # ...
        managedBootImages: 
      1
      
          machineManagers:
          - apiGroup: machine.openshift.io 
      2
      
            resource: machinesets 
      3
      
            selection:
              mode: All 
      4
      Copy to Clipboard Toggle word wrap
      1
      부팅 이미지 관리 기능을 구성합니다.
      2
      API 그룹을 지정합니다. machine.openshift.io 여야 합니다.
      3
      변경 사항을 적용할 지정된 API 그룹 내의 리소스를 지정합니다. 이는 machinesets 여야 합니다.
      4
      클러스터의 모든 머신 세트에 대해 기능이 활성화되도록 지정합니다.
    • 선택 사항: 특정 머신 세트의 부팅 이미지 관리 기능을 활성화합니다.

      apiVersion: operator.openshift.io/v1
      kind: MachineConfiguration
      metadata:
        name: cluster
        namespace: openshift-machine-config-operator
      spec:
      # ...
        managedBootImages: 
      1
      
          machineManagers:
          - apiGroup: machine.openshift.io 
      2
      
            resource: machinesets 
      3
      
            selection:
              mode: Partial 
      4
      
              partial:
                machineResourceSelector:
                  matchLabels:
                    region: "east"
      Copy to Clipboard Toggle word wrap
      1
      부팅 이미지 업데이트 기능을 구성합니다.
      2
      API 그룹을 지정합니다. machine.openshift.io 여야 합니다.
      3
      변경 사항을 적용할 지정된 API 그룹 내의 리소스를 지정합니다. 이는 machinesets 여야 합니다.
      4
      라벨이 지정된 머신 세트에 기능을 사용하도록 지정합니다.
      작은 정보

      머신 세트에 적절한 라벨이 없는 경우 다음과 유사한 명령을 실행하여 키-값 쌍을 추가합니다.

      $ oc label machineset.machine ci-ln-hmy310k-72292-5f87z-worker-a region="east" -n openshift-machine-api
      Copy to Clipboard Toggle word wrap

검증

  • 영향을 받는 노드가 READY 상태로 돌아가 머신 구성 오브젝트를 확인하여 부팅 이미지 관리 기능의 현재 상태를 확인합니다.

    $ oc get machineconfiguration cluster -o yaml
    Copy to Clipboard Toggle word wrap

    부팅 이미지 참조가 있는 머신 세트 예

    kind: MachineConfiguration
    metadata:
      name: cluster
    # ...
    status:
      conditions:
      - lastTransitionTime: "2025-05-01T20:11:49Z"
        message: Reconciled 2 of 4 MAPI MachineSets | Reconciled 0 of 0 CAPI MachineSets
          | Reconciled 0 of 0 CAPI MachineDeployments
        reason: BootImageUpdateConfigurationUpdated
        status: "True"
        type: BootImageUpdateProgressing
      - lastTransitionTime: "2025-05-01T19:30:13Z"
        message: 0 Degraded MAPI MachineSets | 0 Degraded CAPI MachineSets | 0 CAPI MachineDeployments
        reason: BootImageUpdateConfigurationUpdated
        status: "False"
        type: BootImageUpdateDegraded
      managedBootImagesStatus:
        machineManagers:
        - apiGroup: machine.openshift.io
          resource: machinesets
          selection:
            mode: All
    Copy to Clipboard Toggle word wrap

  • 영향을 받는 노드가 READY 상태로 돌아가면 다음 방법 중 하나를 사용하여 현재 부팅 이미지를 확인합니다.

    • Google Cloud 및 AWS의 경우 다음 명령을 실행하여 부팅 이미지 버전을 가져옵니다. 머신 세트 내의 부팅 이미지의 위치와 형식은 플랫폼에 따라 다릅니다. 그러나 부팅 이미지는 항상 spec.template.spec.providerSpec. 매개변수에 나열됩니다.

      $ oc get machinesets <machineset_name> -n openshift-machine-api -o yaml
      Copy to Clipboard Toggle word wrap

      부팅 이미지 참조가 있는 머신 세트 예

      apiVersion: machine.openshift.io/v1beta1
      kind: MachineSet
      metadata:
        labels:
          machine.openshift.io/cluster-api-cluster: ci-ln-77hmkpt-72292-d4pxp
          update-boot-image: "true"
        name: ci-ln-77hmkpt-72292-d4pxp-worker-a
        namespace: openshift-machine-api
      spec:
      # ...
        template:
      # ...
          spec:
      # ...
            providerSpec:
      # ...
              value:
                disks:
                - autoDelete: true
                  boot: true
                  image: projects/rhcos-cloud/global/images/<boot_image> 
      1
      
      # ...
      Copy to Clipboard Toggle word wrap

      1
      이 부팅 이미지는 현재 OpenShift Container Platform 버전과 동일합니다.
    • VMware vSphere의 경우 영향을 받는 노드에서 부팅 이미지 버전을 가져옵니다.

      1. 다음과 유사한 명령을 실행하여 노드에 대한 oc debug 세션을 엽니다.

        $ oc debug node/<node_name>
        Copy to Clipboard Toggle word wrap
      2. 다음 명령을 실행하여 디버그 쉘 내에서 /host 를 root 디렉터리로 설정합니다.

        sh-5.1# chroot /host
        Copy to Clipboard Toggle word wrap
      3. rpm-ostree status 명령을 실행하여 사용자 정의 계층화된 이미지가 사용 중인지 확인합니다.

        sh-5.1# rpm-ostree status
        Copy to Clipboard Toggle word wrap

        출력 예

        State: idle
        Deployments:
        * ostree-unverified-registry:quay.io/my-registry/...
                           Digest: sha256:...
        Copy to Clipboard Toggle word wrap

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat