5.26.10.5. Azure オブジェクトストレージでデータ保護テストを実行する
必要な Azure 認証情報 (シークレットオブジェクト内の STORAGE_ACCOUNT_ID パラメーターを含む) を設定して、Azure オブジェクトストレージ上で DataProtectionTest (DPT) カスタムリソース (CR) を実行します。これにより、Azure クラスターにおける OADP 設定の検証と CSI スナップショットの準備状況の確認が可能になります。
前提条件
-
cluster-adminロールを持つユーザーとして Azure クラスターにログインしている。 -
OpenShift CLI (
oc) がインストールされている。 - OADP Operator がインストールされている。
- バックアップを保存するためのバケットが設定されている。
- 別の namespace で実行されている永続ボリューム要求 (PVC) を持つアプリケーションがある。
手順
DPT 実行の失敗を回避するには、Azure
storageAccountオブジェクトにStorage Blob Data Contributorロールを追加します。以下のコマンドを実行します。$ az role assignment create \ --assignee "$AZURE_CLIENT_ID" \ --role "Storage Blob Data Contributor" \ --scope "/subscriptions/$AZURE_SUBSCRIPTION_ID/resourceGroups/$AZURE_RESOURCE_GROUP/providers/Microsoft.Storage/storageAccounts/$AZURE_STORAGE_ACCOUNT_ID"ターミナルで、Azure パラメーターをエクスポートし、次の例に示すようにパラメーターを含むシークレット認証情報ファイルを作成します。
Azure で DPT CR を実行するには、シークレット認証情報ファイルで
STORAGE_ACCOUNT_IDパラメーターを指定する必要があります。AZURE_SUBSCRIPTION_ID=<subscription_id> AZURE_TENANT_ID=<tenant_id> AZURE_CLIENT_ID=<client_id> AZURE_CLIENT_SECRET=<client_secret> AZURE_RESOURCE_GROUP=<resource_group> AZURE_STORAGE_ACCOUNT_ID=<storage_account>次の例に示すように、
SecretCR を作成します。$ oc create secret generic cloud-credentials-azure -n openshift-adp --from-file cloud=<credentials_file_path>次の例に示す設定を使用して、
DataProtectionApplication(DPA) CR を作成します。apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: ts-dpa namespace: openshift-adp spec: configuration: velero: defaultPlugins: - azure - openshift backupLocations: - velero: config: resourceGroup: oadp-....-b7q4-rg storageAccount: oadp...kb7q4 subscriptionId: 53b8f5...fd54c8a credential: key: cloud name: cloud-credentials-azure provider: azure default: true objectStorage: bucket: <bucket_name> prefix: velero名前をシークレットオブジェクトの名前に置き換えてください。この例では、名前はcloud-credentials-azureです。次の例に示すように、バックアップストレージの場所 (BSL) の名前、
VolumeSnapshotClassオブジェクト、および永続ボリューム要求の詳細を指定して、DPT CR を作成します。apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionTest metadata: name: dpt-sample namespace: openshift-adp spec: backupLocationName: <bsl_name> uploadSpeedTestConfig: fileSize: 40MB timeout: 120s csiVolumeSnapshotTestConfigs: - snapshotClassName: csi-azuredisk-vsc timeout: 90s volumeSnapshotSource: persistentVolumeClaimName: mysql-data persistentVolumeClaimNamespace: ocp-mysql - snapshotClassName: csi-azuredisk-vsc timeout: 120s volumeSnapshotSource: persistentVolumeClaimName: mysql-data1 persistentVolumeClaimNamespace: ocp-mysqlここでは、以下のようになります。
<bsl_name>- BSL の名前を指定します。
csi-azuredisk-vsc- Azure スナップショットのクラス名を指定します。
mysql-data- 永続ボリューム要求の名前を指定します。
ocp-mysql- 永続ボリューム要求の名前空間の名前を指定します。
- DPT CR を実行して、スナップショットの準備状況を確認します。