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'
Copy to Clipboard Toggle word wrap

사전 요구 사항

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

프로세스

  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
    Copy to Clipboard Toggle word wrap
    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
    Copy to Clipboard Toggle word wrap

    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: '...'
    # ...
    Copy to Clipboard Toggle word wrap

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

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

검증

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

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

    출력 예

      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
    Copy to Clipboard Toggle word wrap

시드 이미지를 생성하고 준비 단계를 완료한 후 대상 클러스터를 업그레이드할 수 있습니다. 업그레이드 프로세스 동안 OADP 운영자는 OADP 사용자 정의 리소스(CR)에 지정된 아티팩트의 백업을 생성한 다음, 수명 주기 에이전트가 클러스터를 업그레이드합니다.

업그레이드가 실패하거나 중지되면 자동 롤백이 시작됩니다. 업그레이드 후 문제가 발생하면 수동 롤백을 시작할 수 있습니다. 수동 롤백에 대한 자세한 내용은 "Lifecycle Agent를 사용하여 이미지 기반 업그레이드의 롤백 단계로 이동"을 참조하세요.

사전 요구 사항

  • 준비 단계를 완료했습니다.

프로세스

  1. 업그레이드 단계로 이동하려면 다음 명령을 실행하여 ImageBasedUpgrade CR에서 stage 필드 값을 Upgrade 로 변경합니다.

    $ oc patch imagebasedupgrades.lca.openshift.io upgrade -p='{"spec": {"stage": "Upgrade"}}' --type=merge
    Copy to Clipboard Toggle word wrap
  2. 다음 명령을 실행하여 ImageBasedUpgrade CR의 상태를 확인하세요.

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

    출력 예

    status:
      conditions:
      - lastTransitionTime: "2024-01-01T09:00:00Z"
        message: In progress
        observedGeneration: 5
        reason: InProgress
        status: "False"
        type: Idle
      - lastTransitionTime: "2024-01-01T09:00:00Z"
        message: Prep completed
        observedGeneration: 5
        reason: Completed
        status: "False"
        type: PrepInProgress
      - lastTransitionTime: "2024-01-01T09:00:00Z"
        message: Prep completed successfully
        observedGeneration: 5
        reason: Completed
        status: "True"
        type: PrepCompleted
      - lastTransitionTime: "2024-01-01T09:00:00Z"
        message: |-
          Waiting for system to stabilize: one or more health checks failed
            - one or more ClusterOperators not yet ready: authentication
            - one or more MachineConfigPools not yet ready: master
            - one or more ClusterServiceVersions not yet ready: sriov-fec.v2.8.0
        observedGeneration: 1
        reason: InProgress
        status: "True"
        type: UpgradeInProgress
      observedGeneration: 1
      rollbackAvailabilityExpiration: "2024-05-19T14:01:52Z"
      validNextStages:
      - Rollback
    Copy to Clipboard Toggle word wrap

    OADP 운영자는 OADP 백업복원 CR에 지정된 데이터의 백업을 생성하고 대상 클러스터가 재부팅됩니다.

  3. 다음 명령을 실행하여 CR 상태를 모니터링합니다.

    $ oc get ibu -o yaml
    Copy to Clipboard Toggle word wrap
  4. 업그레이드에 만족한다면 다음 명령을 실행하여 ImageBasedUpgrade CR에서 stage 필드 값을 Idle 로 패치하여 변경 사항을 마무리합니다.

    $ oc patch imagebasedupgrades.lca.openshift.io upgrade -p='{"spec": {"stage": "Idle"}}' --type=merge
    Copy to Clipboard Toggle word wrap
    중요

    업그레이드 후 유휴 단계로 이동하면 변경 사항을 롤백할 수 없습니다.

    라이프사이클 에이전트는 업그레이드 프로세스 중에 생성된 모든 리소스를 삭제합니다.

  5. 업그레이드가 성공적으로 완료되면 OADP Operator와 구성 파일을 제거할 수 있습니다. 자세한 내용은 "클러스터에서 Operator 삭제"를 참조하십시오.

