4.5. OADP のユースケース
4.5.1. OpenShift API for Data Protection と {odf-first} を使用したバックアップ
以下は、OADP と ODF を使用してアプリケーションをバックアップするユースケースです。
4.5.1.1. OADP と ODF を使用したアプリケーションのバックアップ
このユースケースでは、OADP を使用してアプリケーションをバックアップし、{odf-first} によって提供されるオブジェクトストレージにバックアップを保存します。
- Backup Storage Location を設定するために、Object Bucket Claim (OBC) を作成します。{odf-short} を使用して、Amazon S3 互換オブジェクトストレージバケットを設定します。{odf-short} は、MultiCloud Object Gateway (NooBaa MCG)および Ceph Object Gateway (RGW)、Object Storage Service としても知られる Ceph Object Gateway を提供します。このユースケースでは、Backup Storage Location として NooBaa MCG を使用します。
- 
								awsプロバイダープラグインを使用して、OADP で NooBaa MCG サービスを使用します。
- Backup Storage Location (BSL) を使用して Data Protection Application (DPA) を設定します。
- バックアップカスタムリソース (CR) を作成し、バックアップするアプリケーションの namespace を指定します。
- バックアップを作成して検証します。
前提条件
- OADP Operator をインストールした。
- {odf-short} Operator をインストールしました。
- 別の namespace で実行されているデータベースを持つアプリケーションがある。
手順
- 次の例に示すように、NooBaa MCG バケットを要求する OBC マニフェストファイルを作成します。 - OBC の例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して OBC を作成します。 - oc create -f <obc_file_name> - $ oc create -f <obc_file_name>- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- Object Bucket Claim マニフェストのファイル名を指定します。
 
- OBC を作成すると、ODF が Object Bucket Claim と同じ名前の - secretと- config mapを作成します。- secretにはバケットの認証情報が含まれており、- config mapにはバケットにアクセスするための情報が含まれています。生成された config map からバケット名とバケットホストを取得するには、次のコマンドを実行します。- oc extract --to=- cm/test-obc - $ oc extract --to=- cm/test-obc- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- test-obcは OBC の名前です。
 - 出力例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 生成された - secretからバケットの認証情報を取得するには、次のコマンドを実行します。- oc extract --to=- secret/test-obc - $ oc extract --to=- secret/test-obc- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY - # AWS_ACCESS_KEY_ID ebYR....xLNMc # AWS_SECRET_ACCESS_KEY YXf...+NaCkdyC3QPym- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して、 - openshift-storagenamespace の s3 ルートから S3 エンドポイントのパブリック URL を取得します。- oc get route s3 -n openshift-storage - $ oc get route s3 -n openshift-storage- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドに示すように、オブジェクトバケットの認証情報を含む - cloud-credentialsファイルを作成します。- [default] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY> - [default] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドに示すように、 - cloud-credentialsファイルの内容を使用して- cloud-credentialsシークレットを作成します。- oc create secret generic \ cloud-credentials \ -n openshift-adp \ --from-file cloud=cloud-credentials - $ oc create secret generic \ cloud-credentials \ -n openshift-adp \ --from-file cloud=cloud-credentials- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次の例に示すように、Data Protection Application (DPA) を設定します。 - DPA の例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して DPA を作成します。 - oc apply -f <dpa_filename> - $ oc apply -f <dpa_filename>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して、DPA が正常に作成されたことを確認します。出力例から、 - statusオブジェクトの- typeフィールドが- Reconciledに設定されていることがわかります。これは、DPA が正常に作成されたことを意味します。- oc get dpa -o yaml - $ oc get dpa -o yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して、Backup Storage Location (BSL) が使用可能であることを確認します。 - 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 3s 15s true - NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 3s 15s true- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次の例に示すように、バックアップ CR を設定します。 - バックアップ CR の例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- バックアップするアプリケーションの namespace を指定します。
 
- 次のコマンドを実行してバックアップ CR を作成します。 - oc apply -f <backup_cr_filename> - $ oc apply -f <backup_cr_filename>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
検証
- 次のコマンドを実行して、バックアップオブジェクトが - Completedフェーズにあることを確認します。詳細は、出力例を参照してください。- oc describe backup test-backup -n openshift-adp - $ oc describe backup test-backup -n openshift-adp- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
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 を作成します。 - 復元 CR の例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して復元 CR を適用します。 - oc apply -f <restore_cr_filename> - $ oc apply -f <restore_cr_filename>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
検証
- 次のコマンドを実行して、復元が - Completedフェーズにあることを確認します。- oc describe restores.velero.io <restore_name> -n openshift-adp - $ oc describe restores.velero.io <restore_name> -n openshift-adp- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して、復元先の namespace - test-restore-applicationに切り替えます。- oc project test-restore-application - $ oc project test-restore-application- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して、永続ボリューム要求 (pvc)、サービス (svc)、デプロイメント、シークレット、config map などの復元されたリソースを確認します。 - oc get pvc,svc,deployment,secret,configmap - $ oc get pvc,svc,deployment,secret,configmap- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
4.5.3. バックアップ時の自己署名 CA 証明書の追加
自己署名認証局 (CA) 証明書を Data Protection Application (DPA) に含めてから、アプリケーションをバックアップできます。{odf-first} が提供する 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-short} Operator をインストールしました。
- 別の namespace で実行されているデータベースを持つアプリケーションがある。
手順
- 次の例に示すように、NooBaa バケットを要求する OBC マニフェストを作成します。 - ObjectBucketClaimCR の例- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して OBC を作成します。 - oc create -f <obc_file_name> - $ oc create -f <obc_file_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- OBC を作成すると、ODF が Object Bucket Claim と同じ名前の - secretと- ConfigMapを作成します。- secretオブジェクトにはバケットの認証情報が含まれ、- ConfigMapオブジェクトにはバケットにアクセスするための情報が含まれています。生成された config map からバケット名とバケットホストを取得するには、次のコマンドを実行します。- oc extract --to=- cm/test-obc - $ oc extract --to=- cm/test-obc- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- OBC の名前はtest-obcです。
 - 出力例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- secretオブジェクトからバケット認証情報を取得するには、次のコマンドを実行します。- oc extract --to=- secret/test-obc - $ oc extract --to=- secret/test-obc- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY - # AWS_ACCESS_KEY_ID ebYR....xLNMc # AWS_SECRET_ACCESS_KEY YXf...+NaCkdyC3QPym- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次の設定例を使用して、オブジェクトバケットの認証情報を含む - cloud-credentialsファイルを作成します。- [default] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY> - [default] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して、 - cloud-credentialsファイルの内容を使用して- cloud-credentialsシークレットを作成します。- oc create secret generic \ cloud-credentials \ -n openshift-adp \ --from-file cloud=cloud-credentials - $ oc create secret generic \ cloud-credentials \ -n openshift-adp \ --from-file cloud=cloud-credentials- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して、 - openshift-service-ca.crtconfig map からサービス CA 証明書を抽出します。証明書を- Base64形式で必ずエンコードし、次のステップで使用する値をメモしてください。- oc get cm/openshift-service-ca.crt \ -o jsonpath='{.data.service-ca\.crt}' | base64 -w0; echo- $ oc get cm/openshift-service-ca.crt \ -o jsonpath='{.data.service-ca\.crt}' | base64 -w0; echo- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0... ....gpwOHMwaG9CRmk5a3....FLS0tLS0K - LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0... ....gpwOHMwaG9CRmk5a3....FLS0tLS0K- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次の例に示すように、バケット名と CA 証明書を使用して - DataProtectionApplicationCR マニフェストファイルを設定します。- DataProtectionApplicationCR の例- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して、 - DataProtectionApplicationCR を作成します。- oc apply -f <dpa_filename> - $ oc apply -f <dpa_filename>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して、 - DataProtectionApplicationCR が正常に作成されたことを確認します。- oc get dpa -o yaml - $ oc get dpa -o yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して、Backup Storage Location (BSL) が使用可能であることを確認します。 - 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 3s 15s true - NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 3s 15s true- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次の例を使用して、 - BackupCR を設定します。- BackupCR の例- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- バックアップするアプリケーションの namespace を指定します。
 
- 次のコマンドを実行して - BackupCR を作成します。- oc apply -f <backup_cr_filename> - $ oc apply -f <backup_cr_filename>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
検証
- 次のコマンドを実行して、 - Backupオブジェクトが- Completedフェーズにあることを確認します。- oc describe backup test-backup -n openshift-adp - $ oc describe backup test-backup -n openshift-adp- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow