15.4.2. 여러 단계에서 대규모로 관리 클러스터에서 이미지 기반 업그레이드 수행


업그레이드가 서비스를 중단하는 시기를 더 잘 제어해야 하는 경우 이전 단계가 완료된 후 작업 추가와 함께 ImageBasedGroupUpgrade CR을 사용하여 관리 클러스터 세트를 업그레이드할 수 있습니다. 이전 단계의 결과를 평가한 후 다음 업그레이드 단계로 이동하거나 절차 전체에서 실패한 단계를 해결할 수 있습니다.

중요

지원되는 작업 조합에 특정 작업 조합만 지원 및 나열됩니다.

사전 요구 사항

  • cluster-admin 권한이 있는 사용자로 허브 클러스터에 로그인했습니다.
  • 이미지 기반 업그레이드에 사용되는 리소스에 대한 정책 및 ConfigMap 오브젝트가 생성되어 있습니다.
  • hub 클러스터를 통해 모든 관리 클러스터에 Lifecycle Agent 및 OADP Operator를 설치했습니다.

프로세스

  1. ImageBasedGroupUpgrade CR이 포함된 허브 클러스터에 YAML 파일을 생성합니다.

    apiVersion: lcm.openshift.io/v1alpha1
    kind: ImageBasedGroupUpgrade
    metadata:
      name: <filename>
      namespace: default
    spec:
      clusterLabelSelectors: 
    1
    
        - matchExpressions:
          - key: name
            operator: In
            values:
            - spoke1
            - spoke4
            - spoke6
      ibuSpec:
        seedImageRef: 
    2
    
          image: quay.io/seed/image:4.16.0-rc.1
          version: 4.16.0-rc.1
          pullSecretRef:
            name: "<seed_pull_secret>"
        extraManifests: 
    3
    
          - name: example-extra-manifests
            namespace: openshift-lifecycle-agent
        oadpContent: 
    4
    
          - name: oadp-cm
            namespace: openshift-adp
      plan: 
    5
    
        - actions: ["Prep"]
          rolloutStrategy:
            maxConcurrency: 2
            timeout: 2400
    1
    업그레이드할 클러스터입니다.
    2
    대상 플랫폼 버전, 사용할 시드 이미지, 이미지에 액세스하는 데 필요한 시크릿입니다.
    3
    선택 사항: 시드 이미지에 없는 추가 매니페스트를 대상 클러스터에 적용합니다. 사용자 정의 카탈로그 소스에 ConfigMap 오브젝트도 적용합니다.
    4
    OADP BackupRestore CR이 포함된 ConfigMap 리소스입니다.
    5
    업그레이드 계획 세부 정보.
  2. hub 클러스터에서 다음 명령을 실행하여 생성된 파일을 적용합니다.

    $ oc apply -f <filename>.yaml
  3. hub 클러스터에서 다음 명령을 실행하여 상태 업데이트를 모니터링합니다.

    $ oc get ibgu -o yaml

    출력 예

    # ...
    status:
      clusters:
      - completedActions:
        - action: Prep
        name: spoke1
      - completedActions:
        - action: Prep
        name: spoke4
      - failedActions:
        - action: Prep
        name: spoke6
    # ...

    예제 계획의 이전 출력은 Prep 단계에서만 시작되고 이전 단계의 결과에 따라 계획에 작업을 추가합니다. TALM은 업그레이드가 성공하거나 실패했는지 표시하는 레이블을 클러스터에 추가합니다. 예를 들어 lcm.openshift.io/ibgu-prep-failedPrep 단계에 실패한 클러스터에 적용됩니다.

    실패를 조사한 후 업그레이드 계획에 AbortOnFailure 단계를 추가할 수 있습니다. lcm.openshift.io/ibgu-<action >으로 레이블이 지정된 클러스터를 Idle 단계로 다시 이동합니다. 선택한 클러스터의 업그레이드와 관련된 모든 리소스가 삭제됩니다.

  4. 선택 사항: 다음 명령을 실행하여 기존 ImageBasedGroupUpgrade CR에 AbortOnFailure 작업을 추가합니다.

    $ oc patch ibgu <filename> --type=json -p \
    '[{"op": "add", "path": "/spec/plan/-", "value": {"actions": ["AbortOnFailure"], "rolloutStrategy": {"maxConcurrency": 5, "timeout": 10}}}]'
    1. 다음 명령을 실행하여 상태 업데이트를 계속 모니터링합니다.

      $ oc get ibgu -o yaml
  5. 다음 명령을 실행하여 기존 ImageBasedGroupUpgrade CR에 작업을 추가합니다.

    $ oc patch ibgu <filename> --type=json -p \
    '[{"op": "add", "path": "/spec/plan/-", "value": {"actions": ["Upgrade"], "rolloutStrategy": {"maxConcurrency": 2, "timeout": 30}}}]'
  6. 선택 사항: 다음 명령을 실행하여 기존 ImageBasedGroupUpgrade CR에 AbortOnFailure 작업을 추가합니다.

    $ oc patch ibgu <filename> --type=json -p \
    '[{"op": "add", "path": "/spec/plan/-", "value": {"actions": ["AbortOnFailure"], "rolloutStrategy": {"maxConcurrency": 5, "timeout": 10}}}]'
    1. 다음 명령을 실행하여 상태 업데이트를 계속 모니터링합니다.

      $ oc get ibgu -o yaml
  7. 다음 명령을 실행하여 기존 ImageBasedGroupUpgrade CR에 작업을 추가합니다.

    $ oc patch ibgu <filename> --type=json -p \
    '[{"op": "add", "path": "/spec/plan/-", "value": {"actions": ["FinalizeUpgrade"], "rolloutStrategy": {"maxConcurrency": 10, "timeout": 3}}}]'

검증

  • 다음 명령을 실행하여 상태 업데이트를 모니터링합니다.

    $ oc get ibgu -o yaml

    출력 예

    # ...
    status:
      clusters:
      - completedActions:
        - action: Prep
        - action: AbortOnFailure
        failedActions:
        - action: Upgrade
        name: spoke1
      - completedActions:
        - action: Prep
        - action: Upgrade
        - action: FinalizeUpgrade
        name: spoke4
      - completedActions:
        - action: AbortOnFailure
        failedActions:
        - action: Prep
        name: spoke6
    # ...

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

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

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

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

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동