검증

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

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

    출력 예

    status:
      conditions:
      - lastTransitionTime: "2024-01-01T09:00:00Z"
        message: In progress
        observedGeneration: 5
        reason: InProgress
        status: "False"
        type: Idle
      - lastTransitionTime: "2024-01-01T09:00:00Z"
        message: Prep completed
        observedGeneration: 5
        reason: Completed
        status: "False"
        type: PrepInProgress
      - lastTransitionTime: "2024-01-01T09:00:00Z"
        message: Prep completed successfully
        observedGeneration: 5
        reason: Completed
        status: "True"
        type: PrepCompleted
      - lastTransitionTime: "2024-01-01T09:00:00Z"
        message: Upgrade completed
        observedGeneration: 1
        reason: Completed
        status: "False"
        type: UpgradeInProgress
      - lastTransitionTime: "2024-01-01T09:00:00Z"
        message: Upgrade completed
        observedGeneration: 1
        reason: Completed
        status: "True"
        type: UpgradeCompleted
      observedGeneration: 1
      rollbackAvailabilityExpiration: "2024-01-01T09:00:00Z"
      validNextStages:
      - Idle
      - Rollback
    Copy to Clipboard Toggle word wrap

  2. 다음 명령을 실행하여 클러스터 복원 상태를 확인하세요.

    $ oc get restores -n openshift-adp -o custom-columns=NAME:.metadata.name,Status:.status.phase,Reason:.status.failureReason
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME             Status      Reason
    acm-klusterlet   Completed   <none> 
    1
    
    apache-app       Completed   <none>
    localvolume      Completed   <none>
    Copy to Clipboard Toggle word wrap

    1
    acm-klusterlet 은 RHACM 환경에만 적용됩니다.

재부팅 후 initMonitorTimeoutSeconds 필드에 지정된 시간 프레임 내에 업그레이드가 완료되지 않으면 자동 롤백이 시작됩니다.

ImageBasedUpgrade CR 예시

apiVersion: lca.openshift.io/v1
kind: ImageBasedUpgrade
metadata:
  name: upgrade
spec:
  stage: Idle
  seedImageRef:
    version: 4.15.2
    image: <seed_container_image>
  autoRollbackOnFailure: {}
#    initMonitorTimeoutSeconds: 1800 
1

# ...
Copy to Clipboard Toggle word wrap

1
선택 사항: 첫 번째 재부팅 후 해당 시간 프레임 내에 업그레이드가 완료되지 않을 경우 롤백할 시간 프레임(초)입니다. 정의되지 않았거나 0 으로 설정된 경우 기본값인 1800 초(30분)가 사용됩니다.

업그레이드 후 해결할 수 없는 문제가 발생하면 수동으로 변경 사항을 롤백할 수 있습니다.

사전 요구 사항

  • cluster-admin 권한이 있는 사용자로 hub 클러스터에 로그인했습니다.
  • 원래 stateroot의 컨트롤 플레인 인증서가 유효한지 확인했습니다. 인증서가 만료된 경우 "종료된 컨트롤 플레인 인증서에서 복구"를 참조하십시오.

프로세스

  1. 롤백 단계로 이동하려면 다음 명령을 실행하여 stage 필드의 값을 ImageBasedUpgrade CR의 롤백 에 패치합니다.

    $ oc patch imagebasedupgrades.lca.openshift.io upgrade -p='{"spec": {"stage": "Rollback"}}' --type=merge
    Copy to Clipboard Toggle word wrap

    Lifecycle Agent는 이전에 설치한 OpenShift Container Platform 버전으로 클러스터를 재부팅하고 애플리케이션을 복원합니다.

  2. 변경 사항에 만족하는 경우 다음 명령을 실행하여 ImageBasedUpgrade CR의 stage 필드 값을 Idle 에 패치하여 롤백을 완료합니다.

    $ oc patch imagebasedupgrades.lca.openshift.io upgrade -p='{"spec": {"stage": "Idle"}}' --type=merge -n openshift-lifecycle-agent
    Copy to Clipboard Toggle word wrap
    주의

    롤백 후 Idle 단계로 이동하는 경우 Lifecycle Agent는 업그레이드 실패 문제를 해결하는 데 사용할 수 있는 리소스를 정리합니다.

15.3.4. Lifecycle Agent를 사용하여 이미지 기반 업그레이드 문제 해결

문제의 영향을 받는 관리 클러스터에서 문제 해결 단계를 수행합니다.

중요

ImageBasedGroupUpgrade CR을 사용하여 클러스터를 업그레이드하는 경우 관리되는 클러스터에서 문제 해결 또는 복구 단계를 수행한 후 lcm.openshift.io/ibgu-<stage>-completed 또는 lcm.openshift.io/ibgu-<stage>-failed 클러스터 레이블이 제대로 업데이트되었는지 확인하세요. 이렇게 하면 TALM에서 클러스터의 이미지 기반 업그레이드를 계속 관리합니다.

15.3.4.1. 로그 수집

oc adm must-gather CLI를 사용하여 디버깅 및 문제 해결을 위한 정보를 수집할 수 있습니다.

프로세스

  • 다음 명령을 실행하여 Operator에 대한 데이터를 수집합니다.

    $  oc adm must-gather \
      --dest-dir=must-gather/tmp \
      --image=$(oc -n openshift-lifecycle-agent get deployment.apps/lifecycle-agent-controller-manager -o jsonpath='{.spec.template.spec.containers[?(@.name == "manager")].image}') \
      --image=quay.io/konveyor/oadp-must-gather:latest \// 
    1
    
      --image=quay.io/openshift/origin-must-gather:latest 
    2
    Copy to Clipboard Toggle word wrap
    1
    선택 사항: OADP Operator에서 자세한 정보를 수집해야 하는 경우 이 옵션을 추가합니다.
    2
    선택 사항: SR-IOV Operator에서 자세한 정보를 수집해야 하는 경우 이 옵션을 추가합니다.

15.3.4.2. AbortFailed 또는 CryostatFailed 오류

문제

마무리 단계 또는 준비 단계에서 프로세스를 중지하면 Lifecycle Agent는 다음 리소스를 정리합니다.

  • 더 이상 필요하지 않은 Stateroot
  • 리소스 사전 처리
  • OADP CR
  • ImageBasedUpgrade CR

라이프 사이클 에이전트가 위의 단계를 수행하지 못하면 AbortFailed 또는 FinalizeFailed 상태로 전환됩니다. 조건 메시지와 로그는 어떤 단계가 실패했는지 보여줍니다.

오류 메시지의 예

message: failed to delete all the backup CRs. Perform cleanup manually then add 'lca.openshift.io/manual-cleanup-done' annotation to ibu CR to transition back to Idle
      observedGeneration: 5
      reason: AbortFailed
      status: "False"
      type: Idle
Copy to Clipboard Toggle word wrap

해결
  1. 로그를 검사하여 실패가 발생한 이유를 확인하세요.
  2. Lifecycle Agent가 정리를 다시 시도하도록 하려면 ImageBasedUpgrade CR에 lca.openshift.io/manual-cleanup-done 주석을 추가합니다.

    이 주석을 관찰한 후 Lifecycle Agent는 정리를 다시 시도하고, 성공하면 ImageBasedUpgrade 단계가 Idle 로 전환됩니다.

    정리가 다시 실패하면 리소스를 수동으로 정리할 수 있습니다.

15.3.4.2.1. stateroot 수동 정리
문제
준비 단계에서 멈추고 Lifecycle Agent는 새로운 stateroot를 정리합니다. 업그레이드나 롤백을 성공적으로 마친 후, Lifecycle Agent는 이전 stateroot를 정리합니다. 이 단계가 실패하면 로그를 검사하여 실패 원인을 확인하는 것이 좋습니다.
해결
  1. 다음 명령을 실행하여 stateroot에 기존 배포가 있는지 확인합니다.

    $ ostree admin status
    Copy to Clipboard Toggle word wrap
  2. 기존 배포가 있는 경우 다음 명령을 실행하여 기존 배포를 정리합니다.

    $ ostree admin undeploy <index_of_deployment>
    Copy to Clipboard Toggle word wrap
  3. stateroot의 모든 배포를 정리한 후 다음 명령을 실행하여 stateroot 디렉터리를 지웁니다.

    주의

    부팅된 배포가 이 stateroot에 있지 않은지 확인하세요.

    $ stateroot="<stateroot_to_delete>"
    Copy to Clipboard Toggle word wrap
    $ unshare -m /bin/sh -c "mount -o remount,rw /sysroot && rm -rf /sysroot/ostree/deploy/${stateroot}"
    Copy to Clipboard Toggle word wrap
