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


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

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

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

업그레이드 중에 필요한 모든 리소스를 생성한 후 Prep 단계로 이동할 수 있습니다. 자세한 내용은 "라이프사이클 에이전트를 사용한 이미지 기반 업그레이드에 대한 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: <target_version>
        image: <seed_container_image>
        pullSecretRef: <seed_pull_secret>
      autoRollbackOnFailure: {}
        initMonitorTimeoutSeconds: <initMonitorTimeoutSeconds>
      extraManifests:
      - name: example-extra-manifests-cm
        namespace: openshift-lifecycle-agent
      - name: example-catalogsources-cm
        namespace: openshift-lifecycle-agent
      oadpContent:
      - name: oadp-cm-example
        namespace: openshift-adp

    다음과 같습니다.

    <target_version>
    대상 플랫폼 버전. 값은 시드 이미지 버전과 일치해야 합니다.
    <seed_container_image>
    대상 클러스터에서 시드 이미지를 가져올 수 있는 리포지토리입니다.
    <seed_pull_secret>
    이미지가 프라이빗 레지스트리에 있는 경우 컨테이너 이미지를 가져오는 인증 정보가 있는 보안에 대한 참조입니다.
    <initMonitorTimeoutSeconds>
    선택 사항: 첫 번째 재부팅 후 업그레이드가 완료되지 않으면 롤백할 시간(초)입니다. 정의되지 않았거나 0 으로 설정되지 않은 경우 Lifecycle Agent는 기본값 1800 초 (30 분)를 사용합니다.
    extraManifests
    선택사항: ConfigMap 리소스 목록입니다. 이러한 리소스에는 업그레이드 후 유지할 사용자 정의 카탈로그 소스와 시드 이미지에 포함되지 않은 추가 매니페스트가 포함됩니다.
    oadpContent
    OADP BackupRestore 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는 Prep 단계에서 지정된 ConfigMap 오브젝트를 검증합니다.

    다음과 같은 문제가 발생할 수 있습니다.

    • Lifecycle Agent가 추가Manifests 매개변수와 관련된 문제를 감지하면 유효성 검사 경고 또는 오류입니다.
    • 라이프사이클 에이전트가 oadpContent 매개변수와 관련된 문제를 감지하면 유효성 검사 오류가 발생합니다.

    검증 경고는 업그레이드 단계를 차단하지 않지만 업그레이드를 진행하는 것이 안전한지 결정해야 합니다. 이러한 경고(예: 누락된 CRD(사용자 정의 리소스 정의), 네임스페이스 또는 예행 실행 실패와 같은 경고에 대한 세부 정보를 사용하여 ImageBasedUpgrade CR의 Prep stage 및 annotation 필드에 대한 status.conditions 를 업데이트합니다. 다음 예제에서는 이러한 세부 정보를 보여줍니다.

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

    그러나 MachineConfig 또는 Operator 매니페스트를 추가 매니페스트에 추가하는 것과 같은 검증 오류로 인해 Prep 단계가 실패하고 Upgrade 단계를 차단합니다.

    검증을 통과하면 클러스터에서 새 ostree stateroot를 생성합니다. 여기에는 시드 이미지를 가져오고 압축 해제하고 호스트 수준 명령을 실행하는 작업이 포함됩니다. 마지막으로 Lifecycle Agent는 대상 클러스터에서 필요한 모든 이미지를 사전 캐시합니다.

검증

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

    $ oc get ibu -o yaml

    다음 예제에서는 성공적인 Prep 단계를 보여줍니다.

      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
맨 위로 이동