1.5. レプリケーションリポジトリーの設定
オブジェクトストレージをレプリケーションリポジトリーとして使用するように設定する必要があります。Cluster Application Migration ツールは、データをソースクラスターからレプリケーションリポジトリーにコピーしてから、レプリケーションリポジトリーからターゲットクラスターにコピーします。
CAM ツールは、ソースクラスターからターゲットクラスターにデータを移行するために ファイルシステムおよびスナップショットによるデータのコピー方法 をサポートします。ご使用の環境に適した方法で、ストレージプロバイダーでサポートされる方法を選択できます。
以下のストレージプロバイダーがサポートされています。
- Multi-Cloud Object Gateway (MCG)
- Amazon Web Services (AWS) S3
- Google Cloud Provider (GCP)
- Microsoft Azure
- 汎用 S3 オブジェクトストレージ (例: Minio または Ceph S3)
ソースおよびターゲットクラスターには、移行時にレプリケーションリポジトリーへのネットワークアクセスがなければなりません。
制限された環境では、内部でホストされるレプリケーションリポジトリーを作成できます。プロキシーサーバーを使用する場合は、レプリケーションリポジトリーがホワイトリスト化されていることを確認する必要があります。
1.5.1. Multi-Cloud Object Gateway ストレージバケットをレプリケーションリポジトリーとして設定する リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Storage Operator をインストールし、Multi-Cloud Object Gateway (MCG) ストレージバケットをレプリケーションリポジトリーとして設定できます。
1.5.1.1. OpenShift Container Storage Operator のインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Storage Operator は、OperatorHub からインストールできます。
手順
-
OpenShift Container Platform Web コンソールで、Operators
OperatorHub をクリックします。 - Filter by keyword (この場合は、OCS) を使用し、 OpenShift Container Storage Operator を見つけます。
- OpenShift Container Storage Operator を選択し、Install をクリックします。
- Update Channel、Installation Mode、および Approval Strategy を選択します。
Subscribe をクリックします。
Installed Operators ページで、OpenShift Container Storage Operator は、Succeeded のステータスと共に openshift-storage プロジェクトに表示されます。
1.5.1.2. Multi-Cloud Object Gateway ストレージバケットの作成 リンクのコピーリンクがクリップボードにコピーされました!
Multi-Cloud Object Gateway (MCG) ストレージバケットのカスタムリソース (CR) を作成できます。
手順
OpenShift Container Platform クラスターにログインします。
$ oc loginNooBaaCR 設定ファイルnoobaa.ymlを以下の内容で作成します。apiVersion: noobaa.io/v1alpha1 kind: NooBaa metadata: name: noobaa namespace: openshift-storage spec: dbResources: requests: cpu: 0.51 memory: 1Gi coreResources: requests: cpu: 0.52 memory: 1GiNooBaaオブジェクトを作成します。$ oc create -f noobaa.yml以下の内容で、
BackingStoreCR 設定ファイルbs.ymlを作成します。apiVersion: noobaa.io/v1alpha1 kind: BackingStore metadata: finalizers: - noobaa.io/finalizer labels: app: noobaa name: mcg-pv-pool-bs namespace: openshift-storage spec: pvPool: numVolumes: 31 resources: requests: storage: 50Gi2 storageClass: gp23 type: pv-poolBackingStoreオブジェクトを作成します。$ oc create -f bs.yml以下の内容で
BucketClassCR 設定ファイルbc.ymlを作成します。apiVersion: noobaa.io/v1alpha1 kind: BucketClass metadata: labels: app: noobaa name: mcg-pv-pool-bc namespace: openshift-storage spec: placementPolicy: tiers: - backingStores: - mcg-pv-pool-bs placement: SpreadBucketClassオブジェクトを作成します。$ oc create -f bc.yml以下の内容で
ObjectBucketClaimCR 設定ファイルobc.ymlを作成します。apiVersion: objectbucket.io/v1alpha1 kind: ObjectBucketClaim metadata: name: migstorage namespace: openshift-storage spec: bucketName: migstorage1 storageClassName: openshift-storage.noobaa.io additionalConfig: bucketclass: mcg-pv-pool-bc- 1
- レプリケーションリポジトリーを CAM Web コンソールに追加するために使用するバケット名を記録します。
ObjectBucketClaimオブジェクトを作成します。$ oc create -f obc.ymlリソース作成プロセスを監視し、
ObjectBucketClaimステータスがBoundであることを確認します。$ watch -n 30 'oc get -n openshift-storage objectbucketclaim migstorage -o yaml'このプロセスには、5 分から 10 分の時間がかかる場合があります。
以下の値を取得して記録します。この値は、レプリケーションリポジトリーを CAM Web コンソールに追加する際に必要になります。
S3 エンドポイント:
$ oc get route -n openshift-storage s3S3 プロバイダーアクセスキー:
$ oc get secret -n openshift-storage migstorage -o go-template='{{ .data.AWS_ACCESS_KEY_ID }}' | base64 -dS3 プロバイダーシークレットアクセスキー:
$ oc get secret -n openshift-storage migstorage -o go-template='{{ .data.AWS_SECRET_ACCESS_KEY }}' | base64 -d