1.2. OADP Operator 설치 및 IAM 역할 제공

AWS STS(AWS Security Token Service)는 IAM 또는 페더레이션 사용자를 위한 단기 인증 정보를 제공하는 글로벌 웹 서비스입니다. STS를 사용하는 ROSA(Red Hat OpenShift Service on AWS)는 ROSA 클러스터에 권장되는 인증 정보 모드입니다. 이 문서에서는 AWS STS를 사용하여ROSA(ROSA)에 OADP(OpenShift API for Data Protection)를 설치하는 방법을 설명합니다.

중요

Restic 및 Kopia는 AWS STS 환경의 ROSA의 OADP에서 지원되지 않습니다. Restic/Kopia 노드 에이전트가 비활성화되어 있는지 확인합니다. 볼륨 백업의 경우 AWS STS를 사용하여 ROSA의 OADP는 기본 스냅샷 및 CSI 스냅샷만 지원합니다. 자세한 내용은 알려진 문제를 참조하십시오.

중요

STS 인증을 사용하는 Amazon ROSA 클러스터에서는 다른 AWS 리전에서 백업 데이터를 복원할 수 없습니다.

Data Mover 기능은 현재 ROSA 클러스터에서 지원되지 않습니다. 데이터 이동을 위해 기본 AWS S3 툴을 사용할 수 있습니다.

사전 요구 사항

  • 필요한 액세스 및 토큰이 있는 클러스터입니다. 자세한 내용은 "AWS 인증 정보 준비"의 절차를 참조하십시오. 백업 및 복원에 두 개의 다른 클러스터를 사용하려면 각 클러스터에 대해 ROLE_ARN 을 포함한 AWS 인증 정보를 준비해야 합니다.

절차

  1. 다음 명령을 입력하여 AWS 토큰 파일에서 OpenShift 시크릿을 생성합니다.

    1. 자격 증명 파일을 생성합니다.

      $ cat <<EOF > ${SCRATCH}/credentials
      [default]
      role_arn = ${ROLE_ARN}
      web_identity_token_file = /var/run/secrets/openshift/serviceaccount/token
      EOF
    2. OADP의 네임스페이스를 생성합니다.

      $ oc create namespace openshift-adp
    3. OpenShift 시크릿을 생성합니다.

      $ oc -n openshift-adp create secret generic cloud-credentials \
        --from-file=${SCRATCH}/credentials
      참고

      AWS 버전 4.15 이상에서 OADP Operator는 OLM(Operator Lifecycle Manager) 및 CCO(Cloud Credentials Operator)를 통해 새로운 표준화된 STS 워크플로를 지원합니다. 이 워크플로에서는 시크릿을 생성할 필요가 없으며 AWS 웹 콘솔에서 Red Hat OpenShift Service를 통해 OLM 관리 Operator를 설치하는 동안 ARN 역할을 제공해야 합니다. 위의 시크릿은 CCO를 통해 자동으로 생성됩니다.

  2. OADP Operator를 설치합니다.

    1. AWS 웹 콘솔의 Red Hat OpenShift Service에서 Operator OperatorHub로 이동합니다.
    2. OADP Operator를 검색한 다음 설치를 클릭합니다.
  3. AWS 인증 정보를 사용하여 AWS 클라우드 스토리지를 생성합니다.

    $ cat << EOF | oc create -f -
    apiVersion: oadp.openshift.io/v1alpha1
    kind: CloudStorage
    metadata:
      name: ${CLUSTER_NAME}-oadp
      namespace: openshift-adp
    spec:
      creationSecret:
        key: credentials
        name: cloud-credentials
      enableSharedConfig: true
      name: ${CLUSTER_NAME}-oadp
      provider: aws
      region: $REGION
    EOF
  4. 백업 및 볼륨 스냅샷이 저장되는 스토리지에 대한 연결을 구성하는 데 사용되는 DataProtectionApplication 리소스를 만듭니다.

    $ cat << EOF | oc create -f -
    apiVersion: oadp.openshift.io/v1alpha1
    kind: DataProtectionApplication
    metadata:
      name: ${CLUSTER_NAME}-dpa
      namespace: openshift-adp
    spec:
      backupLocations:
      - bucket:
          cloudStorageRef:
            name: ${CLUSTER_NAME}-oadp
          credential:
            key: credentials
            name: cloud-credentials
          prefix: velero
          default: true
          config:
            region: ${REGION}
      configuration:
        velero:
          defaultPlugins:
          - openshift
          - aws
        nodeAgent: 1
          enable: false
          uploaderType: restic
      snapshotLocations:
        - velero:
            config:
              credentialsFile: /tmp/credentials/openshift-adp/cloud-credentials-credentials 2
              enableSharedConfig: "true" 3
              profile: default 4
              region: ${REGION} 5
            provider: aws
    EOF
    1
    아래의 첫 번째 노트를 참조하십시오.
    2
    credentialsFile 필드는 Pod에 버킷 인증 정보의 마운트된 위치입니다.
    3
    enableSharedConfig 필드를 사용하면 snapshotLocations 에서 버킷에 대해 정의된 인증 정보를 공유하거나 재사용할 수 있습니다.
    4
    AWS 인증 정보 파일에 설정된 프로필 이름을 사용합니다.
    5
    리전을 AWS 리전 으로 지정합니다. 이는 클러스터 리전과 동일해야 합니다.

    이제 OADP 설명서에 설명된 대로 OpenShift 애플리케이션을 백업 및 복원할 준비가 되었습니다.

참고

OADP는 ROSA 환경에서 Restic을 지원하지 않기 때문에 resticenable 매개 변수는 이 구성에서 false 로 설정됩니다.

OADP 1.2를 사용하는 경우 이 구성을 교체합니다.

nodeAgent:
  enable: false
  uploaderType: restic

다음을 수행합니다.

restic:
  enable: false
참고

백업 및 복원을 위해 두 개의 다른 클러스터를 사용하려면 cloudstorage CR 및 OADP DataProtectionApplication 구성 둘 다에 동일한 AWS S3 스토리지 이름이 있어야 합니다.

추가 리소스