1.3. ROSA STS를 사용하여 OADP에서 워크로드 백업
1.3.1. OADP 및 ROSA STS로 백업 수행 링크 복사링크가 클립보드에 복사되었습니다!
다음 예제 hello-world 애플리케이션에는 PV(영구 볼륨)가 연결되어 있지 않습니다. ROSA(Red Hat OpenShift Service on AWS) STS를 사용하여 OADP(OpenShift API for Data Protection)를 사용하여 백업을 수행합니다.
DPA(Data Protection Application) 구성이 작동합니다.
다음 명령을 실행하여 백업할 워크로드를 생성합니다.
oc create namespace hello-world
$ oc create namespace hello-worldCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc new-app -n hello-world --image=docker.io/openshift/hello-openshift
$ oc new-app -n hello-world --image=docker.io/openshift/hello-openshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 경로를 노출합니다.
oc expose service/hello-openshift -n hello-world
$ oc expose service/hello-openshift -n hello-worldCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 애플리케이션이 작동하는지 확인합니다.
curl `oc get route/hello-openshift -n hello-world -o jsonpath='{.spec.host}'`$ curl `oc get route/hello-openshift -n hello-world -o jsonpath='{.spec.host}'`Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Hello OpenShift!
Hello OpenShift!Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 워크로드를 백업합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 백업이 완료될 때까지 기다린 후 다음 명령을 실행합니다.
watch "oc -n openshift-adp get backup hello-world -o json | jq .status"
$ watch "oc -n openshift-adp get backup hello-world -o json | jq .status"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 데모 워크로드를 삭제합니다.
oc delete ns hello-world
$ oc delete ns hello-worldCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 백업에서 워크로드를 복원합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 복원이 완료될 때까지 기다립니다.
watch "oc -n openshift-adp get restore hello-world -o json | jq .status"
$ watch "oc -n openshift-adp get restore hello-world -o json | jq .status"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 워크로드가 복원되었는지 확인합니다.
oc -n hello-world get pods
$ oc -n hello-world get podsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME READY STATUS RESTARTS AGE hello-openshift-9f885f7c6-kdjpj 1/1 Running 0 90s
NAME READY STATUS RESTARTS AGE hello-openshift-9f885f7c6-kdjpj 1/1 Running 0 90sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 JSONPath를 확인합니다.
curl `oc get route/hello-openshift -n hello-world -o jsonpath='{.spec.host}'`$ curl `oc get route/hello-openshift -n hello-world -o jsonpath='{.spec.host}'`Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Hello OpenShift!
Hello OpenShift!Copy to Clipboard Copied! Toggle word wrap Toggle overflow
문제 해결 팁은 OADP 팀의 문제 해결 설명서를 참조하십시오.
1.3.2. OADP 및 ROSA STS를 사용하여 백업 후 클러스터 정리 링크 복사링크가 클립보드에 복사되었습니다!
이 예제에서 OADP(OpenShift API for Data Protection) Operator를 백업 및 S3 버킷과 함께 설치 제거해야 하는 경우 다음 지침을 따르십시오.
절차
다음 명령을 실행하여 워크로드를 삭제합니다.
oc delete ns hello-world
$ oc delete ns hello-worldCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 DPA(데이터 보호 애플리케이션)를 삭제합니다.
oc -n openshift-adp delete dpa ${CLUSTER_NAME}-dpa$ oc -n openshift-adp delete dpa ${CLUSTER_NAME}-dpaCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 클라우드 스토리지를 삭제합니다.
oc -n openshift-adp delete cloudstorage ${CLUSTER_NAME}-oadp$ oc -n openshift-adp delete cloudstorage ${CLUSTER_NAME}-oadpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 주의이 명령이 중단되면 다음 명령을 실행하여 종료자를 삭제해야 할 수 있습니다.
oc -n openshift-adp patch cloudstorage ${CLUSTER_NAME}-oadp -p '{"metadata":{"finalizers":null}}' --type=merge$ oc -n openshift-adp patch cloudstorage ${CLUSTER_NAME}-oadp -p '{"metadata":{"finalizers":null}}' --type=mergeCopy to Clipboard Copied! Toggle word wrap Toggle overflow Operator가 더 이상 필요하지 않은 경우 다음 명령을 실행하여 Operator를 제거합니다.
oc -n openshift-adp delete subscription oadp-operator
$ oc -n openshift-adp delete subscription oadp-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow Operator에서 네임스페이스를 제거합니다.
oc delete ns openshift-adp
$ oc delete ns openshift-adpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 백업 및 복원 리소스가 더 이상 필요하지 않은 경우 다음 명령을 실행하여 클러스터에서 해당 리소스를 제거합니다.
oc delete backups.velero.io hello-world
$ oc delete backups.velero.io hello-worldCopy to Clipboard Copied! Toggle word wrap Toggle overflow AWS S3에서 백업, 복원 및 원격 오브젝트를 삭제하려면 다음 명령을 실행합니다.
velero backup delete hello-world
$ velero backup delete hello-worldCopy to Clipboard Copied! Toggle word wrap Toggle overflow 더 이상 CRD(Custom Resource Definitions)가 필요하지 않은 경우 다음 명령을 실행하여 클러스터에서 해당 정의를 제거하십시오.
for CRD in `oc get crds | grep velero | awk '{print $1}'`; do oc delete crd $CRD; done$ for CRD in `oc get crds | grep velero | awk '{print $1}'`; do oc delete crd $CRD; doneCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 AWS S3 버킷을 삭제합니다.
aws s3 rm s3://${CLUSTER_NAME}-oadp --recursive$ aws s3 rm s3://${CLUSTER_NAME}-oadp --recursiveCopy to Clipboard Copied! Toggle word wrap Toggle overflow aws s3api delete-bucket --bucket ${CLUSTER_NAME}-oadp$ aws s3api delete-bucket --bucket ${CLUSTER_NAME}-oadpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 역할에서 정책을 분리합니다.
aws iam detach-role-policy --role-name "${ROLE_NAME}" --policy-arn "${POLICY_ARN}"$ aws iam detach-role-policy --role-name "${ROLE_NAME}" --policy-arn "${POLICY_ARN}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 역할을 삭제합니다.
aws iam delete-role --role-name "${ROLE_NAME}"$ aws iam delete-role --role-name "${ROLE_NAME}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow