5장. 업데이트된 부팅 이미지


MCO(Machine Config Operator)는 부팅 이미지를 사용하여 RHCOS(Red Hat Enterprise Linux CoreOS) 노드를 시작합니다. 기본적으로 OpenShift Container Platform은 부팅 이미지를 관리하지 않습니다.

즉 클러스터의 부팅 이미지가 클러스터와 함께 업데이트되지 않습니다. 예를 들어 클러스터가 원래 OpenShift Container Platform 4.12를 사용하여 생성된 경우 클러스터를 생성하는 데 사용하는 부팅 이미지는 클러스터가 이후 버전에 있더라도 동일한 4.12 버전입니다. 나중에 클러스터가 4.13 이상으로 업그레이드된 경우 새 노드는 동일한 4.12 이미지로 계속 확장됩니다.

이 프로세스에서는 다음과 같은 문제가 발생할 수 있습니다.

  • 노드를 시작하는 추가 시간
  • 인증서 만료 문제
  • 버전 skew 문제

이러한 문제를 방지하려면 클러스터를 업데이트할 때마다 부팅 이미지를 업데이트하도록 클러스터를 구성할 수 있습니다. MachineConfiguration 오브젝트를 수정하여 이 기능을 활성화할 수 있습니다. 현재 GCP(Google Cloud Platform) 클러스터에서만 부팅 이미지를 업데이트할 수 있으며 Cluster API에서 관리하는 클러스터에서는 지원되지 않습니다.

중요

부팅 이미지 업데이트 기능은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

클러스터에 사용된 현재 부팅 이미지를 보려면 머신 세트를 검사합니다.

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

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
# ...

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

부팅 이미지를 업데이트하도록 클러스터를 구성하면 머신 세트에서 참조하는 부팅 이미지가 현재 클러스터 버전과 일치합니다.

5.1. 업데이트된 부팅 이미지 구성

기본적으로 OpenShift Container Platform은 부팅 이미지를 관리하지 않습니다. MachineConfiguration 오브젝트를 수정하여 클러스터를 업데이트할 때마다 부팅 이미지를 업데이트하도록 클러스터를 구성할 수 있습니다.

사전 요구 사항

  • 기능 게이트를 사용하여 설정된 TechPreviewNoUpgrade 기능을 활성화했습니다. 자세한 내용은 추가 리소스 섹션의 "기능 게이트를 사용하여 기능 활성화"를 참조하십시오.

프로세스

  1. 다음 명령을 실행하여 부팅 이미지 업데이트를 활성화하려면 cluster 라는 MachineConfiguration 오브젝트를 편집합니다.

    $ oc edit MachineConfiguration cluster
    1. 선택 사항: 모든 머신 세트의 부팅 이미지 업데이트 기능을 구성합니다.

      apiVersion: operator.openshift.io/v1
      kind: MachineConfiguration
      metadata:
        name: cluster
        namespace: openshift-machine-config-operator
      spec:
      # ...
        managedBootImages: 1
          machineManagers:
          - resource: machinesets
            apiGroup: machine.openshift.io
            selection:
              mode: All 2
      1
      부팅 이미지 업데이트 기능을 활성화합니다.
      2
      클러스터의 모든 머신 세트가 업데이트되도록 지정합니다.
    2. 선택 사항: 특정 머신 세트의 부팅 이미지 업데이트 기능을 구성합니다.

      apiVersion: operator.openshift.io/v1
      kind: MachineConfiguration
      metadata:
        name: cluster
        namespace: openshift-machine-config-operator
      spec:
      # ...
        managedBootImages: 1
          machineManagers:
          - resource: machinesets
            apiGroup: machine.openshift.io
            selection:
              mode: Partial
                partial:
                  machineResourceSelector:
                    matchLabels:
                      update-boot-image: "true" 2
      1
      부팅 이미지 업데이트 기능을 활성화합니다.
      2
      이 레이블이 있는 모든 머신 세트를 업데이트할 수 있도록 지정합니다.
      작은 정보

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

      $ oc label machineset.machine ci-ln-hmy310k-72292-5f87z-worker-a update-boot-image=true -n openshift-machine-api

검증

  1. 다음 명령을 실행하여 부팅 이미지 버전을 가져옵니다.

    $ oc get machinesets <machineset_name> -n openshift-machine-api -o yaml

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

    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/rhcos-416-92-202402201450-0-gcp-x86-64 1
    # ...

    1
    이 부팅 이미지는 현재 OpenShift Container Platform 버전과 동일합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.