4.5. OADP のユースケース
4.5.1. OpenShift API for Data Protection と {odf-first} を使用したバックアップ リンクのコピーリンクがクリップボードにコピーされました!
以下は、OADP と {odf-short} を使用してアプリケーションをバックアップするためのユースケースです。
4.5.1.1. OADP と {odf-short} を使用したアプリケーションのバックアップ リンクのコピーリンクがクリップボードにコピーされました!
このユースケースでは、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-short} は Object Bucket Claim (オブジェクトバケット要求)と同じ名前の
シークレット
と設定マップ
を作成します。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-storage
namespace の 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-short} によって提供される s3.openshift-storage.svc
サービスは、自己署名サービス CA で署名された Transport Layer Security Protocol (TLS)証明書を使用します。
certificate signed by unknown authority
エラーを防ぐには、DataProtectionApplication
カスタムリソース (CR) の Backup Storage Location (BSL) セクションに自己署名 CA 証明書を含める必要があります。この場合、次のタスクを完了する必要があります。
- Object Bucket Claim (OBC) を作成して、NooBaa バケットを要求します。
- バケットの詳細を抽出します。
-
DataProtectionApplication
CR に自己署名 CA 証明書を含めます。 - アプリケーションをバックアップします。
前提条件
- OADP Operator をインストールした。
- {odf-short} Operator をインストールしました。
- 別の namespace で実行されているデータベースを持つアプリケーションがある。
手順
次の例に示すように、NooBaa バケットを要求する OBC マニフェストを作成します。
ObjectBucketClaim
CR の例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-short} はオブジェクトバケットクレームと同じ名前の
シークレット
と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.crt
config 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 証明書を使用して
DataProtectionApplication
CR マニフェストファイルを設定します。DataProtectionApplication
CR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
DataProtectionApplication
CR を作成します。oc apply -f <dpa_filename>
$ oc apply -f <dpa_filename>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
DataProtectionApplication
CR が正常に作成されたことを確認します。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 次の例を使用して、
Backup
CR を設定します。Backup
CR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- バックアップするアプリケーションの namespace を指定します。
次のコマンドを実行して
Backup
CR を作成します。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