1.2. OADP Operator 설치 및 IAM 역할 제공
AWS STS(AWS Security Token Service)는 IAM 또는 페더레이션 사용자를 위한 단기 인증 정보를 제공하는 글로벌 웹 서비스입니다. STS를 사용하는 ROSA(Red Hat OpenShift Service on AWS)는 ROSA 클러스터에 권장되는 인증 정보 모드입니다. 이 문서에서는 AWS STS를 사용하여 ROSA에 OADP(OpenShift API for Data Protection)를 설치하는 방법을 설명합니다.
Restic은 지원되지 않습니다.
CSI(Container Storage Interface) 스냅샷이 지원되지 않는 파일 시스템을 백업할 때 Kopia 파일 시스템 백업(FSB)이 지원됩니다.
예제 파일 시스템에는 다음이 포함됩니다.
- Amazon Elastic File System (EFS)
- 네트워크 파일 시스템(NFS)
-
emptyDir
볼륨 - 로컬 볼륨
볼륨 백업의 경우 AWS STS를 사용하여 ROSA의 OADP는 기본 스냅샷 및 CSI(Container Storage Interface) 스냅샷만 지원합니다.
STS 인증을 사용하는 Amazon ROSA 클러스터에서는 다른 AWS 리전에서 백업 데이터를 복원할 수 없습니다.
Data Mover 기능은 현재 ROSA 클러스터에서 지원되지 않습니다. 데이터 이동을 위해 기본 AWS S3 툴을 사용할 수 있습니다.
사전 요구 사항
-
필요한 액세스 및 토큰이 있는 AWS ROSA 클러스터의 Red Hat OpenShift Service. 자세한 내용은 OADP에 대한 AWS 인증 정보 준비 절차를 참조하십시오. 백업 및 복원을 위해 두 개의 다른 클러스터를 사용하려면 각 클러스터에 대해
ROLE_ARN
을 포함한 AWS 인증 정보를 준비해야 합니다.
절차
다음 명령을 입력하여 AWS 토큰 파일에서 AWS 시크릿에 Red Hat OpenShift Service를 생성합니다.
자격 증명 파일을 생성합니다.
$ cat <<EOF > ${SCRATCH}/credentials [default] role_arn = ${ROLE_ARN} web_identity_token_file = /var/run/secrets/openshift/serviceaccount/token EOF
OADP의 네임스페이스를 생성합니다.
$ oc create namespace openshift-adp
AWS 시크릿에 Red Hat OpenShift Service를 생성합니다.
$ 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 워크플로를 지원합니다. 이 워크플로우에서는 웹 콘솔을 사용하여 OperatorHub에서 설치를 참조하십시오. 자세한 내용은 AWS 웹 콘솔에서 Red Hat OpenShift Service를 사용하여 OLM 관리 Operator 설치 중에 위의 시크릿을 생성할 필요가 없습니다.
이전 시크릿은 CCO에 의해 자동으로 생성됩니다.
OADP Operator를 설치합니다.
-
AWS 웹 콘솔의 Red Hat OpenShift Service에서 Operator
OperatorHub 로 이동합니다. - OADP Operator 를 검색합니다.
- role_ARN 필드에 이전에 생성한 role_arn을 붙여넣고 설치를 클릭합니다.
-
AWS 웹 콘솔의 Red Hat OpenShift Service에서 Operator
다음 명령을 입력하여 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
다음 명령을 입력하여 애플리케이션의 스토리지 기본 스토리지 클래스를 확인합니다.
$ oc get pvc -n <namespace>
출력 예
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE applog Bound pvc-351791ae-b6ab-4e8b-88a4-30f73caf5ef8 1Gi RWO gp3-csi 4d19h mysql Bound pvc-16b8e009-a20a-4379-accc-bc81fedd0621 1Gi RWO gp3-csi 4d19h
다음 명령을 실행하여 스토리지 클래스를 가져옵니다.
$ oc get storageclass
출력 예
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE gp2 kubernetes.io/aws-ebs Delete WaitForFirstConsumer true 4d21h gp2-csi ebs.csi.aws.com Delete WaitForFirstConsumer true 4d21h gp3 ebs.csi.aws.com Delete WaitForFirstConsumer true 4d21h gp3-csi (default) ebs.csi.aws.com Delete WaitForFirstConsumer true 4d21h
참고다음 스토리지 클래스가 작동합니다.
- gp3-csi
- gp2-csi
- gp3
- gp2
백업 중인 애플리케이션 또는 애플리케이션이 모두 CSI(Container Storage Interface)를 사용하는 PV(영구 볼륨)를 사용하는 경우 OADP DPA 구성에 CSI 플러그인을 포함하는 것이 좋습니다.
DataProtectionApplication
리소스를 만들어 백업 및 볼륨 스냅샷이 저장되는 스토리지에 대한 연결을 구성합니다.CSI 볼륨만 사용하는 경우 다음 명령을 입력하여 데이터 보호 애플리케이션을 배포합니다.
$ cat << EOF | oc create -f - apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: ${CLUSTER_NAME}-dpa namespace: openshift-adp spec: backupImages: true 1 features: dataMover: enable: false 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 - csi restic: enable: false EOF
- 1
- ROSA는 내부 이미지 백업을 지원합니다. 이미지 백업을 사용하지 않으려면 이 필드를
false
로 설정합니다.
CSI 또는 비 CSI 볼륨을 사용하는 경우 다음 명령을 입력하여 데이터 보호 애플리케이션을 배포합니다.
$ cat << EOF | oc create -f - apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: ${CLUSTER_NAME}-dpa namespace: openshift-adp spec: backupImages: true 1 features: dataMover: enable: false 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: 2 enable: false uploaderType: restic snapshotLocations: - velero: config: credentialsFile: /tmp/credentials/openshift-adp/cloud-credentials-credentials 3 enableSharedConfig: "true" 4 profile: default 5 region: ${REGION} 6 provider: aws EOF
- 1
- ROSA는 내부 이미지 백업을 지원합니다. 이미지 백업을 사용하지 않으려면 이 필드를 false로 설정합니다.
- 2
nodeAgent
속성과 관련된 중요한 노트를 참조하십시오.- 3
credentialsFile
필드는 Pod에 버킷 인증 정보의 마운트된 위치입니다.- 4
enableSharedConfig
필드를 사용하면snapshotLocations
에서 버킷에 대해 정의된 인증 정보를 공유하거나 재사용할 수 있습니다.- 5
- AWS 인증 정보 파일에 설정된 프로필 이름을 사용합니다.
- 6
리전을 AWS 리전
으로 지정합니다. 이는 클러스터 리전과 동일해야 합니다.
이제 애플리케이션 백업에 설명된 대로 AWS 애플리케이션에서 Red Hat OpenShift Service를 백업하고 복원할 수 있습니다.
OADP가 ROSA 환경에서 Restic을 지원하지 않기 때문에 restic
의 enable
매개변수는 이 구성에서 false
로 설정됩니다.
OADP 1.2를 사용하는 경우 이 구성을 교체합니다.
nodeAgent: enable: false uploaderType: restic
다음 구성에서는 다음을 수행합니다.
restic: enable: false
백업 및 복원을 위해 두 개의 다른 클러스터를 사용하려면 클라우드 스토리지 CR과 OADP DataProtectionApplication
구성 둘 다에 동일한 AWS S3 스토리지 이름이 있어야 합니다.
추가 리소스