6장. 관리형 클러스터에 OpenShift DR Cluster Operator 설치


절차

  1. 각 관리형 클러스터에서 OperatorHub로 이동하여 OpenShift DR Cluster Operator 를 필터링합니다.
  2. 화면 지침에 따라 openshift-dr-system 프로젝트에 Operator를 설치합니다.

    참고

    OpenShift DR Cluster Operator기본 관리 클러스터와 보조 관리 클러스터에 모두 설치되어 있어야 합니다.

  3. 보안 전송 프로토콜 및 오브젝트 버킷에 대한 액세스를 검증하기 위해 Hub 클러스터에서 MCG 오브젝트 버킷의 대체 클러스터에 메타데이터를 저장할 수 있도록 s3 끝점 간의 SSL 액세스를 구성합니다.

    참고

    모든 OpenShift 클러스터가 사용자 환경에 대해 서명된 신뢰할 수 있는 인증서 세트를 사용하여 배포된 경우 이 섹션을 건너뛸 수 있습니다.

    1. 기본 관리 클러스터 의 수신 인증서를 추출하고 출력을 primary.crt 에 저장합니다.

      $ oc get cm default-ingress-cert -n openshift-config-managed -o jsonpath="{['data']['ca-bundle\.crt']}" > primary.crt
    2. Secondary 관리 클러스터 의 수신 인증서를 추출하고 출력을 secondary.crt 에 저장합니다.

      $ oc get cm default-ingress-cert -n openshift-config-managed -o jsonpath="{['data']['ca-bundle\.crt']}" > secondary.crt
    3. Primary managed cluster,Secondary managed clusterHub 클러스터에서 파일 이름 cm-clusters-crt.yaml 로 원격 클러스터의 인증서 번들을 보관할 새 ConfigMap 을 만듭니다.

      참고

      이 예제 파일에 표시된 대로 각 클러스터에 대해 3개 이상의 인증서가 있을 수 있습니다.

      apiVersion: v1
      data:
        ca-bundle.crt: |
          -----BEGIN CERTIFICATE-----
          <copy contents of cert1 from primary.crt here>
          -----END CERTIFICATE-----
      
          -----BEGIN CERTIFICATE-----
          <copy contents of cert2 from primary.crt here>
          -----END CERTIFICATE-----
      
          -----BEGIN CERTIFICATE-----
          <copy contents of cert3 primary.crt here>
          -----END CERTIFICATE----
      
          -----BEGIN CERTIFICATE-----
          <copy contents of cert1 from secondary.crt here>
          -----END CERTIFICATE-----
      
          -----BEGIN CERTIFICATE-----
          <copy contents of cert2 from secondary.crt here>
          -----END CERTIFICATE-----
      
          -----BEGIN CERTIFICATE-----
          <copy contents of cert3 from secondary.crt here>
          -----END CERTIFICATE-----
      kind: ConfigMap
      metadata:
        name: user-ca-bundle
        namespace: openshift-config
    4. 기본 관리 클러스터,보조 관리 클러스터, Hub 클러스터에서 다음 명령을 실행하여 파일을 만듭니다.

      $ oc create -f cm-clusters-crt.yaml

      출력 예:

      configmap/user-ca-bundle created
      중요

      Hub 클러스터에서 DRPolicy 리소스인 DRPolicy 리소스를 사용하여 오브젝트 버킷에 대한 액세스 권한을 확인하려면 Hub 클러스터에서 동일한 ConfigMap cm-clusters-crt.yaml 을 생성해야 합니다.

    5. 기본 프록시 클러스터 리소스를 수정합니다.

      1. 다음 콘텐츠를 복사하여 새 YAML 파일 proxy-ca.yaml 에 저장합니다.

        apiVersion: config.openshift.io/v1
        kind: Proxy
        metadata:
          name: cluster
        spec:
          trustedCA:
            name: user-ca-bundle
      2. 이 새 파일을 기본 관리 클러스터,보조 관리 클러스터, Hub 클러스터 의 기본 프록시 리소스에 적용합니다.

        $ oc apply -f proxy-ca.yaml

        출력 예:

        proxy.config.openshift.io/cluster configured
  4. MCG(Multicloud Object Gateway) 키 및 외부 S3 엔드포인트를 검색합니다.

    1. MCG가 주 관리 클러스터 및 보조 관리 클러스터에 설치되어 있는지 확인하고 단계가 준비 되었는지 확인합니다.

      $ oc get noobaa -n openshift-storage

      출력 예:

      NAME     MGMT-ENDPOINTS                   S3-ENDPOINTS                    IMAGE                                                                                                 PHASE   AGE
      noobaa   ["https://10.70.56.161:30145"]   ["https://10.70.56.84:31721"]   quay.io/rhceph-dev/mcg-core@sha256:c4b8857ee9832e6efc5a8597a08b81730b774b2c12a31a436e0c3fadff48e73d   Ready   27h
    2. 다음 YAML 파일을 파일 이름 odrbucket.yaml 에 복사합니다.

      apiVersion: objectbucket.io/v1alpha1
      kind: ObjectBucketClaim
      metadata:
        name: odrbucket
        namespace: openshift-dr-system
      spec:
        generateBucketName: "odrbucket"
        storageClassName: openshift-storage.noobaa.io
    3. 기본 관리 클러스터와 보조 관리 클러스터 모두에 MCG 버킷 odrbucket 을 만듭니다.

      $ oc create -f odrbucket.yaml

      출력 예:

      objectbucketclaim.objectbucket.io/odrbucket created
    4. 다음 명령을 사용하여 각 관리 클러스터의 odrbucket OBC 액세스 키를 base-64 인코딩 값으로 추출합니다.

      $ oc get secret odrbucket -n openshift-dr-system -o jsonpath='{.data.AWS_ACCESS_KEY_ID}{"\n"}'

      출력 예:

      cFpIYTZWN1NhemJjbEUyWlpwN1E=
    5. 다음 명령을 사용하여 각 관리 클러스터의 odrbucket OBC 시크릿 키를 base-64 인코딩 값으로 추출합니다.

      $ oc get secret odrbucket -n openshift-dr-system -o jsonpath='{.data.AWS_SECRET_ACCESS_KEY}{"\n"}'

      출력 예:

      V1hUSnMzZUoxMHRRTXdGMU9jQXRmUlAyMmd5bGwwYjNvMHprZVhtNw==
  5. 관리형 클러스터에 대한 S3 시크릿을 생성합니다.

    이제 필요한 MCG 정보가 추출되었으므로 기본 관리 클러스터와 보조 관리 클러스터에서 생성된 새 시크릿이 추출되어야 합니다. 이러한 새 시크릿은 두 관리 클러스터의 MCG 액세스 및 시크릿 키를 저장합니다.

    참고

    OpenShift DR에는 관리형 클러스터에서 워크로드의 관련 클러스터 데이터를 저장하고 장애 조치 또는 재배치 작업 중에 워크로드 복구를 오케스트레이션하기 위해 하나 이상의 S3 저장소가 필요합니다. 이러한 지침은 MCG(Multicloud Gateway)를 사용하여 필요한 오브젝트 버킷을 생성하는 데 적용할 수 있습니다. MCG는 이미 OpenShift Data Foundation을 설치함으로써 설치되어 있어야 합니다.

    1. 기본 관리 클러스터의 다음 S3 시크릿 YAML 형식을 odr-s3secret-hiera.yaml 파일 이름으로 복사합니다.

      apiVersion: v1
      data:
        AWS_ACCESS_KEY_ID: <primary cluster base-64 encoded access key>
        AWS_SECRET_ACCESS_KEY: <primary cluster base-64 encoded secret access key>
      kind: Secret
      metadata:
        name: odr-s3secret-primary
        namespace: openshift-dr-system

      < primary cluster base-64 encoded access key > 및 < primary cluster base-64 encoded secret access key >를 이전 단계에서 검색된 실제 값으로 바꿉니다.

    2. 기본 관리 클러스터 및 보조 관리 클러스터에 이 시크릿을 생성합니다.

      $ oc create -f odr-s3secret-primary.yaml

      출력 예:

      secret/odr-s3secret-primary created
    3. 보조 관리 클러스터의 다음 S3 시크릿 YAML 형식을 odr-s3secret-secondary.yaml 파일 이름으로 복사합니다.

      apiVersion: v1
      data:
        AWS_ACCESS_KEY_ID: <secondary cluster base-64 encoded access key>
        AWS_SECRET_ACCESS_KEY: <secondary cluster base-64 encoded secret access key>
      kind: Secret
      metadata:
        name: odr-s3secret-secondary
        namespace: openshift-dr-system

      < secondary 클러스터 base-64로 인코딩된 액세스 키 > 및 < secondary cluster base-64 encoded secret access key >를 4단계에서 검색된 실제 값으로 바꿉니다.

    4. 기본 관리 클러스터 및 보조 관리 클러스터에 이 시크릿을 생성합니다.

      $ oc create -f odr-s3secret-secondary.yaml

      출력 예:

      secret/odr-s3secret-secondary created
      중요

      액세스 및 시크릿 키의 값은 base-64로 인코딩 되어야 합니다. 키의 인코딩된 값이 이전 단계에서 검색되었습니다.

  6. 각 관리형 클러스터에서 OpenShift DR Cluster Operator ConfigMap을 구성합니다.

    1. 다음 명령을 사용하여 각 관리 클러스터에서 외부 S 3 endpoint s3 CompatibilityibleEndpoint 또는 route for MCG를 검색합니다.

      $ oc get route s3 -n openshift-storage -o jsonpath --template="https://{.spec.host}{'\n'}"

      출력 예:

      https://s3-openshift-storage.apps.perf1.example.com
      중요

      기본 관리 클러스터 및 보조 관리 클러스터 모두에 대해 각각 s3 CompatibilityibleEndpoint 경로 또는 s3-openshift-storage.apps.<baseDomain > 및 s3-openshift-storage.apps.<secondary clusterID>.<baseDomain >을 검색해야 합니다.

    2. odrbucket OBC 버킷 이름을 검색합니다.

      $ oc get configmap odrbucket -n openshift-dr-system -o jsonpath='{.data.BUCKET_NAME}{"\n"}'

      출력 예:

      odrbucket-2f2d44e4-59cb-4577-b303-7219be809dcd
      중요

      고유한 s3Bucket 이름 odrbucket-<your value1 > 및 odrbucket-<your value2 >를 각각 기본 관리 클러스터보조 관리 클러스터에서 검색해야 합니다.

    3. ConfigMap ramen-dr-cluster-operator-config 를 수정하여 새 콘텐츠를 추가합니다.

      $ oc edit configmap ramen-dr-cluster-operator-config -n openshift-dr-system
    4. s3StoreProfiles 부터 기본 관리 클러스터의 ConfigMap과 보조 관리 클러스터 의 다음 새 콘텐츠를 추가합니다.

      [...]
      data:
        ramen_manager_config.yaml: |
          apiVersion: ramendr.openshift.io/v1alpha1
          kind: RamenConfig
      [...]
          ramenControllerType: "dr-cluster"
          ### Start of new content to be added
          s3StoreProfiles:
          - s3ProfileName: s3-primary
            s3CompatibleEndpoint: https://s3-openshift-storage.apps.<primary clusterID>.<baseDomain>
            s3Region: primary
            s3Bucket: odrbucket-<your value1>
            s3SecretRef:
              name: odr-s3secret-primary
              namespace: openshift-dr-system
          - s3ProfileName: s3-secondary
            s3CompatibleEndpoint: https://s3-openshift-storage.apps.<secondary clusterID>.<baseDomain>
            s3Region: secondary
            s3Bucket: odrbucket-<your value2>
            s3SecretRef:
              name: odr-s3secret-secondary
              namespace: openshift-dr-system
      [...]
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.