4.5. OADP のユースケース
4.5.1. OpenShift API for Data Protection と Red Hat OpenShift Data Foundation (ODF) を使用したバックアップ リンクのコピーリンクがクリップボードにコピーされました!
以下は、OADP と ODF を使用してアプリケーションをバックアップするユースケースです。
4.5.1.1. OADP と ODF を使用したアプリケーションのバックアップ リンクのコピーリンクがクリップボードにコピーされました!
このユースケースでは、OADP を使用してアプリケーションをバックアップし、Red Hat OpenShift Data Foundation (ODF) によって提供されるオブジェクトストレージにバックアップを保存します。
- Backup Storage Location を設定するために、Object Bucket Claim (OBC) を作成します。ODF を使用して、Amazon S3 互換のオブジェクトストレージバケットを設定します。ODF は、MultiCloud Object Gateway (NooBaa MCG) と Ceph Object Gateway (RADOS Gateway (RGW) とも呼ばれる) オブジェクトストレージサービスを提供します。このユースケースでは、Backup Storage Location として NooBaa MCG を使用します。
-
awsプロバイダープラグインを使用して、OADP で NooBaa MCG サービスを使用します。 - Backup Storage Location (BSL) を使用して Data Protection Application (DPA) を設定します。
- バックアップカスタムリソース (CR) を作成し、バックアップするアプリケーションの namespace を指定します。
- バックアップを作成して検証します。
前提条件
- OADP Operator をインストールした。
- ODF Operator をインストールした。
- 別の namespace で実行されているデータベースを持つアプリケーションがある。
手順
次の例に示すように、NooBaa MCG バケットを要求する OBC マニフェストファイルを作成します。
apiVersion: objectbucket.io/v1alpha1 kind: ObjectBucketClaim metadata: name: test-obc namespace: openshift-adp spec: storageClassName: openshift-storage.noobaa.io generateBucketName: test-backup-bucketここでは、以下のようになります。
test-obc- Object Bucket Claim の名前を指定します。
test-backup-bucket- バケットの名前を指定します。
次のコマンドを実行して OBC を作成します。
$ oc create -f <obc_file_name>ここでは、以下のようになります。
<obc_file_name>- オブジェクトバケットクレームマニフェストのファイル名を指定します。
OBC を作成すると、ODF が Object Bucket Claim と同じ名前の
secretとconfig mapを作成します。secretにはバケットの認証情報が含まれており、config mapにはバケットにアクセスするための情報が含まれています。生成された config map からバケット名とバケットホストを取得するには、次のコマンドを実行します。$ oc extract --to=- cm/test-obctest-obcは OBC の名前です。出力例
# BUCKET_NAME backup-c20...41fd # BUCKET_PORT 443 # BUCKET_REGION # BUCKET_SUBREGION # BUCKET_HOST s3.openshift-storage.svc生成された
secretからバケットの認証情報を取得するには、次のコマンドを実行します。$ oc extract --to=- secret/test-obc出力例
# AWS_ACCESS_KEY_ID ebYR....xLNMc # AWS_SECRET_ACCESS_KEY YXf...+NaCkdyC3QPym次のコマンドを実行して、
openshift-storagenamespace の s3 ルートから S3 エンドポイントのパブリック URL を取得します。$ oc get route s3 -n openshift-storage次のコマンドに示すように、オブジェクトバケットの認証情報を含む
cloud-credentialsファイルを作成します。[default] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY>次のコマンドに示すように、
cloud-credentialsファイルの内容を使用してcloud-credentialsシークレットを作成します。$ oc create secret generic \ cloud-credentials \ -n openshift-adp \ --from-file cloud=cloud-credentials次の例に示すように、Data Protection Application (DPA) を設定します。
apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: oadp-backup namespace: openshift-adp spec: configuration: nodeAgent: enable: true uploaderType: kopia velero: defaultPlugins: - aws - openshift - csi defaultSnapshotMoveData: true backupLocations: - velero: config: profile: "default" region: noobaa s3Url: https://s3.openshift-storage.svc s3ForcePathStyle: "true" insecureSkipTLSVerify: "true" provider: aws default: true credential: key: cloud name: cloud-credentials objectStorage: bucket: <bucket_name> prefix: oadpここでは、以下のようになります。
defaultSnapshotMoveData-
OADP Data Mover を使用して、リモートオブジェクトストレージへの Container Storage Interface (CSI)スナップショットの移動を有効にするには、
trueに設定します。 s3Url- ODF ストレージの S3 URL を指定します。
<bucket_name>- バケット名を指定します。
次のコマンドを実行して DPA を作成します。
$ oc apply -f <dpa_filename>次のコマンドを実行して、DPA が正常に作成されたことを確認します。出力例から、
statusオブジェクトのtypeフィールドがReconciledに設定されていることがわかります。これは、DPA が正常に作成されたことを意味します。$ oc get dpa -o yaml出力例
apiVersion: v1 items: - apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: namespace: openshift-adp #...# spec: backupLocations: - velero: config: #...# status: conditions: - lastTransitionTime: "20....9:54:02Z" message: Reconcile complete reason: Complete status: "True" type: Reconciled kind: List metadata: resourceVersion: ""次のコマンドを実行して、Backup Storage Location (BSL) が使用可能であることを確認します。
$ oc get backupstoragelocations.velero.io -n openshift-adp出力例
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 3s 15s true次の例に示すように、バックアップ CR を設定します。
apiVersion: velero.io/v1 kind: Backup metadata: name: test-backup namespace: openshift-adp spec: includedNamespaces: - <application_namespace>ここでは、以下のようになります。
<application_namespace>- アプリケーションのバックアップ用の namespace を指定します。
次のコマンドを実行してバックアップ CR を作成します。
$ oc apply -f <backup_cr_filename>
検証
次のコマンドを実行して、バックアップオブジェクトが
Completedフェーズにあることを確認します。詳細は、出力例を参照してください。$ oc describe backup test-backup -n openshift-adp出力例
Name: test-backup Namespace: openshift-adp # ....# Status: Backup Item Operations Attempted: 1 Backup Item Operations Completed: 1 Completion Timestamp: 2024-09-25T10:17:01Z Expiration: 2024-10-25T10:16:31Z Format Version: 1.1.0 Hook Status: Phase: Completed Progress: Items Backed Up: 34 Total Items: 34 Start Timestamp: 2024-09-25T10:16:31Z Version: 1 Events: <none>
4.5.2. OpenShift API for Data Protection (OADP) による復元のユースケース リンクのコピーリンクがクリップボードにコピーされました!
以下は、OADP を使用してバックアップを別の namespace に復元するユースケースです。
4.5.2.1. OADP を使用してアプリケーションを別の namespace に復元する リンクのコピーリンクがクリップボードにコピーされました!
OADP を使用して、アプリケーションのバックアップを、新しいターゲット namespace の test-restore-application に復元します。バックアップを復元するには、次の例に示すように、復元カスタムリソース (CR) を作成します。この復元 CR では、バックアップに含めたアプリケーションの namespace を、ソース namespace が参照します。その後、新しい復元先の namespace にプロジェクトを切り替えてリソースを確認することで、復元を検証します。
前提条件
- OADP Operator をインストールした。
- 復元するアプリケーションのバックアップがある。
手順
次の例に示すように、復元 CR を作成します。
apiVersion: velero.io/v1 kind: Restore metadata: name: test-restore namespace: openshift-adp spec: backupName: <backup_name> restorePVs: true namespaceMapping: <application_namespace>: test-restore-applicationここでは、以下のようになります。
test-restore- 復元 CR の名前を指定します。
<BACKUP_NAME>- バックアップの名前を指定します。
<application_namespace>-
復元先のターゲット名前空間を指定します。
namespaceMappingは、ソースアプリケーションの namespace をターゲットアプリケーションの namespace にマップします。test-restore-applicationは、バックアップを復元するターゲット namespace の名前です。
次のコマンドを実行して復元 CR を適用します。
$ oc apply -f <restore_cr_filename>
検証
次のコマンドを実行して、復元が
Completedフェーズにあることを確認します。$ oc describe restores.velero.io <restore_name> -n openshift-adp次のコマンドを実行して、復元先の namespace
test-restore-applicationに切り替えます。$ oc project test-restore-application次のコマンドを実行して、永続ボリューム要求 (pvc)、サービス (svc)、デプロイメント、シークレット、config map などの復元されたリソースを確認します。
$ oc get pvc,svc,deployment,secret,configmap出力例
NAME STATUS VOLUME persistentvolumeclaim/mysql Bound pvc-9b3583db-...-14b86 NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/mysql ClusterIP 172....157 <none> 3306/TCP 2m56s service/todolist ClusterIP 172.....15 <none> 8000/TCP 2m56s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/mysql 0/1 1 0 2m55s NAME TYPE DATA AGE secret/builder-dockercfg-6bfmd kubernetes.io/dockercfg 1 2m57s secret/default-dockercfg-hz9kz kubernetes.io/dockercfg 1 2m57s secret/deployer-dockercfg-86cvd kubernetes.io/dockercfg 1 2m57s secret/mysql-persistent-sa-dockercfg-rgp9b kubernetes.io/dockercfg 1 2m57s NAME DATA AGE configmap/kube-root-ca.crt 1 2m57s configmap/openshift-service-ca.crt 1 2m57s
4.5.3. バックアップ時の自己署名 CA 証明書の追加 リンクのコピーリンクがクリップボードにコピーされました!
自己署名認証局 (CA) 証明書を Data Protection Application (DPA) に含めてから、アプリケーションをバックアップできます。バックアップは、Red Hat OpenShift Data Foundation (ODF) が提供する NooBaa バケットに保存します。
4.5.3.1. アプリケーションとその自己署名 CA 証明書のバックアップ リンクのコピーリンクがクリップボードにコピーされました!
ODF によって提供される s3.openshift-storage.svc サービスは、自己署名サービス CA で署名された Transport Layer Security (TLS) プロトコル証明書を使用します。
certificate signed by unknown authority エラーを防ぐには、DataProtectionApplication カスタムリソース (CR) の Backup Storage Location (BSL) セクションに自己署名 CA 証明書を含める必要があります。この場合、次のタスクを完了する必要があります。
- Object Bucket Claim (OBC) を作成して、NooBaa バケットを要求します。
- バケットの詳細を抽出します。
-
DataProtectionApplicationCR に自己署名 CA 証明書を含めます。 - アプリケーションをバックアップします。
前提条件
- OADP Operator をインストールした。
- ODF Operator をインストールした。
- 別の namespace で実行されているデータベースを持つアプリケーションがある。
手順
次の例に示すように、NooBaa バケットを要求する OBC マニフェストを作成します。
apiVersion: objectbucket.io/v1alpha1 kind: ObjectBucketClaim metadata: name: test-obc namespace: openshift-adp spec: storageClassName: openshift-storage.noobaa.io generateBucketName: test-backup-bucketここでは、以下のようになります。
test-obc- Object Bucket Claim の名前を指定します。
test-backup-bucket- バケットの名前を指定します。
次のコマンドを実行して OBC を作成します。
$ oc create -f <obc_file_name>OBC を作成すると、ODF が Object Bucket Claim と同じ名前の
secretとConfigMapを作成します。secretオブジェクトにはバケットの認証情報が含まれ、ConfigMapオブジェクトにはバケットにアクセスするための情報が含まれています。生成された config map からバケット名とバケットホストを取得するには、次のコマンドを実行します。$ oc extract --to=- cm/test-obctest-obcは OBC の名前です。出力例
# BUCKET_NAME backup-c20...41fd # BUCKET_PORT 443 # BUCKET_REGION # BUCKET_SUBREGION # BUCKET_HOST s3.openshift-storage.svcsecretオブジェクトからバケット認証情報を取得するには、次のコマンドを実行します。$ oc extract --to=- secret/test-obc出力例
# AWS_ACCESS_KEY_ID ebYR....xLNMc # AWS_SECRET_ACCESS_KEY YXf...+NaCkdyC3QPym次の設定例を使用して、オブジェクトバケットの認証情報を含む
cloud-credentialsファイルを作成します。[default] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY>次のコマンドを実行して、
cloud-credentialsファイルの内容を使用してcloud-credentialsシークレットを作成します。$ oc create secret generic \ cloud-credentials \ -n openshift-adp \ --from-file cloud=cloud-credentials次のコマンドを実行して、
openshift-service-ca.crtconfig map からサービス CA 証明書を抽出します。証明書をBase64形式で必ずエンコードし、次のステップで使用する値をメモしてください。$ oc get cm/openshift-service-ca.crt \ -o jsonpath='{.data.service-ca\.crt}' | base64 -w0; echo出力例
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0... ....gpwOHMwaG9CRmk5a3....FLS0tLS0K次の例に示すように、バケット名と CA 証明書を使用して
DataProtectionApplicationCR マニフェストファイルを設定します。apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: oadp-backup namespace: openshift-adp spec: configuration: nodeAgent: enable: true uploaderType: kopia velero: defaultPlugins: - aws - openshift - csi defaultSnapshotMoveData: true backupLocations: - velero: config: profile: "default" region: noobaa s3Url: https://s3.openshift-storage.svc s3ForcePathStyle: "true" insecureSkipTLSVerify: "false" provider: aws default: true credential: key: cloud name: cloud-credentials objectStorage: bucket: <bucket_name> prefix: oadp caCert: <ca_cert>ここでは、以下のようになります。
insecureSkipTLSVerify-
SSL/TLS セキュリティーを有効にするかどうかを指定します。
trueに設定すると、SSL/TLS セキュリティーが無効になります。falseに設定すると、SSL/TLS セキュリティーが有効になります。 <bucket_name>- 前の手順で抽出されたバケットの名前を指定します。
<ca_cert>-
直前の手順の
Base64でエンコードされた証明書を指定します。
次のコマンドを実行して、
DataProtectionApplicationCR を作成します。$ oc apply -f <dpa_filename>次のコマンドを実行して、
DataProtectionApplicationCR が正常に作成されたことを確認します。$ oc get dpa -o yaml出力例
apiVersion: v1 items: - apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: namespace: openshift-adp #...# spec: backupLocations: - velero: config: #...# status: conditions: - lastTransitionTime: "20....9:54:02Z" message: Reconcile complete reason: Complete status: "True" type: Reconciled kind: List metadata: resourceVersion: ""次のコマンドを実行して、Backup Storage Location (BSL) が使用可能であることを確認します。
$ oc get backupstoragelocations.velero.io -n openshift-adp出力例
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 3s 15s true次の例を使用して、
BackupCR を設定します。apiVersion: velero.io/v1 kind: Backup metadata: name: test-backup namespace: openshift-adp spec: includedNamespaces: - <application_namespace>ここでは、以下のようになります。
<application_namespace>- アプリケーションのバックアップ用の namespace を指定します。
次のコマンドを実行して
BackupCR を作成します。$ oc apply -f <backup_cr_filename>
検証
次のコマンドを実行して、
BackupオブジェクトがCompletedフェーズにあることを確認します。$ oc describe backup test-backup -n openshift-adp出力例
Name: test-backup Namespace: openshift-adp # ....# Status: Backup Item Operations Attempted: 1 Backup Item Operations Completed: 1 Completion Timestamp: 2024-09-25T10:17:01Z Expiration: 2024-10-25T10:16:31Z Format Version: 1.1.0 Hook Status: Phase: Completed Progress: Items Backed Up: 34 Total Items: 34 Start Timestamp: 2024-09-25T10:16:31Z Version: 1 Events: <none>
4.5.4. legacy-aws Velero プラグインの使用 リンクのコピーリンクがクリップボードにコピーされました!
AWS S3 互換の Backup Storage Location を使用している場合、アプリケーションのバックアップ中に SignatureDoesNotMatch エラーが発生する可能性があります。このエラーは、一部の Backup Storage Location で、新しい AWS SDK for Go V2 と互換性のない古いバージョンの S3 API がまだ使用されているために発生します。この問題を解決するには、DataProtectionApplication カスタムリソース (CR) で legacy-aws Velero プラグインを使用できます。legacy-aws Velero プラグインは、従来の S3 API と互換性のある古い AWS SDK for Go V1 を使用します。これによりバックアップが正常に実行されます。
4.5.4.1. DataProtectionApplication CR で legacy-aws Velero プラグインを使用する リンクのコピーリンクがクリップボードにコピーされました!
次のユースケースでは、legacy-aws Velero プラグインを使用して DataProtectionApplication CR を設定し、アプリケーションをバックアップします。
選択した Backup Storage Location に応じて、DataProtectionApplication CR で legacy-aws または aws プラグインのいずれかを使用できます。DataProtectionApplication CR で両方のプラグインを使用すると、aws and legacy-aws can not be both specified in DPA spec.configuration.velero.defaultPlugins というエラーが発生します。
前提条件
- OADP Operator がインストールされている。
- バックアップの場所として AWS S3 互換のオブジェクトストレージが設定されている。
- 別の namespace で実行されているデータベースを持つアプリケーションがある。
手順
次の例に示すように、
legacy-awsVelero プラグインを使用するようにDataProtectionApplicationCR を設定します。apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: oadp-backup namespace: openshift-adp spec: configuration: nodeAgent: enable: true uploaderType: kopia velero: defaultPlugins: - legacy-aws - openshift - csi defaultSnapshotMoveData: true backupLocations: - velero: config: profile: "default" region: noobaa s3Url: https://s3.openshift-storage.svc s3ForcePathStyle: "true" insecureSkipTLSVerify: "true" provider: aws default: true credential: key: cloud name: cloud-credentials objectStorage: bucket: <bucket_name> prefix: oadpここでは、以下のようになります。
legacy-aws-
legacy-awsプラグインの使用を指定します。 <bucket_name>- バケット名を指定します。
次のコマンドを実行して、
DataProtectionApplicationCR を作成します。$ oc apply -f <dpa_filename>次のコマンドを実行して、
DataProtectionApplicationCR が正常に作成されたことを確認します。出力例から、statusオブジェクトのtypeフィールドがReconciledに設定され、statusフィールドが"True"に設定されていることがわかります。このステータスは、DataProtectionApplicationCR が正常に作成されたことを示します。$ oc get dpa -o yaml出力例
apiVersion: v1 items: - apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: namespace: openshift-adp #...# spec: backupLocations: - velero: config: #...# status: conditions: - lastTransitionTime: "20....9:54:02Z" message: Reconcile complete reason: Complete status: "True" type: Reconciled kind: List metadata: resourceVersion: ""次のコマンドを実行して、Backup Storage Location (BSL) が使用可能であることを確認します。
$ oc get backupstoragelocations.velero.io -n openshift-adp次の例のような出力が表示されます。
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 3s 15s true次の例に示すように、
BackupCR を設定します。apiVersion: velero.io/v1 kind: Backup metadata: name: test-backup namespace: openshift-adp spec: includedNamespaces: - <application_namespace>ここでは、以下のようになります。
<application_namespace>- アプリケーションのバックアップ用の namespace を指定します。
次のコマンドを実行して
BackupCR を作成します。$ oc apply -f <backup_cr_filename>
検証
次のコマンドを実行して、バックアップオブジェクトが
Completedフェーズにあることを確認します。詳細は、出力例を参照してください。$ oc describe backups.velero.io test-backup -n openshift-adp出力例
Name: test-backup Namespace: openshift-adp # ....# Status: Backup Item Operations Attempted: 1 Backup Item Operations Completed: 1 Completion Timestamp: 2024-09-25T10:17:01Z Expiration: 2024-10-25T10:16:31Z Format Version: 1.1.0 Hook Status: Phase: Completed Progress: Items Backed Up: 34 Total Items: 34 Start Timestamp: 2024-09-25T10:16:31Z Version: 1 Events: <none>
4.5.5. ROSA STS を使用する OADP 上のワークロードのバックアップ リンクのコピーリンクがクリップボードにコピーされました!
4.5.5.1. OADP と ROSA STS を使用したバックアップの実行 リンクのコピーリンクがクリップボードにコピーされました!
次の hello-world アプリケーションの例では、永続ボリューム (PV) がアタッチされていません。Red Hat OpenShift Service on AWS (ROSA) STS を使用して、OpenShift API for Data Protection (OADP) でバックアップを実行します。
どちらの Data Protection Application (DPA) 設定も機能します。
手順
次のコマンドを実行して、バックアップするワークロードを作成します。
$ oc create namespace hello-world$ oc new-app -n hello-world --image=docker.io/openshift/hello-openshift次のコマンドを実行してルートを公開します。
$ oc expose service/hello-openshift -n hello-world次のコマンドを実行して、アプリケーションが動作していることを確認します。
$ curl `oc get route/hello-openshift -n hello-world -o jsonpath='{.spec.host}'`次の例のような出力が表示されます。
Hello OpenShift!次のコマンドを実行して、ワークロードをバックアップします。
$ cat << EOF | oc create -f - apiVersion: velero.io/v1 kind: Backup metadata: name: hello-world namespace: openshift-adp spec: includedNamespaces: - hello-world storageLocation: ${CLUSTER_NAME}-dpa-1 ttl: 720h0m0s EOFバックアップが完了するまで待ってから、次のコマンドを実行します。
$ watch "oc -n openshift-adp get backup hello-world -o json | jq .status"次の例のような出力が表示されます。
{ "completionTimestamp": "2022-09-07T22:20:44Z", "expiration": "2022-10-07T22:20:22Z", "formatVersion": "1.1.0", "phase": "Completed", "progress": { "itemsBackedUp": 58, "totalItems": 58 }, "startTimestamp": "2022-09-07T22:20:22Z", "version": 1 }次のコマンドを実行して、デモワークロードを削除します。
$ oc delete ns hello-world次のコマンドを実行して、バックアップからワークロードを復元します。
$ cat << EOF | oc create -f - apiVersion: velero.io/v1 kind: Restore metadata: name: hello-world namespace: openshift-adp spec: backupName: hello-world EOF次のコマンドを実行して、復元が完了するまで待ちます。
$ watch "oc -n openshift-adp get restore hello-world -o json | jq .status"次の例のような出力が表示されます。
{ "completionTimestamp": "2022-09-07T22:25:47Z", "phase": "Completed", "progress": { "itemsRestored": 38, "totalItems": 38 }, "startTimestamp": "2022-09-07T22:25:28Z", "warnings": 9 }次のコマンドを実行して、ワークロードが復元されていることを確認します。
$ oc -n hello-world get pods次の例のような出力が表示されます。
NAME READY STATUS RESTARTS AGE hello-openshift-9f885f7c6-kdjpj 1/1 Running 0 90s次のコマンドを実行して JSONPath を確認します。
$ curl `oc get route/hello-openshift -n hello-world -o jsonpath='{.spec.host}'`次の例のような出力が表示されます。
Hello OpenShift!
トラブルシューティングのヒントについては、トラブルシューティングのドキュメント を参照してください。
4.5.5.2. OADP と ROSA STS を使用してバックアップ後のクラスターをクリーンアップする リンクのコピーリンクがクリップボードにコピーされました!
この例のバックアップおよび S3 バケットと OpenShift API for Data Protection (OADP) Operator をアンインストールする必要がある場合は、次の手順を実行します。
手順
次のコマンドを実行して、ワークロードを削除します。
$ oc delete ns hello-world次のコマンドを実行して、Data Protection Application (DPA) を削除します。
$ oc -n openshift-adp delete dpa ${CLUSTER_NAME}-dpa次のコマンドを実行して、クラウドストレージを削除します。
$ oc -n openshift-adp delete cloudstorage ${CLUSTER_NAME}-oadp警告このコマンドがハングした場合は、次のコマンドを実行してファイナライザーを削除する必要がある場合があります。
$ oc -n openshift-adp patch cloudstorage ${CLUSTER_NAME}-oadp -p '{"metadata":{"finalizers":null}}' --type=mergeOperator が不要になった場合は、次のコマンドを実行して削除します。
$ oc -n openshift-adp delete subscription oadp-operatorOperator から namespace を削除します。
$ oc delete ns openshift-adpバックアップおよび復元リソースが不要になった場合は、次のコマンドを実行してクラスターからリソースを削除します。
$ oc delete backups.velero.io hello-worldAWS S3 のバックアップ、復元、およびリモートオブジェクトを削除するには、次のコマンドを実行します。
$ velero backup delete hello-worldカスタムリソース定義 (CRD) が不要になった場合は、次のコマンドを実行してクラスターから削除します。
$ for CRD in `oc get crds | grep velero | awk '{print $1}'`; do oc delete crd $CRD; done次のコマンドを実行して、AWS S3 バケットを削除します。
$ aws s3 rm s3://${CLUSTER_NAME}-oadp --recursive$ aws s3api delete-bucket --bucket ${CLUSTER_NAME}-oadp次のコマンドを実行して、ロールからポリシーを切り離します。
$ aws iam detach-role-policy --role-name "${ROLE_NAME}" --policy-arn "${POLICY_ARN}"以下のコマンドを実行してロールを削除します。
$ aws iam delete-role --role-name "${ROLE_NAME}"