15.3.4.2.2. OADP 리소스 수동 정리
문제
Lifecycle Agent와 S3 백엔드 간의 연결 문제로 인해 OADP 리소스의 자동 정리가 실패할 수 있습니다. 연결을 복구하고 lca.openshift.io/manual-cleanup-done 주석을 추가하면 Lifecycle Agent가 백업 리소스를 성공적으로 정리할 수 있습니다.
해결
  1. 다음 명령을 실행하여 백엔드 연결을 확인하세요.

    $ oc get backupstoragelocations.velero.io -n openshift-adp
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                          PHASE       LAST VALIDATED   AGE   DEFAULT
    dataprotectionapplication-1   Available   33s              8d    true
    Copy to Clipboard Toggle word wrap

  2. 모든 백업 리소스를 제거한 다음 ImageBasedUpgrade CR에 lca.openshift.io/manual-cleanup-done 주석을 추가합니다.

15.3.4.3. LVM 스토리지 볼륨 내용이 복구되지 않았습니다.

LVM 스토리지를 사용하여 동적 영구 볼륨 스토리지를 제공하는 경우, LVM 스토리지가 잘못 구성된 경우 영구 볼륨 내용을 복원하지 못할 수 있습니다.

15.3.4.3.1. 백업 CR에 LVM 저장소 관련 필드가 없습니다.
문제

백업 CR에 영구 볼륨을 복원하는 데 필요한 필드가 누락되었을 수 있습니다. 다음을 실행하여 애플리케이션 포드에서 이벤트를 확인하여 이 문제가 있는지 확인할 수 있습니다.

$ oc describe pod <your_app_name>
Copy to Clipboard Toggle word wrap

백업 CR에서 누락된 LVM 저장소 관련 필드를 보여주는 예제 출력

Events:
  Type     Reason            Age                From               Message
  ----     ------            ----               ----               -------
  Warning  FailedScheduling  58s (x2 over 66s)  default-scheduler  0/1 nodes are available: pod has unbound immediate PersistentVolumeClaims. preemption: 0/1 nodes are available: 1 Preemption is not helpful for scheduling..
  Normal   Scheduled         56s                default-scheduler  Successfully assigned default/db-1234 to sno1.example.lab
  Warning  FailedMount       24s (x7 over 55s)  kubelet            MountVolume.SetUp failed for volume "pvc-1234" : rpc error: code = Unknown desc = VolumeID is not found
Copy to Clipboard Toggle word wrap

해결

애플리케이션 백업 CR에 logicalvolumes.topolvm.io를 포함해야 합니다. 이 리소스가 없으면 애플리케이션은 영구 볼륨 클레임을 복원하고 영구 볼륨이 올바르게 나타나지만 이 영구 볼륨과 연결된 논리 볼륨은 피벗 후 올바르게 복원되지 않습니다.

백업 CR 예시

apiVersion: velero.io/v1
kind: Backup
metadata:
  labels:
    velero.io/storage-location: default
  name: small-app
  namespace: openshift-adp
spec:
  includedNamespaces:
  - test
  includedNamespaceScopedResources:
  - secrets
  - persistentvolumeclaims
  - deployments
  - statefulsets
  includedClusterScopedResources: 
1

  - persistentVolumes
  - volumesnapshotcontents
  - logicalvolumes.topolvm.io
Copy to Clipboard Toggle word wrap

1
애플리케이션의 영구 볼륨을 복원하려면 표시된 대로 이 섹션을 구성해야 합니다.
15.3.4.3.2. Restore CR에서 LVM 저장소 관련 필드가 누락됨
문제

업그레이드 후 애플리케이션에 대한 예상 리소스는 복구되지만 영구 볼륨 내용은 보존되지 않습니다.

  1. 피벗 전에 다음 명령을 실행하여 애플리케이션의 영구 볼륨을 나열하세요.

    $ oc get pv,pvc,logicalvolumes.topolvm.io -A
    Copy to Clipboard Toggle word wrap

    피벗 전의 출력 예

    NAME                        CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM            STORAGECLASS   REASON   AGE
    persistentvolume/pvc-1234   1Gi        RWO            Retain           Bound    default/pvc-db   lvms-vg1                4h45m
    
    NAMESPACE   NAME                           STATUS   VOLUME     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
    default     persistentvolumeclaim/pvc-db   Bound    pvc-1234   1Gi        RWO            lvms-vg1       4h45m
    
    NAMESPACE   NAME                                AGE
                logicalvolume.topolvm.io/pvc-1234   4h45m
    Copy to Clipboard Toggle word wrap

  2. 다음 명령을 피벗한 후 실행하여 애플리케이션의 영구 볼륨을 나열하세요.

    $ oc get pv,pvc,logicalvolumes.topolvm.io -A
    Copy to Clipboard Toggle word wrap

    피벗 후의 출력 예

    NAME                        CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM            STORAGECLASS   REASON   AGE
    persistentvolume/pvc-1234   1Gi        RWO            Delete           Bound    default/pvc-db   lvms-vg1                19s
    
    NAMESPACE   NAME                           STATUS   VOLUME     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
    default     persistentvolumeclaim/pvc-db   Bound    pvc-1234   1Gi        RWO            lvms-vg1       19s
    
    NAMESPACE   NAME                                AGE
                logicalvolume.topolvm.io/pvc-1234   18s
    Copy to Clipboard Toggle word wrap

해결

이 문제가 발생하는 이유는 논리 볼륨 상태가 복원 CR에서 보존되지 않기 때문입니다. 이 상태는 Velero가 피벗 후에 보존해야 하는 볼륨을 참조하는 데 필요하기 때문에 중요합니다. Restore CR 애플리케이션에는 다음 필드를 포함해야 합니다.

예제 CR 복원

apiVersion: velero.io/v1
kind: Restore
metadata:
  name: sample-vote-app
  namespace: openshift-adp
  labels:
    velero.io/storage-location: default
  annotations:
    lca.openshift.io/apply-wave: "3"
spec:
  backupName:
    sample-vote-app
  restorePVs: true 
1

  restoreStatus: 
2

    includedResources:
      - logicalvolumes
Copy to Clipboard Toggle word wrap

1
애플리케이션의 영구 볼륨을 보존하려면 restorePVs를 true 로 설정해야 합니다.
2
애플리케이션의 영구 볼륨을 보존하려면 표시된 대로 이 섹션을 구성해야 합니다.

15.3.4.4. 실패한 백업 및 복원 CR 디버깅

문제
아티팩트의 백업이나 복원이 실패했습니다.
해결

Velero CLI 도구를 사용하면 백업복원 CR을 디버깅하고 로그를 검색할 수 있습니다. Velero CLI 툴은 OpenShift CLI 툴보다 자세한 정보를 제공합니다.

  1. 다음 명령을 실행하여 오류가 포함된 백업 CR을 설명합니다.

    $ oc exec -n openshift-adp velero-7c87d58c7b-sw6fc -c velero -- ./velero describe backup -n openshift-adp backup-acm-klusterlet --details
    Copy to Clipboard Toggle word wrap
  2. 다음 명령을 실행하여 오류가 포함된 CR 복원을 설명합니다.

    $ oc exec -n openshift-adp velero-7c87d58c7b-sw6fc -c velero -- ./velero describe restore -n openshift-adp restore-acm-klusterlet --details
    Copy to Clipboard Toggle word wrap
  3. 다음 명령을 실행하여 백업된 리소스를 로컬 디렉토리에 다운로드합니다.

    $ oc exec -n openshift-adp velero-7c87d58c7b-sw6fc -c velero -- ./velero backup download -n openshift-adp backup-acm-klusterlet -o ~/backup-acm-klusterlet.tar.gz
    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