15.3. Lifecycle Agent를 사용하여 단일 노드 OpenShift 클러스터에 대한 이미지 기반 업그레이드 수행


Lifecycle Agent를 사용하면 단일 노드 OpenShift 클러스터의 수동 이미지 기반 업그레이드를 수행할 수 있습니다.

클러스터에 Lifecycle Agent를 배포하면 ImageBasedUpgrade CR이 자동으로 생성됩니다. 이 CR을 업데이트하여 시드 이미지의 이미지 저장소를 지정하고 각 단계를 진행합니다.

클러스터에 Lifecycle Agent를 배포하면 ImageBasedUpgrade 사용자 정의 리소스(CR)가 자동으로 생성됩니다.

업그레이드 중에 필요한 모든 리소스를 만든 후 준비 단계로 넘어갈 수 있습니다. 자세한 내용은 "Lifecycle Agent를 사용한 이미지 기반 업그레이드를 위한 ConfigMap 객체 생성" 섹션을 참조하세요.

참고

연결이 끊긴 환경에서 시드 클러스터의 릴리스 이미지 레지스트리가 대상 클러스터의 릴리스 이미지 레지스트리와 다른 경우 대체 미러링된 저장소 위치를 구성하기 위해 ImageDigestMirrorSet (IDMS) 리소스를 만들어야 합니다. 자세한 내용은 "이미지 레지스트리 저장소 미러링 구성"을 참조하십시오.

다음 명령을 실행하면 시드 이미지에 사용된 릴리스 레지스트리를 검색할 수 있습니다.

$ skopeo inspect docker://<imagename> | jq -r '.Labels."com.openshift.lifecycle-agent.seed_cluster_info" | fromjson | .release_registry'

사전 요구 사항

  • 클러스터를 백업하고 복원하기 위한 리소스를 생성했습니다.

프로세스

  1. ImageBasedUpgrade CR에 패치가 적용되었는지 확인하세요.

    apiVersion: lca.openshift.io/v1
    kind: ImageBasedUpgrade
    metadata:
      name: upgrade
    spec:
      stage: Idle
      seedImageRef:
        version: 4.15.2 
    1
    
        image: <seed_container_image> 
    2
    
        pullSecretRef: <seed_pull_secret> 
    3
    
      autoRollbackOnFailure: {}
    #    initMonitorTimeoutSeconds: 1800 
    4
    
      extraManifests: 
    5
    
      - name: example-extra-manifests-cm
        namespace: openshift-lifecycle-agent
      - name: example-catalogsources-cm
        namespace: openshift-lifecycle-agent
      oadpContent: 
    6
    
      - name: oadp-cm-example
        namespace: openshift-adp
    1
    대상 플랫폼 버전. 값은 시드 이미지의 버전과 일치해야 합니다.
    2
    대상 클러스터가 시드 이미지를 가져올 수 있는 저장소입니다.
    3
    이미지가 개인 레지스트리에 있는 경우 컨테이너 이미지를 가져오기 위한 자격 증명이 포함된 비밀에 대한 참조입니다.
    4
    선택 사항: 첫 번째 재부팅 후 해당 시간 내에 업그레이드가 완료되지 않을 경우 롤백할 시간(초)입니다. 정의되지 않았거나 0 으로 설정된 경우 기본값인 1800 초(30분)가 사용됩니다.
    5
    선택 사항: 업그레이드 후에도 보관할 사용자 정의 카탈로그 소스와 시드 이미지에 포함되지 않은 대상 클러스터에 적용할 추가 매니페스트가 포함된 ConfigMap 리소스 목록입니다.
    6
    OADP 백업복원 CR이 포함된 ConfigMap 리소스 목록입니다.
  2. Prep 단계를 시작하려면 다음 명령을 실행하여 ImageBasedUpgrade CR에서 stage 필드 값을 Prep 으로 변경합니다.

    $ oc patch imagebasedupgrades.lca.openshift.io upgrade -p='{"spec": {"stage": "Prep"}}' --type=merge -n openshift-lifecycle-agent

    OADP 리소스와 추가 매니페스트에 대한 ConfigMap 객체를 제공하는 경우 Lifecycle Agent는 준비 단계에서 지정된 ConfigMap 객체의 유효성을 검사합니다. 다음과 같은 문제가 발생할 수 있습니다.

    • Lifecycle Agent가 extraManifests 매개변수에 문제가 있는 경우 유효성 검사 경고 또는 오류가 발생합니다.
    • Lifecycle Agent가 oadpContent 매개변수에 문제가 있는 경우 검증 오류가 발생합니다.

    유효성 검사 경고는 업그레이드 단계를 차단하지 않지만 업그레이드를 진행하는 것이 안전한지 여부를 결정해야 합니다. 이러한 경고(CRD 누락, 네임스페이스 또는 드라이런 실패 등)는 ImageBasedUpgrade CR의 준비 단계 및 주석 필드에 대한 status.conditions 를 경고에 대한 세부 정보로 업데이트합니다.

    예제 유효성 검사 경고

    # ...
    metadata:
    annotations:
      extra-manifest.lca.openshift.io/validation-warning: '...'
    # ...

    그러나 MachineConfig 또는 Operator 매니페스트를 추가 매니페스트에 추가하는 등의 유효성 검사 오류가 발생하면 준비 단계가 실패하고 업그레이드 단계가 차단됩니다.

    검증을 통과하면 클러스터는 새로운 ostree stateroot를 만듭니다. 여기에는 시드 이미지를 끌어와 압축 해제하고 호스트 수준 명령을 실행하는 작업이 포함됩니다. 마지막으로, 필요한 모든 이미지가 대상 클러스터에 미리 캐시됩니다.

검증

  • 다음 명령을 실행하여 ImageBasedUpgrade CR의 상태를 확인하세요.

    $ oc get ibu -o yaml

    출력 예

      conditions:
      - lastTransitionTime: "2024-01-01T09:00:00Z"
        message: In progress
        observedGeneration: 13
        reason: InProgress
        status: "False"
        type: Idle
      - lastTransitionTime: "2024-01-01T09:00:00Z"
        message: Prep completed
        observedGeneration: 13
        reason: Completed
        status: "False"
        type: PrepInProgress
      - lastTransitionTime: "2024-01-01T09:00:00Z"
        message: Prep stage completed successfully
        observedGeneration: 13
        reason: Completed
        status: "True"
        type: PrepCompleted
      observedGeneration: 13
      validNextStages:
      - Idle
      - Upgrade

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

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

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

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

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동