3.11. 재해 복구 솔루션 테스트를 위한 샘플 애플리케이션 생성


OpenShift Data Foundation 재해 복구(DR) 솔루션은 RHACM에서 관리하는 서브스크립션 기반 및 ApplicationSet 기반 애플리케이션에 대한 재해 복구를 지원합니다. 자세한 내용은 서브스크립션애플리케이션 세트 설명서를 참조하십시오.

다음 섹션에서는 애플리케이션을 생성하고 DRPolicy를 애플리케이션에 적용하는 방법을 자세히 설명합니다.

3.11.1. 서브스크립션 기반 애플리케이션

3.11.1.1. 샘플 애플리케이션 생성

기본 관리 클러스터에서 보조 관리 클러스터로 장애 조치를 테스트하고 재배치 하려면 샘플 애플리케이션이 필요합니다.

사전 요구 사항

  • Red Hat OpenShift GitOps Operator가 Hub 클러스터에 설치되어 있는지 확인합니다. 자세한 내용은 RHACM 설명서를 참조하십시오.
  • 일반 사용을 위해 애플리케이션을 생성할 때 애플리케이션이 하나의 클러스터에만 배포되었는지 확인합니다.
  • busybox 라는 샘플 애플리케이션을 예로 사용합니다.
  • 애플리케이션이 장애되거나 재배치될 때 트래픽 리디렉션을 위해 GTM(Global Traffic Manager) 또는 GLSB(Global Server Load Balancing) 서비스를 사용하여 애플리케이션의 모든 외부 경로가 구성되었는지 확인합니다.
  • 모범 사례로 함께 속해 있는 RHACM(Red Hat Advanced Cluster Management) 서브스크립션을 그룹화하여 DR에 대한 단일 배치 규칙을 그룹로 보호하는 것이 좋습니다. 장애 조치(failover) 및 재배치와 같은 향후 DR 작업에 대한 서브스크립션의 논리적 그룹화를 위한 단일 애플리케이션으로 추가로 생성합니다.

    참고

    관련이 없는 서브스크립션이 배치 작업에 대해 동일한 배치 규칙을 참조하는 경우 DR 워크플로우는 배치 규칙을 참조하는 모든 서브스크립션을 제어하므로 DR 보호도 됩니다.

절차

  1. Hub 클러스터에서 애플리케이션으로 이동하여 애플리케이션 생성 을 클릭합니다.
  2. Subscription 으로 type을 선택합니다.
  3. 애플리케이션 이름 (예: busybox)과 네임스페이스 (예: busybox-sample)를 입력합니다.
  4. Repository location for resources 섹션에서 Repository type Git 을 선택합니다.
  5. 샘플 애플리케이션의 Git 리포지토리 URL, busybox Pod 및 PVC 리소스가 생성될 github 분기경로 를 입력합니다.

    분기릴리스-4.13 이고 Pathbusybox-odr-metrohttps://github.com/red-hat-storage/ocm-ramen-samples 로 샘플 애플리케이션 리포지터리를 사용합니다.

  6. 지정된 모든 레이블이 있는 클러스터에 애플리케이션 리소스 배포가 표시될 때까지 양식에서 아래로 스크롤합니다.

    • 글로벌 클러스터 세트 또는 사용자 환경에 대한 올바른 관리 클러스터를 포함하는 클러스터를 선택합니다.
    • 값이 관리되는 클러스터 이름으로 설정된 & lt;name> 레이블을 추가합니다.
  7. 오른쪽 상단에 있는 만들기 를 클릭합니다.

    후속 화면에서 토폴로지 탭으로 이동합니다. 애플리케이션 토폴로지에 모든 녹색 확인 표시가 있는지 확인해야 합니다.

    참고

    자세한 정보를 얻으려면 토폴로지 요소를 클릭하면 토폴로지 보기 오른쪽에 창이 표시됩니다.

  8. 샘플 애플리케이션 배포 검증.

    busybox 애플리케이션이 기본 클러스터에 배포되었으므로 배포를 검증할 수 있습니다.

    RHACM에서 busybox 를 배포한 관리형 클러스터에 로그인합니다.

    $ oc get pods,pvc -n busybox-sample
    Copy to Clipboard Toggle word wrap

    출력 예:

    NAME                          READY   STATUS    RESTARTS   AGE
    pod/busybox-67bf494b9-zl5tr   1/1     Running   0          77s
    
    
    NAME                                STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS                AGE
    persistentvolumeclaim/busybox-pvc   Bound    pvc-c732e5fe-daaf-4c4d-99dd-462e04c18412   5Gi        RWO            ocs-storagecluster-ceph-rbd   77s
    Copy to Clipboard Toggle word wrap

