This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.1.4. レプリケーションリポジトリーの設定
オブジェクトストレージをレプリケーションリポジトリーとして使用するように設定する必要があります。Cluster Application Migration ツールは、ファイルシステムまたはスナップショットのいずれかのデータのコピー方法を使用して、データをソースクラスターからレプリケーションリポジトリーにコピーしてから、レプリケーションリポジトリーからターゲットクラスターにコピーします。
以下のストレージプロバイダーがサポートされています。
- 汎用 S3 オブジェクトストレージ(例: Minio または Ceph S3)
- Multi-Cloud Object Gateway (MCG)
- Amazon Web Services (AWS) S3
- Google Cloud Provider (GCP)
- Microsoft Azure
1.4.1. 移行用のデータのコピー方法について リンクのコピーリンクがクリップボードにコピーされました!
CAM ツールは、ソースクラスターからターゲットクラスターにデータを移行するためにファイルシステムおよびスナップショットによるデータのコピー方法をサポートします。ご使用の環境に適した方法で、ストレージプロバイダーでサポートされる方法を選択できます。
1.4.1.1. ファイルシステムのコピー方法 リンクのコピーリンクがクリップボードにコピーされました!
CAM ツールは、データファイルをソースクラスターからレプリケーションリポジトリーにコピーし、そこからターゲットクラスターにコピーします。
| 利点 | 制限 |
|---|---|
|
|
1.4.1.2. スナップショットのコピー方法 リンクのコピーリンクがクリップボードにコピーされました!
CAM ツールは、ソースクラスターのデータのスナップショットを、レプリケーションリポジトリーとして設定されたクラウドプロバイダーのオブジェクトストレージにコピーします。データはターゲットクラスターで復元されます。
AWS、Google Cloud Provider、および Microsoft Azure は、スナップショットのコピー方法をサポートします。
| 利点 | 制限 |
|---|---|
|
|
Multi-Cloud Object Gateway を移行用のレプリケーションリポジトリーとして設定する機能はテクノロジープレビュー機能としてのみご利用いただけます。テクノロジープレビュー機能は Red Hat の実稼働環境でのサービスレベルアグリーメント (SLA) ではサポートされていないため、Red Hat では実稼働環境での使用を推奨していません。Red Hat は実稼働環境でこれらを使用することを推奨していません。これらの機能は、近々発表予定の製品機能をリリースに先駆けてご提供することにより、お客様は機能性をテストし、開発プロセス中にフィードバックをお寄せいただくことができます。
Red Hat のテクノロジープレビュー機能のサポート範囲についての詳細は、https://access.redhat.com/ja/support/offerings/techpreview/ を参照してください。
1.4.2. Multi-Cloud Object Gateway ストレージバケットをレプリケーションリポジトリーとして設定する リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Storage Operator をインストールし、Multi-Cloud Object Gateway (MCG) ストレージバケットをレプリケーションリポジトリーとして設定できます。
1.4.2.1. OpenShift Container Storage Operator のインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Storage Operator は、OperatorHub からインストールできます。
手順
-
OpenShift Container Platform Web コンソールで、Administration
Namespaces をクリックします。 - Create Namespace をクリックします。
-
Name フィールドに
openshift-storageを入力し、Create をクリックします。 -
Operators
OperatorHub をクリックします。 - Filter by keyword (この場合は、OCS) を使用し、 OpenShift Container Storage Operator を見つけます。
- OpenShift Container Storage Operator を選択し、Install をクリックします。
-
Create Operator Subscription ページで、
openshift-storagenamespace を選択します。 - 更新チャネルおよび承認ストラテジーを指定します。
Subscribe をクリックします。
Installed Operators ページで、OpenShift Container Storage Operator は、Succeeded のステータスと共に openshift-storage プロジェクトに表示されます。
1.4.2.2. Multi-Cloud Object Gateway ストレージバケットの作成 リンクのコピーリンクがクリップボードにコピーされました!
Multi-Cloud Object Gateway (MCG) ストレージバケットのカスタムリソース (CR) を作成できます。
手順
OpenShift Container Platform クラスターにログインします。
oc login
$ oc loginCopy to Clipboard Copied! Toggle word wrap Toggle overflow NooBaaCR 設定ファイルnoobaa.ymlを以下の内容で作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow NooBaaオブジェクトを作成します。oc create -f noobaa.yml
$ oc create -f noobaa.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の内容で、
BackingStoreCR 設定ファイルbs.ymlを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow BackingStoreオブジェクトを作成します。oc create -f bs.yml
$ oc create -f bs.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の内容で
BucketClassCR 設定ファイルbc.ymlを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow BucketClassオブジェクトを作成します。oc create -f bc.yml
$ oc create -f bc.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の内容で
ObjectBucketClaimCR 設定ファイルobc.ymlを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- レプリケーションリポジトリーを CAM Web コンソールに追加するために使用するバケット名を記録します。
ObjectBucketClaimオブジェクトを作成します。oc create -f obc.yml
$ oc create -f obc.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow リソース作成プロセスを監視し、
ObjectBucketClaimステータスがBoundであることを確認します。watch -n 30 'oc get -n openshift-storage objectbucketclaim migstorage -o yaml'
$ watch -n 30 'oc get -n openshift-storage objectbucketclaim migstorage -o yaml'Copy to Clipboard Copied! Toggle word wrap Toggle overflow このプロセスには、5 分から 10 分の時間がかかる場合があります。
以下の値を取得して記録します。この値は、レプリケーションリポジトリーを CAM Web コンソールに追加する際に必要になります。
S3 エンドポイント:
oc get route -n openshift-storage s3
$ oc get route -n openshift-storage s3Copy to Clipboard Copied! Toggle word wrap Toggle overflow S3 プロバイダーアクセスキー:
oc get secret -n openshift-storage migstorage -o go-template='{{ .data.AWS_ACCESS_KEY_ID }}' | base64 -d$ oc get secret -n openshift-storage migstorage -o go-template='{{ .data.AWS_ACCESS_KEY_ID }}' | base64 -dCopy to Clipboard Copied! Toggle word wrap Toggle overflow S3 プロバイダーシークレットアクセスキー:
oc get secret -n openshift-storage migstorage -o go-template='{{ .data.AWS_SECRET_ACCESS_KEY }}' | base64 -d$ oc get secret -n openshift-storage migstorage -o go-template='{{ .data.AWS_SECRET_ACCESS_KEY }}' | base64 -dCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.4.3. AWS S3 ストレージバケットをレプリケーションリポジトリーとして設定する リンクのコピーリンクがクリップボードにコピーされました!
AWS S3 ストレージバケットをレプリケーションリポジトリーとして設定できます。
前提条件
- AWS S3 ストレージバケットは、ソースクラスターおよびターゲットクラスターからアクセスできる必要があります。
- AWS CLI がインストールされていること。
スナップショットのコピー方法を使用する場合は、以下の条件を満たす必要があります。
- EC2 Elastic Block Storage (EBS) にアクセスできる必要があります。
- ソースおよびターゲットクラスターが同じリージョンにある必要があります。
- ソースおよびターゲットクラスターには、同じストレージクラスがある必要があります。
- ストレージクラスはスナップショットと互換性がある必要があります。
手順
AWS S3 バケットを作成します。
aws s3api create-bucket \ --bucket <bucket_name> \ --region <bucket_region>$ aws s3api create-bucket \ --bucket <bucket_name> \1 --region <bucket_region>2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow IAM ユーザー
veleroを作成します。aws iam create-user --user-name velero
$ aws iam create-user --user-name veleroCopy to Clipboard Copied! Toggle word wrap Toggle overflow EC2 EBS スナップショットポリシーを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 1 つまたはすべての S3 バケットの AWS S3 アクセスポリシーを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow "Resource": [ "arn:aws:s3:::*""Resource": [ "arn:aws:s3:::*"Copy to Clipboard Copied! Toggle word wrap Toggle overflow EC2 EBS ポリシーを
veleroに割り当てます。aws iam put-user-policy \ --user-name velero \ --policy-name velero-ebs \ --policy-document file://velero-ec2-snapshot-policy.json
$ aws iam put-user-policy \ --user-name velero \ --policy-name velero-ebs \ --policy-document file://velero-ec2-snapshot-policy.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow AWS S3 ポリシーを
veleroに割り当てます。aws iam put-user-policy \ --user-name velero \ --policy-name velero-s3 \ --policy-document file://velero-s3-policy.json
$ aws iam put-user-policy \ --user-name velero \ --policy-name velero-s3 \ --policy-document file://velero-s3-policy.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow veleroのアクセスキーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.4.4. Google Cloud Provider ストレージバケットをレプリケーションリポジトリーとして設定する リンクのコピーリンクがクリップボードにコピーされました!
Google Cloud Provider (GCP) ストレージバケットをレプリケーションリポジトリーとして設定できます。
前提条件
- GCP ストレージバケットは、ソースクラスターおよびターゲットクラスターからアクセスできる必要があります。
-
gsutilがインストールされていること。 スナップショットのコピー方法を使用する場合は、以下の条件を満たす必要があります。
- ソースおよびターゲットクラスターが同じリージョンにある必要があります。
- ソースおよびターゲットクラスターには、同じストレージクラスがある必要があります。
- ストレージクラスはスナップショットと互換性がある必要があります。
手順
gsutil initを実行してログインします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow BUCKET変数を設定します。BUCKET=<bucket_name>
$ BUCKET=<bucket_name>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- バケット名を指定します。
ストレージバケットを作成します。
gsutil mb gs://$BUCKET/
$ gsutil mb gs://$BUCKET/Copy to Clipboard Copied! Toggle word wrap Toggle overflow PROJECT_ID変数をアクティブなプロジェクトに設定します。PROJECT_ID=$(gcloud config get-value project)
$ PROJECT_ID=$(gcloud config get-value project)Copy to Clipboard Copied! Toggle word wrap Toggle overflow veleroサービスアカウントを作成します。gcloud iam service-accounts create velero \ --display-name "Velero Storage"$ gcloud iam service-accounts create velero \ --display-name "Velero Storage"Copy to Clipboard Copied! Toggle word wrap Toggle overflow SERVICE_ACCOUNT_EMAIL変数をサービスアカウントのメールアドレスに設定します。SERVICE_ACCOUNT_EMAIL=$(gcloud iam service-accounts list \ --filter="displayName:Velero Storage" \ --format 'value(email)')
$ SERVICE_ACCOUNT_EMAIL=$(gcloud iam service-accounts list \ --filter="displayName:Velero Storage" \ --format 'value(email)')Copy to Clipboard Copied! Toggle word wrap Toggle overflow パーミッションをサービスアカウントに付与します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow サービスアカウントのキーを現在のディレクトリーにある
credentials-veleroファイルに保存します。gcloud iam service-accounts keys create credentials-velero \ --iam-account $SERVICE_ACCOUNT_EMAIL
$ gcloud iam service-accounts keys create credentials-velero \ --iam-account $SERVICE_ACCOUNT_EMAILCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.4.5. Microsoft Azure Blob ストレージコンテナーをレプリケーションリポジトリーとして設定 リンクのコピーリンクがクリップボードにコピーされました!
Microsoft Azure Blob ストレージコンテナーをレプリケーションリポジトリーとして設定できます。
前提条件
- Azure ストレージアカウントがあること。
- Azure CLI がインストールされていること。
- Azure Blob ストレージコンテナーがソースクラスターおよびターゲットクラスターからアクセスできること。
スナップショットのコピー方法を使用する場合は、以下の条件を満たす必要があります。
- ソースおよびターゲットクラスターが同じリージョンにある必要があります。
- ソースおよびターゲットクラスターには、同じストレージクラスがある必要があります。
- ストレージクラスはスナップショットと互換性がある必要があります。
手順
AZURE_RESOURCE_GROUP変数を設定します。AZURE_RESOURCE_GROUP=Velero_Backups
$ AZURE_RESOURCE_GROUP=Velero_BackupsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Azure リソースグループを作成します。
az group create -n $AZURE_RESOURCE_GROUP --location <CentralUS>
$ az group create -n $AZURE_RESOURCE_GROUP --location <CentralUS>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 場所を指定します。
AZURE_STORAGE_ACCOUNT_ID変数を設定します。AZURE_STORAGE_ACCOUNT_ID=velerobackups
$ AZURE_STORAGE_ACCOUNT_ID=velerobackupsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Azure ストレージアカウントを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow BLOB_CONTAINER変数を設定します。BLOB_CONTAINER=velero
$ BLOB_CONTAINER=veleroCopy to Clipboard Copied! Toggle word wrap Toggle overflow Azure Blob ストレージコンテナーを作成します。
az storage container create \ -n $BLOB_CONTAINER \ --public-access off \ --account-name $AZURE_STORAGE_ACCOUNT_ID
$ az storage container create \ -n $BLOB_CONTAINER \ --public-access off \ --account-name $AZURE_STORAGE_ACCOUNT_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow veleroのサービスプリンシパルおよび認証情報を作成します。AZURE_SUBSCRIPTION_ID=`az account list --query '[?isDefault].id' -o tsv` AZURE_TENANT_ID=`az account list --query '[?isDefault].tenantId' -o tsv` AZURE_CLIENT_SECRET=`az ad sp create-for-rbac --name "velero" --role "Contributor" --query 'password' -o tsv` AZURE_CLIENT_ID=`az ad sp list --display-name "velero" --query '[0].appId' -o tsv`
$ AZURE_SUBSCRIPTION_ID=`az account list --query '[?isDefault].id' -o tsv` $ AZURE_TENANT_ID=`az account list --query '[?isDefault].tenantId' -o tsv` $ AZURE_CLIENT_SECRET=`az ad sp create-for-rbac --name "velero" --role "Contributor" --query 'password' -o tsv` $ AZURE_CLIENT_ID=`az ad sp list --display-name "velero" --query '[0].appId' -o tsv`Copy to Clipboard Copied! Toggle word wrap Toggle overflow サービスプリンシパルの認証情報を
credentials-veleroファイルに保存します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow