4.10. GCP를 사용하여 OADP 구성
4.10.1. Google Cloud Platform을 사용하여 데이터 보호를 위한 OpenShift API 구성 링크 복사링크가 클립보드에 복사되었습니다!
OADP Operator를 설치하여 GCP(Google Cloud Platform)를 사용하여 OADP(OpenShift API for Data Protection)를 설치합니다. Operator는 Velero 1.14 를 설치합니다.
OADP 1.0.4부터 모든 OADP 1.0.z 버전은 Migration Toolkit for Containers Operator의 종속성으로만 사용할 수 있으며 독립 실행형 Operator로 사용할 수 없습니다.
Velero에 대해 GCP를 구성하고 기본 Secret
을 생성한 다음 데이터 보호 애플리케이션을 설치합니다. 자세한 내용은 OADP Operator 설치를 참조하십시오.
제한된 네트워크 환경에 OADP Operator를 설치하려면 먼저 기본 OperatorHub 소스를 비활성화하고 Operator 카탈로그를 미러링해야 합니다. 자세한 내용은 제한된 네트워크에서 Operator Lifecycle Manager 사용을 참조하십시오.
4.10.1.1. GCP(Google Cloud Platform) 구성 링크 복사링크가 클립보드에 복사되었습니다!
OADP(OpenShift API for Data Protection)에 대해 GCP(Google Cloud Platform)를 구성합니다.
사전 요구 사항
-
gcloud
및gsutil
CLI 툴이 설치되어 있어야 합니다. 자세한 내용은 Google 클라우드 설명서를 참조하십시오.
프로세스
GCP에 로그인합니다.
gcloud auth login
$ gcloud auth login
Copy to Clipboard Copied! Toggle word wrap Toggle overflow BUCKET
변수를 설정합니다.BUCKET=<bucket>
$ BUCKET=<bucket>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 버킷 이름을 지정합니다.
스토리지 버킷을 생성합니다.
gsutil mb gs://$BUCKET/
$ gsutil mb gs://$BUCKET/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PROJECT_ID
변수를 활성 프로젝트로 설정합니다.PROJECT_ID=$(gcloud config get-value project)
$ PROJECT_ID=$(gcloud config get-value project)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 서비스 계정을 생성합니다.
gcloud iam service-accounts create velero \ --display-name "Velero service account"
$ gcloud iam service-accounts create velero \ --display-name "Velero service account"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 서비스 계정을 나열합니다.
gcloud iam service-accounts list
$ gcloud iam service-accounts list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow email
값과 일치하도록SERVICE_ACCOUNT_EMAIL
변수를 설정합니다.SERVICE_ACCOUNT_EMAIL=$(gcloud iam service-accounts list \ --filter="displayName:Velero service account" \ --format 'value(email)')
$ SERVICE_ACCOUNT_EMAIL=$(gcloud iam service-accounts list \ --filter="displayName:Velero service account" \ --format 'value(email)')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 정책을 연결하여
velero
사용자에게 필요한 최소 권한을 부여합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow velero.server
사용자 정의 역할을 생성합니다.gcloud iam roles create velero.server \ --project $PROJECT_ID \ --title "Velero Server" \ --permissions "$(IFS=","; echo "${ROLE_PERMISSIONS[*]}")"
$ gcloud iam roles create velero.server \ --project $PROJECT_ID \ --title "Velero Server" \ --permissions "$(IFS=","; echo "${ROLE_PERMISSIONS[*]}")"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 프로젝트에 IAM 정책 바인딩을 추가합니다.
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member serviceAccount:$SERVICE_ACCOUNT_EMAIL \ --role projects/$PROJECT_ID/roles/velero.server
$ gcloud projects add-iam-policy-binding $PROJECT_ID \ --member serviceAccount:$SERVICE_ACCOUNT_EMAIL \ --role projects/$PROJECT_ID/roles/velero.server
Copy to Clipboard Copied! Toggle word wrap Toggle overflow IAM 서비스 계정을 업데이트합니다.
gsutil iam ch serviceAccount:$SERVICE_ACCOUNT_EMAIL:objectAdmin gs://${BUCKET}
$ gsutil iam ch serviceAccount:$SERVICE_ACCOUNT_EMAIL:objectAdmin gs://${BUCKET}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow IAM 서비스 계정 키를 현재 디렉터리의
credentials-velero
파일에 저장합니다.gcloud iam service-accounts keys create credentials-velero \ --iam-account $SERVICE_ACCOUNT_EMAIL
$ gcloud iam service-accounts keys create credentials-velero \ --iam-account $SERVICE_ACCOUNT_EMAIL
Copy to Clipboard Copied! Toggle word wrap Toggle overflow credentials-velero
파일을 사용하여 데이터 보호 애플리케이션을 설치하기 전에 GCP용Secret
오브젝트를 생성합니다.
4.10.1.2. 백업 및 스냅샷 위치 및 시크릿 정보 링크 복사링크가 클립보드에 복사되었습니다!
DataProtectionApplication
CR(사용자 정의 리소스)에서 백업 및 스냅샷 위치와 해당 시크릿을 지정합니다.
백업 위치
AWS S3 호환 오브젝트 스토리지를 Multicloud Object Gateway, Red Hat Container Storage; Ceph Object Gateway, Red Hat OpenShift Data Foundation 또는 MinIO와 같은 백업 위치로 지정합니다.
Velero는 OpenShift Container Platform 리소스, Kubernetes 오브젝트 및 내부 이미지를 오브젝트 스토리지의 아카이브 파일로 백업합니다.
스냅샷 위치
클라우드 공급자의 기본 스냅샷 API를 사용하여 영구 볼륨을 백업하는 경우 클라우드 공급자를 스냅샷 위치로 지정해야 합니다.
CSI(Container Storage Interface) 스냅샷을 사용하는 경우 CSI 드라이버를 등록하기 위해 VolumeSnapshotClass
CR을 생성할 예정이므로 스냅샷 위치를 지정할 필요가 없습니다.
FSB(File System Backup)를 사용하는 경우 FSB가 오브젝트 스토리지에서 파일 시스템을 백업하므로 스냅샷 위치를 지정할 필요가 없습니다.
보안
백업 및 스냅샷 위치에서 동일한 인증 정보를 사용하거나 스냅샷 위치가 필요하지 않은 경우 기본 Secret
을 생성합니다.
백업 및 스냅샷 위치에서 다른 인증 정보를 사용하는 경우 다음 두 개의 시크릿 개체를 생성합니다.
-
DataProtectionApplication
CR에 지정하는 백업 위치에 대한 사용자 지정Secret
입니다. -
DataProtectionApplication
CR에서 참조되지 않는 스냅샷 위치의 기본Secret
입니다.
데이터 보호 애플리케이션에는 기본 Secret
이 필요합니다. 그러지 않으면 설치에 실패합니다.
설치 중에 백업 또는 스냅샷 위치를 지정하지 않으려면 빈 credentials-velero
파일을 사용하여 기본 Secret
을 생성할 수 있습니다.
4.10.1.2.1. 기본 시크릿 생성 링크 복사링크가 클립보드에 복사되었습니다!
백업 및 스냅샷 위치가 동일한 인증 정보를 사용하거나 스냅샷 위치가 필요하지 않은 경우 기본 Secret
을 생성합니다.
Secret
의 기본 이름은 cloud-credentials-gcp
입니다.
DataProtectionApplication
CR(사용자 정의 리소스)에는 기본 Secret
이 필요합니다. 그러지 않으면 설치에 실패합니다. 백업 위치 Secret
의 이름이 지정되지 않은 경우 기본 이름이 사용됩니다.
설치 중에 백업 위치 인증 정보를 사용하지 않으려면 빈 credentials-velero
파일을 사용하여 기본 이름으로 Secret
을 생성할 수 있습니다.
사전 요구 사항
- 오브젝트 스토리지 및 클라우드 스토리지(있는 경우)는 동일한 인증 정보를 사용해야 합니다.
- Velero에 대한 오브젝트 스토리지를 구성해야 합니다.
프로세스
-
클라우드 공급자에 적절한 형식으로 백업 스토리지 위치에 대한
credentials-velero
파일을 생성합니다. 기본 이름으로
Secret
CR(사용자 정의 리소스)을 생성합니다.oc create secret generic cloud-credentials-gcp -n openshift-adp --from-file cloud=credentials-velero
$ oc create secret generic cloud-credentials-gcp -n openshift-adp --from-file cloud=credentials-velero
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Secret
은 Data Protection 애플리케이션을 설치할 때 DataProtectionApplication
CR의 spec.backupLocations.credential
블록에서 참조됩니다.
4.10.1.2.2. 다른 인증 정보에 대한 시크릿 생성 링크 복사링크가 클립보드에 복사되었습니다!
백업 및 스냅샷 위치에서 다른 인증 정보를 사용하는 경우 두 개의 Secret
오브젝트를 생성해야 합니다.
-
사용자 지정 이름이 있는 백업 위치
Secret
입니다. 사용자 지정 이름은DataProtectionApplication
CR(사용자 정의 리소스)의spec.backupLocations
블록에 지정됩니다. -
기본 이름
cloud-credentials-gcp
인 스냅샷 위치Secret
입니다. 이Secret
은DataProtectionApplication
CR에 지정되지 않습니다.
프로세스
-
클라우드 공급자에 적절한 형식으로 스냅샷 위치에 대한
credentials-velero
파일을 생성합니다. 기본 이름을 사용하여 스냅샷 위치에 대한
Secret
을 생성합니다.oc create secret generic cloud-credentials-gcp -n openshift-adp --from-file cloud=credentials-velero
$ oc create secret generic cloud-credentials-gcp -n openshift-adp --from-file cloud=credentials-velero
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
오브젝트 스토리지에 적절한 형식으로 백업 위치에 대한
credentials-velero
파일을 생성합니다. 사용자 정의 이름을 사용하여 백업 위치에 대한
Secret
을 생성합니다.oc create secret generic <custom_secret> -n openshift-adp --from-file cloud=credentials-velero
$ oc create secret generic <custom_secret> -n openshift-adp --from-file cloud=credentials-velero
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 예제와 같이 사용자 지정 이름으로
Secret
을DataProtectionApplication
CR에 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 사용자 지정 이름이 있는 백업 위치
Secret
입니다.
4.10.1.3. 데이터 보호 애플리케이션 구성 링크 복사링크가 클립보드에 복사되었습니다!
Velero 리소스 할당을 설정하거나 자체 서명된 CA 인증서를 활성화하여 데이터 보호 애플리케이션을 구성할 수 있습니다.
4.10.1.3.1. Velero CPU 및 메모리 리소스 할당 설정 링크 복사링크가 클립보드에 복사되었습니다!
DataProtectionApplication
CR(사용자 정의 리소스) 매니페스트를 편집하여 Velero
Pod의 CPU 및 메모리 리소스 할당을 설정합니다.
사전 요구 사항
- OADP(OpenShift API for Data Protection) Operator가 설치되어 있어야 합니다.
프로세스
다음 예와 같이
DataProtectionApplication
CR 매니페스트의spec.configuration.velero.podConfig.ResourceAllocations
블록에서 값을 편집합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Kopia는 OADP 1.3 이상 릴리스에서 옵션입니다. Kopia를 파일 시스템 백업에 사용할 수 있으며, Kopia는 기본 제공 Data Mover 사례에서만 사용할 수 있습니다.
Kopia는 Restic보다 리소스 집약적이므로 그에 따라 CPU 및 메모리 요구 사항을 조정해야 할 수 있습니다.
nodeSelector
필드를 사용하여 노드 에이전트를 실행할 수 있는 노드를 선택합니다. nodeSelector
필드는 권장되는 노드 선택 제약 조건의 가장 간단한 형식입니다. 지정된 라벨은 각 노드의 라벨과 일치해야 합니다.
자세한 내용은 노드 에이전트 및 노드 라벨 구성을 참조하십시오.
4.10.1.3.2. 자체 서명된 CA 인증서 활성화 링크 복사링크가 클립보드에 복사되었습니다!
certificate signed by unknown authority
오류를 방지하려면 DataProtectionApplication
CR(사용자 정의 리소스) 매니페스트를 편집하여 오브젝트 스토리지에 대해 자체 서명된 CA 인증서를 활성화해야 합니다.
사전 요구 사항
- OADP(OpenShift API for Data Protection) Operator가 설치되어 있어야 합니다.
프로세스
DataProtectionApplication
CR 매니페스트의spec.backupLocations.velero.objectStorage.caCert
매개변수 및spec.backupLocations.velero.config
매개변수를 편집합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.10.1.3.2.1. Velero 배포에 별칭이 지정된 velero 명령과 함께 CA 인증서 사용 링크 복사링크가 클립보드에 복사되었습니다!
별칭을 생성하여 시스템에 로컬로 설치하지 않고 Velero CLI를 사용할 수 있습니다.
사전 요구 사항
-
cluster-admin
역할의 사용자로 OpenShift Container Platform 클러스터에 로그인해야 합니다. OpenShift CLI(
oc
)가 설치되어 있어야 합니다.aliased Velero 명령을 사용하려면 다음 명령을 실행합니다.
alias velero='oc -n openshift-adp exec deployment/velero -c velero -it -- ./velero'
$ alias velero='oc -n openshift-adp exec deployment/velero -c velero -it -- ./velero'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 별칭이 작동하는지 확인합니다.
예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령으로 CA 인증서를 사용하려면 다음 명령을 실행하여 Velero 배포에 인증서를 추가할 수 있습니다.
CA_CERT=$(oc -n openshift-adp get dataprotectionapplications.oadp.openshift.io <dpa-name> -o jsonpath='{.spec.backupLocations[0].velero.objectStorage.caCert}') [[ -n $CA_CERT ]] && echo "$CA_CERT" | base64 -d | oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "cat > /tmp/your-cacert.txt" || echo "DPA BSL has no caCert"
$ CA_CERT=$(oc -n openshift-adp get dataprotectionapplications.oadp.openshift.io <dpa-name> -o jsonpath='{.spec.backupLocations[0].velero.objectStorage.caCert}') $ [[ -n $CA_CERT ]] && echo "$CA_CERT" | base64 -d | oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "cat > /tmp/your-cacert.txt" || echo "DPA BSL has no caCert"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow velero describe backup <backup_name> --details --cacert /tmp/<your_cacert>.txt
$ velero describe backup <backup_name> --details --cacert /tmp/<your_cacert>.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 백업 로그를 가져오려면 다음 명령을 실행합니다.
velero backup logs <backup_name> --cacert /tmp/<your_cacert.txt>
$ velero backup logs <backup_name> --cacert /tmp/<your_cacert.txt>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이러한 로그를 사용하여 백업할 수 없는 리소스에 대한 오류 및 경고를 볼 수 있습니다.
-
Velero 포드가 다시 시작되면
/tmp/your-cacert.txt
파일이 사라지고 이전 단계의 명령을 다시 실행하여/tmp/your-cacert.txt
파일을 다시 생성해야 합니다. 다음 명령을 실행하여
/tmp/your-cacert.txt
파일이 여전히 있는지 확인할 수 있습니다.oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "ls /tmp/your-cacert.txt"
$ oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "ls /tmp/your-cacert.txt" /tmp/your-cacert.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
향후 OpenShift API for Data Protection(OADP) 릴리스에서는 이 단계가 필요하지 않도록 Velero 포드에 인증서를 마운트할 계획입니다.
4.10.1.4. Google 워크로드 ID 페더레이션 클라우드 인증 링크 복사링크가 클립보드에 복사되었습니다!
Google Cloud 외부에서 실행되는 애플리케이션은 사용자 이름 및 암호와 같은 서비스 계정 키를 사용하여 Google Cloud 리소스에 액세스할 수 있습니다. 이러한 서비스 계정 키는 올바르게 관리되지 않는 경우 보안 위험이 될 수 있습니다.
Google의 워크로드 ID 페더레이션을 사용하면 IAM(Identity and Access Management)을 사용하여 서비스 계정을 가장하는 기능을 포함하여 외부 ID IAM 역할을 제공할 수 있습니다. 이렇게 하면 서비스 계정 키와 관련된 유지 관리 및 보안 위험이 제거됩니다.
워크로드 ID 페더레이션은 인증서 암호화 및 암호 해독, 사용자 속성 추출 및 검증을 처리합니다. ID 페더레이션은 인증을 외부화하고 STS(Security Token Services)에 전달하여 개별 개발자의 요구 사항을 줄입니다. 리소스에 대한 액세스 권한 부여 및 제어는 애플리케이션의 책임이 그대로 유지됩니다.
볼륨을 백업할 때 Google 워크로드 ID 페더레이션 인증을 사용하여 GCP의 OADP는 CSI 스냅샷만 지원합니다.
Google 워크로드 ID 페더레이션 인증을 사용하는 GCP의 OADP는 VSL(volume Snapshot Locations) 백업을 지원하지 않습니다. 자세한 내용은 Google 워크로드 ID 페더레이션의 알려진 문제를 참조하십시오.
Google 워크로드 ID 페더레이션 클라우드 인증을 사용하지 않는 경우 데이터 보호 애플리케이션 설치를 계속합니다.
사전 요구 사항
- GCP 워크로드 ID가 구성되어 있는 수동 모드로 클러스터를 설치했습니다.
-
Cloud Credential Operator 유틸리티(
ccoctl
) 및 관련 워크로드 ID 풀에 액세스할 수 있습니다.
프로세스
다음 명령을 실행하여
oadp-credrequest
디렉터리를 생성합니다.mkdir -p oadp-credrequest
$ mkdir -p oadp-credrequest
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같이
CredentialsRequest.yaml
파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
ccoctl
유틸리티를 사용하여oadp-credrequest
디렉터리에서CredentialsRequest
오브젝트를 처리합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 단계에서
manifests/openshift-adp-cloud-credentials-gcp-credentials.yaml
파일을 사용할 수 있습니다.다음 명령을 실행하여 네임스페이스를 생성합니다.
oc create namespace <OPERATOR_INSTALL_NS>
$ oc create namespace <OPERATOR_INSTALL_NS>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 네임스페이스에 인증 정보를 적용합니다.
oc apply -f manifests/openshift-adp-cloud-credentials-gcp-credentials.yaml
$ oc apply -f manifests/openshift-adp-cloud-credentials-gcp-credentials.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.10.1.4.1. Google 워크로드 ID 페더레이션 알려진 문제 링크 복사링크가 클립보드에 복사되었습니다!
-
GCP 워크로드 ID 페더레이션이 구성된 경우 VSL(volume Snapshot Location) 백업은
부분적으로Failed
단계로 완료됩니다. Google 워크로드 ID 페더레이션 인증은 VSL 백업을 지원하지 않습니다.
4.10.1.5. 데이터 보호 애플리케이션 설치 링크 복사링크가 클립보드에 복사되었습니다!
DataProtectionApplication API의 인스턴스를 생성하여 DPA( Data Protection Application
)를 설치합니다.
사전 요구 사항
- OADP Operator를 설치해야 합니다.
- 오브젝트 스토리지를 백업 위치로 구성해야 합니다.
- 스냅샷을 사용하여 PV를 백업하는 경우 클라우드 공급자는 기본 스냅샷 API 또는 CSI(Container Storage Interface) 스냅샷을 지원해야 합니다.
-
백업 및 스냅샷 위치에서 동일한 인증 정보를 사용하는 경우 기본 이름
cloud-credentials-gcp
로Secret
을 생성해야 합니다. 백업 및 스냅샷 위치에서 다른 인증 정보를 사용하는 경우 다음 두 개의
Secret
을 생성해야 합니다.-
백업 위치에 대한 사용자 정의 이름이 있는
Secret
입니다. 이Secret
을DataProtectionApplication
CR에 추가합니다. -
스냅샷 위치에 대한 다른 사용자 지정 이름이 있는
Secret
입니다. 이Secret
을DataProtectionApplication
CR에 추가합니다.
참고설치 중에 백업 또는 스냅샷 위치를 지정하지 않으려면 빈
credentials-velero
파일을 사용하여 기본Secret
을 생성할 수 있습니다. 기본Secret
이 없으면 설치에 실패합니다.-
백업 위치에 대한 사용자 정의 이름이 있는
프로세스
-
Operators
설치된 Operator 를 클릭하고 OADP Operator를 선택합니다. - 제공된 API 아래에서 DataProtectionApplication 상자에서 인스턴스 생성 을 클릭합니다.
YAML 보기를 클릭하고
DataProtectionApplication
매니페스트의 매개변수를 업데이트합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- OADP의 기본 네임스페이스는
openshift-adp
입니다. 네임스페이스는 변수이며 구성 가능합니다. - 2
openshift
플러그인은 필수입니다.- 3
- Velero CRD 가용성, volumeSnapshot 삭제, 백업 리포지토리 가용성과 같이 시간 초과가 발생하기 전에 여러 Velero 리소스를 대기하는 시간(분)을 지정합니다. 기본값은 10m입니다.
- 4
- 관리 요청을 서버로 라우팅하는 관리 에이전트입니다.
- 5
nodeAgent
를 활성화하고 파일 시스템 백업을 수행하려면 이 값을true
로 설정합니다.- 6
- 업로드로
kopia
또는restic
을 입력합니다. 설치 후에는 선택을 변경할 수 없습니다. 기본 제공 DataMover의 경우 Kopia를 사용해야 합니다.nodeAgent
는 데몬 세트를 배포합니다. 즉,nodeAgent
Pod가 각 작동 중인 노드에서 실행됩니다.Backup
CR에spec.defaultVolumesToFsBackup: true
를 추가하여 파일 시스템 백업을 구성할 수 있습니다. - 7
- Kopia 또는 Restic을 사용할 수 있는 노드를 지정합니다. 기본적으로 Kopia 또는 Restic은 모든 노드에서 실행됩니다.
- 8
- 인증 정보가 포함된 시크릿 키입니다. Google 워크로드 ID 페더레이션 클라우드 인증의 경우
service_account.json
을 사용합니다. - 9
- 인증 정보가 포함된 시크릿 이름입니다. 이 값을 지정하지 않으면 기본 이름,
cloud-credentials-gcp
가 사용됩니다. - 10
- 버킷을 백업 스토리지 위치로 지정합니다. 버킷이 Velero 백업의 전용 버킷이 아닌 경우 접두사를 지정해야 합니다.
- 11
- 버킷이 여러 용도로 사용되는 경우 Velero 백업의 접두사를 지정합니다(예:
velero
). - 12
- CSI 스냅샷 또는 Restic을 사용하여 PV를 백업하지 않는 한 스냅샷 위치를 지정합니다.
- 13
- 스냅샷 위치는 PV와 동일한 리전에 있어야 합니다.
- 14
- 생성한
Secret
오브젝트의 이름을 지정합니다. 이 값을 지정하지 않으면 기본 이름,cloud-credentials-gcp
가 사용됩니다. 사용자 지정 이름을 지정하면 사용자 정의 이름이 백업 위치에 사용됩니다. - 15
- Google 워크로드 ID 페더레이션은 내부 이미지 백업을 지원합니다. 이미지 백업을 사용하지 않으려면 이 필드를
false
로 설정합니다.
- 생성을 클릭합니다.
검증
다음 명령을 실행하여 OADP(OpenShift API for Data Protection) 리소스를 확인하여 설치를 확인합니다.
oc get all -n openshift-adp
$ oc get all -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 DPA(
DataProtectionApplication
)가 조정되었는지 확인합니다.oc get dpa dpa-sample -n openshift-adp -o jsonpath='{.status}'
$ oc get dpa dpa-sample -n openshift-adp -o jsonpath='{.status}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
{"conditions":[{"lastTransitionTime":"2023-10-27T01:23:57Z","message":"Reconcile complete","reason":"Complete","status":"True","type":"Reconciled"}]}
{"conditions":[{"lastTransitionTime":"2023-10-27T01:23:57Z","message":"Reconcile complete","reason":"Complete","status":"True","type":"Reconciled"}]}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
유형이
Reconciled
으로 설정되어 있는지 확인합니다. 백업 스토리지 위치를 확인하고 다음 명령을 실행하여
PHASE
가 사용
가능한지 확인합니다.oc get backupstoragelocations.velero.io -n openshift-adp
$ oc get backupstoragelocations.velero.io -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 1s 3d16h true
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 1s 3d16h true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.10.1.6. 클라이언트 버스트 및 QPS 설정으로 DPA 구성 링크 복사링크가 클립보드에 복사되었습니다!
버스트 설정은 제한을 적용하기 전에 velero
서버로 보낼 수 있는 요청 수를 결정합니다. 버스트 제한에 도달한 후 초당 쿼리(QPS) 설정에 따라 초당 전송할 수 있는 추가 요청 수를 결정합니다.
버스트 및 QPS 값으로 DPA(Data Protection Application)를 구성하여 velero
서버의 버스트 및 QPS 값을 설정할 수 있습니다. DPA의 dpa.configuration.velero.client-burst
및 dpa.configuration.velero.client-qps
필드를 사용하여 burst 및 QPS 값을 설정할 수 있습니다.
사전 요구 사항
- OADP Operator가 설치되어 있습니다.
절차
다음 예와 같이 DPA에서
client-burst
및client-qps
필드를 구성합니다.데이터 보호 애플리케이션 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.10.1.6.1. 노드 에이전트 및 노드 라벨 구성 링크 복사링크가 클립보드에 복사되었습니다!
OADP의 DPA는 nodeSelector
필드를 사용하여 노드 에이전트를 실행할 수 있는 노드를 선택합니다. nodeSelector
필드는 권장되는 노드 선택 제약 조건의 가장 간단한 형식입니다.
지정된 라벨은 각 노드의 라벨과 일치해야 합니다.
선택하는 노드에서 노드 에이전트를 실행하는 올바른 방법은 사용자 정의 라벨을 사용하여 노드에 레이블을 지정하는 것입니다.
oc label node/<node_name> node-role.kubernetes.io/nodeAgent=""
$ oc label node/<node_name> node-role.kubernetes.io/nodeAgent=""
노드에 레이블을 지정하는 데 사용한 DPA.spec.configuration.nodeAgent.podConfig.nodeSelector
에서 동일한 사용자 지정 레이블을 사용합니다. 예를 들면 다음과 같습니다.
다음 예제는 nodeSelector
의 안티 패턴이며 'node-role.kubernetes.io/infra: ""'
및 'node-role.kubernetes.io/worker: ""'
둘 다 노드에 있지 않으면 작동하지 않습니다.
4.10.1.6.2. DataProtectionApplication CR에서 CSI 활성화 링크 복사링크가 클립보드에 복사되었습니다!
CSI 스냅샷을 사용하여 영구 볼륨을 백업하기 위해 DataProtectionApplication
CR(사용자 정의 리소스)에서 CSI(Container Storage Interface)를 활성화합니다.
사전 요구 사항
- 클라우드 공급자는 CSI 스냅샷을 지원해야 합니다.
절차
다음 예제와 같이
DataProtectionApplication
CR을 편집합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
csi
기본 플러그인을 추가합니다.
4.10.1.6.3. DataProtectionApplication에서 노드 에이전트 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
백업에 Restic
,Kopia
또는 DataMover
를 사용하지 않는 경우 DataProtectionApplication
CR(사용자 정의 리소스)에서 nodeAgent
필드를 비활성화할 수 있습니다. nodeAgent
를 비활성화하기 전에 OADP Operator가 유휴 상태이고 백업을 실행하지 않는지 확인합니다.
절차
nodeAgent
를 비활성화하려면enable
플래그를false
로 설정합니다. 다음 예제를 참조하십시오.Example
DataProtectionApplication
CRCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 노드 에이전트를 비활성화합니다.
nodeAgent
를 활성화하려면enable
플래그를true
로 설정합니다. 다음 예제를 참조하십시오.Example
DataProtectionApplication
CRCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 노드 에이전트를 활성화합니다.
DataProtectionApplication
CR에서 nodeAgent
필드를 활성화하고 비활성화하는 작업을 설정할 수 있습니다. 자세한 내용은 "작업을 사용하여 Pod에서 작업 실행"을 참조하십시오.