3.11.1.2. 샘플 애플리케이션에 DRPolicy 적용

사전 요구 사항

  • DRPolicy에서 참조하는 두 관리 클러스터에 모두 연결할 수 있는지 확인합니다. 그렇지 않은 경우 애플리케이션은 둘 다 온라인 상태가 될 때 DR 보호되지 않습니다.

절차

  1. Hub 클러스터에서 All Clusters 로 이동합니다.
  2. Data Services 로 이동한 다음 데이터 정책을 클릭합니다.
  3. DRPolicy 끝에 있는 작업 메뉴를 클릭하여 사용 가능한 작업 목록을 확인합니다.
  4. Assign DRPolicy 를 클릭합니다.
  5. Assign DRPolicy modal이 표시되면 busybox 애플리케이션을 선택하고 appname=busyboxPVC 레이블을 입력합니다.
  6. 적용을 클릭합니다.
  7. DRPlacementControl 또는 DRPCHub 클러스터busybox-sample 네임스페이스에서 생성되었고 CURRENTSTATEDeployed 로 표시되는지 확인합니다. 이 리소스는 이 애플리케이션의 장애 조치(failover) 및 재배치 작업 모두에 사용됩니다.

    참고

    yaml의 PlacementRef,DRPolicyRefPVCSelector 필드 값 편집은 지원되지 않습니다.

    $ oc get drpc -n busybox-sample
    Copy to Clipboard Toggle word wrap

    출력 예:

    NAME                       AGE     PREFERREDCLUSTER   FAILOVERCLUSTER   DESIREDSTATE   CURRENTSTATE
    busybox-placement-1-drpc   6m59s   ocp4perf1                                           Deployed
    Copy to Clipboard Toggle word wrap
  8. 애플리케이션에 DRPolicy를 적용한 후 drpc yaml 출력에서 ClusterDataProtectedTrue 로 설정되어 있는지 확인합니다.

3.11.2. ApplicationSet 기반 애플리케이션

3.11.2.1. ApplicationSet 기반 애플리케이션 생성

사전 요구 사항

  • Red Hat OpenShift GitOps Operator가 Hub 클러스터에 설치되어 있는지 확인합니다. 자세한 내용은 RHACM 설명서를 참조하십시오.
  • 기본 및 보조 관리 클러스터가 GitOps에 등록되어 있는지 확인합니다. 등록 지침은 GitOps에 관리 클러스터 등록을 참조하십시오. 그런 다음 GitOpsCluster 리소스에서 두 관리 클러스터를 모두 등록하는 데 사용하는 배치에 클러스터를 사용할 수 없는 허용 오차가 있는지 확인합니다. oc get placement <placement-name> -n openshift-gitops -o yaml 명령을 사용하여 배치에 다음 허용 오차가 추가되었는지 확인할 수 있습니다.

      tolerations:
      - key: cluster.open-cluster-management.io/unreachable
        operator: Exists
      - key: cluster.open-cluster-management.io/unavailable
        operator: Exists
    Copy to Clipboard Toggle word wrap

    허용 오차가 추가되지 않은 경우 Red Hat Advanced Cluster Management 및 OpenShift GitOps의 애플리케이션 배치 허용 오차 구성 을 참조하십시오.

절차

  1. Hub 클러스터에서 모든 클러스터 애플리케이션으로 이동하여 애플리케이션 생성을 클릭합니다.
  2. 애플리케이션 세트로 유형을 선택합니다.
  3. 일반 단계 1에서 애플리케이션 세트 이름을 입력합니다.
  4. Argo 서버 openshift-gitopsRequeue time180 초로 선택합니다.
  5. 다음을 클릭합니다.
  6. Repository location for resources 섹션에서 Repository type Git 을 선택합니다.
  7. 샘플 애플리케이션의 Git 리포지토리 URL, busybox Pod 및 PVC 리소스가 생성될 github 분기 및 경로를 입력합니다.

    1. 샘플 애플리케이션 리포지토리를 https://github.com/red-hat-storage/ocm-ramen-samples로 사용
    2. 리버전을 릴리스-4.13으로 선택
    3. busybox-odr-metro 로 경로를 선택합니다.
  8. Remote namespace value.(예: busybox-sample)을 입력하고 다음을 클릭합니다.
  9. Sync policy settings를 선택하고 다음을 클릭합니다.

    하나 이상의 옵션을 선택할 수 있습니다.

  10. 값이 관리되는 클러스터 이름으로 설정된 & lt;name> 레이블을 추가합니다.
  11. 다음을 클릭합니다.
  12. 설정 세부 사항을 검토하고 Submit 을 클릭합니다.

3.11.2.2. DRPolicy를 샘플 ApplicationSet 기반 애플리케이션에 적용

사전 요구 사항

  • DRPolicy에서 참조하는 두 관리 클러스터에 모두 연결할 수 있는지 확인합니다. 그렇지 않은 경우 애플리케이션은 둘 다 온라인 상태가 될 때 DR 보호되지 않습니다.

절차

  1. Hub 클러스터에서 All Clusters 로 이동합니다.
  2. Data Services 로 이동한 다음 데이터 정책을 클릭합니다.
  3. DRPolicy 끝에 있는 작업 메뉴를 클릭하여 사용 가능한 작업 목록을 확인합니다.
  4. 애플리케이션 세트에 대한 정책 관리를 클릭합니다.
  5. PVC 레이블을 appname=busybox 로 입력합니다.
  6. 변경 사항 저장을 클릭합니다. 애플리케이션에는 보호 됨이 태그됩니다.
  7. 적용을 클릭합니다.
  8. DRPlacementControl 또는 DRPCHub 클러스터busybox-sample 네임스페이스에서 생성되었고 CURRENTSTATEDeployed 로 표시되는지 확인합니다. 이 리소스는 이 애플리케이션의 장애 조치(failover) 및 재배치 작업 모두에 사용됩니다.

    참고

    yaml의 PlacementRef,DRPolicyRefPVCSelector 필드 값 편집은 지원되지 않습니다.

    $ oc get drpc -n busybox-sample
    Copy to Clipboard Toggle word wrap

    출력 예:

    NAME                       AGE     PREFERREDCLUSTER   FAILOVERCLUSTER   DESIREDSTATE   CURRENTSTATE
    busybox-placement-1-drpc   6m59s   ocp4perf1                                           Deployed
    Copy to Clipboard Toggle word wrap
  9. 애플리케이션에 DRPolicy를 적용한 후 drpc yaml 출력에서 ClusterDataProtectedTrue 로 설정되어 있는지 확인합니다.

3.11.3. 샘플 애플리케이션 삭제

RHACM 콘솔을 사용하여 샘플 애플리케이션 busybox 를 삭제할 수 있습니다.

참고

장애 조치(failover) 및 재배치 테스트가 완료되고 애플리케이션을 RHACM 및 관리 클러스터에서 제거할 준비가 될 때까지 샘플 애플리케이션을 삭제하는 방법은 실행할 수 없습니다.

절차

  1. RHACM 콘솔에서 Applications (애플리케이션)로 이동합니다.
  2. 삭제할 샘플 애플리케이션(예: busybox)을 검색합니다.
  3. 삭제할 애플리케이션 옆에 있는 작업 메뉴(ovn) 를 클릭합니다.
  4. 애플리케이션 삭제를 클릭합니다.

    Delete application 을 선택하면 애플리케이션 관련 리소스도 삭제해야 하는지 묻는 새 화면이 나타납니다.

  5. 애플리케이션 관련 리소스 제거 확인란을 선택하여 Subscription 및 PlacementRule을 삭제합니다.
  6. 삭제를 클릭합니다. 그러면 기본 관리 클러스터(또는 애플리케이션이 실행 중인 클러스터)에서 busybox 애플리케이션이 삭제됩니다.
  7. RHACM 콘솔을 사용하여 삭제된 리소스 외에도 busybox 애플리케이션을 삭제한 후 DRPlacementControl 도 삭제해야 합니다.

    1. Hub 클러스터용 OpenShift 웹 콘솔에 로그인하고 busybox-sample 프로젝트의 설치된 Operator로 이동합니다.
    2. OpenShift DR Hub Operator 를 클릭한 다음 DRPlacementControl 탭을 클릭합니다.
    3. 삭제하려는 busybox 애플리케이션 DRPlacementControl 옆에 있는 작업 메뉴(ECDHE) 를 클릭합니다.
    4. Delete DRPlacementControl 을 클릭합니다.
    5. 삭제를 클릭합니다.
참고

이 프로세스는 DRPlacementControl 리소스가 있는 모든 애플리케이션을 삭제하는 데 사용할 수 있습니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat