10.2. MTC の Web コンソールを使用したアプリケーションの移行
クラスターおよびレプリケーションリポジトリーを MTC の Web コンソールを使用して設定する必要があります。次に、移行計画を作成し、これを実行できます。
10.2.1. MTC の Web コンソールの起動
ブラウザーで Migration Toolkit for Containers (MTC) Web コンソールを起動できます。
前提条件
- MTC の Web コンソールには、OpenShift Container Platform Web コンソールにアクセスできる必要があります。
- MTC の Web コンソールには、OAuth 認証サーバーへのネットワークアクセスが必要です。
手順
- MTC がインストールされている OpenShift Container Platform クラスターにログインします。
- 以下のコマンドを実行して MTC の Web コンソール URL を取得します。 - oc get -n openshift-migration route/migration -o go-template='https://{{ .spec.host }}'- $ oc get -n openshift-migration route/migration -o go-template='https://{{ .spec.host }}'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力は - https://migration-openshift-migration.apps.cluster.openshift.comのようになります。
- ブラウザーを起動し、MTC の Web コンソールに移動します。 注記- Migration Toolkit for Containers Operator のインストール後すぐに MTC の Web コンソールにアクセスしようとする場合、Operator は依然としてクラスターを設定しているため、コンソールが読み込まれない可能性があります。数分待機した後に再試行します。 
- 自己署名 CA 証明書を使用している場合、ソースクラスター API サーバーの CA 証明書を受け入れることを求めるプロンプトが出されます。Web ページは、残りの証明書を受け入れるプロセスを説明します。
- OpenShift Container Platform の ユーザー名 および パスワード を使用してログインします。
10.2.2. MTC の Web コンソールへのクラスターの追加
クラスターを Migration Toolkit for Containers (MTC) Web コンソールに追加できます。
前提条件
- クロスオリジンリソース共有がソースクラスターで設定されている必要があります。
- Azure スナップショットを使用してデータをコピーする場合: - クラスターの Azure リソースグループ名を指定する必要があります。
- クラスターは同じ Azure リソースグループにある必要があります。
- クラスターは同じ地理的な場所にある必要があります。
 
- イメージの直接移行を使用する場合は、ソースクラスターのイメージレジストリーにルートを公開する必要があります。
手順
- クラスターにログインする。
- migration-controllerサービスアカウントトークンを取得します。- oc create token migration-controller -n openshift-migration - $ oc create token migration-controller -n openshift-migration- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJtaWciLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlY3JldC5uYW1lIjoibWlnLXRva2VuLWs4dDJyIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6Im1pZyIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6ImE1YjFiYWMwLWMxYmYtMTFlOS05Y2NiLTAyOWRmODYwYjMwOCIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDptaWc6bWlnIn0.xqeeAINK7UXpdRqAtOj70qhBJPeMwmgLomV9iFxr5RoqUgKchZRG2J2rkqmPm6vr7K-cm7ibD1IBpdQJCcVDuoHYsFgV4mp9vgOfn9osSDp2TGikwNz4Az95e81xnjVUmzh-NjDsEpw71DH92iHV_xt2sTwtzftS49LpPW2LjrV0evtNBP_t_RfskdArt5VSv25eORl7zScqfe1CiMkcVbf2UqACQjo3LbkpfN26HAioO2oH0ECPiRzT0Xyh-KwFutJLS9Xgghyw-LD9kPKcE_xbbJ9Y4Rqajh7WdPYuB0Jd9DPVrslmzK-F6cgHHYoZEv0SvLQi-PO0rpDrcjOEQQ - eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJtaWciLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlY3JldC5uYW1lIjoibWlnLXRva2VuLWs4dDJyIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6Im1pZyIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6ImE1YjFiYWMwLWMxYmYtMTFlOS05Y2NiLTAyOWRmODYwYjMwOCIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDptaWc6bWlnIn0.xqeeAINK7UXpdRqAtOj70qhBJPeMwmgLomV9iFxr5RoqUgKchZRG2J2rkqmPm6vr7K-cm7ibD1IBpdQJCcVDuoHYsFgV4mp9vgOfn9osSDp2TGikwNz4Az95e81xnjVUmzh-NjDsEpw71DH92iHV_xt2sTwtzftS49LpPW2LjrV0evtNBP_t_RfskdArt5VSv25eORl7zScqfe1CiMkcVbf2UqACQjo3LbkpfN26HAioO2oH0ECPiRzT0Xyh-KwFutJLS9Xgghyw-LD9kPKcE_xbbJ9Y4Rqajh7WdPYuB0Jd9DPVrslmzK-F6cgHHYoZEv0SvLQi-PO0rpDrcjOEQQ- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- MTC の Web コンソールにログインします。
- MTC の Web コンソールで、Clusters をクリックします。
- Add cluster をクリックします。
- 以下のフィールドに値を入力します。 - 
									Cluster name: クラスター名には、小文字 (a-z) および数字 (0-9) を含めることができます。スペースや国際的な文字を含めることはできません。
- 
									URL: API サーバー URL を指定します (例: https://<www.example.com>:8443)。
- 
									Service account token: migration-controllerサービスアカウントトークンを貼り付けます。
- Exposed route host to image registry: イメージの直接移行を使用している場合、ソースクラスターのイメージレジストリーへの公開されたルートを指定します。 - 以下のコマンドを実行してルートを作成します。 - OpenShift Container Platform 3 の場合: - oc create route passthrough --service=docker-registry --port=5000 -n default - $ oc create route passthrough --service=docker-registry --port=5000 -n default- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- OpenShift Container Platform 4 の場合: - oc create route passthrough --service=image-registry --port=5000 -n openshift-image-registry - $ oc create route passthrough --service=image-registry --port=5000 -n openshift-image-registry- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- Azure cluster: Azure スナップショットを使用してデータをコピーする場合は、このオプションを選択する必要があります。 - Azure resource group: このフィールドは、Azure cluster が選択されている場合に表示されます。Azure リソースグループを指定します。 - {OCP} クラスターが Microsoft Azure 上に作成されると、クラスターに関連付けられているすべてのリソースを含む Azure リソースグループが作成されます。Azure CLI で、次のコマンドを発行してすべてのリソースグループを表示できます。 - az group list - $ az group list- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - OpenShift Container Platform クラスターに関連付けられた - ResourceGroupsは、タグ付けされています。- sample-rg-name値を抽出して UI で指定します。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - この情報は、Azure Portal の Resource groups ブレードからも取得できます。 
 
- Require SSL verification: オプション: クラスターへの Secure Socket Layer (SSL) 接続を検証するには、このオプションを選択します。
- CA bundle file: このフィールドは、Require SSL verification が選択されている場合に表示されます。自己署名証明書用にカスタム CA 証明書バンドルファイルを作成している場合は、Browse をクリックして CA バンドルファイルを選択し、これをアップロードします。
 
- 
									Cluster name: クラスター名には、小文字 (
- Add cluster をクリックします。 - クラスターが Clusters リストに表示されます。 
10.2.3. MTC の Web コンソールへのレプリケーションリポジトリーの追加
Migration Toolkit for Containers (MTC) の Web コンソールに、オブジェクトストレージをレプリケーションリポジトリーとして追加できます。
MTC は、以下のストレージプロバイダーをサポートしています。
- Amazon Web Services (AWS) S3
- Multi-Cloud Object Gateway (MCG)
- 汎用 S3 オブジェクトストレージ (例: Minio または Ceph S3)
- Google Cloud Provider (GCP)
- Microsoft Azure Blob
前提条件
- オブジェクトストレージをレプリケーションリポジトリーとして設定する必要があります。
手順
- MTC の Web コンソールで、Replication repositories をクリックします。
- Add repository をクリックします。
- Storage provider type を選択し、以下のフィールドに入力します。 - AWS および MCG を含む S3 プロバイダー向けの AWS - Replication repository name: MTC の Web コンソールでレプリケーションリポジトリー名を指定します。
- S3 bucket name: S3 バケットの名前を指定します。
- S3 bucket region: S3 バケットリージョンを指定します。AWS S3 の場合に 必須 です。一部の S3 プロバイダーの場合は 任意 です。予測値は、S3 プロバイダーの製品ドキュメントを確認してください。
- 
											S3 endpoint: バケットではなく S3 サービスの URL を指定します (例: https://<s3-storage.apps.cluster.com>)。汎用 S3 プロバイダーの場合は 必須 です。https://接頭辞を使用する必要があります。
- 
											S3 provider access key: AWS の場合は <AWS_SECRET_ACCESS_KEY>を指定し、MCG および他の S3 プロバイダーの場合は S3 プロバイダーアクセスキーを指定します。
- 
											S3 provider secret access key: AWS の場合は <AWS_ACCESS_KEY_ID>を指定し、MCG および他の S3 プロバイダーの場合は S3 プロバイダーシークレットアクセスキーを指定します。
- Require SSL verification: 汎用 S3 プロバイダーを使用している場合は、このチェックボックスをクリアします。
- 自己署名証明書用にカスタム CA 証明書バンドルを作成している場合は、Browse をクリックして Base64 でエンコードされたファイルを参照します。
 
- GCP: - Replication repository name: MTC の Web コンソールでレプリケーションリポジトリー名を指定します。
- GCP bucket name: GCP バケットの名前を指定します。
- 
											GCP credential JSON blob: credentials-veleroファイルに文字列を指定します。
 
- Azure: - Replication repository name: MTC の Web コンソールでレプリケーションリポジトリー名を指定します。
- Azure resource group: Azure Blob ストレージのリソースグループを指定します。
- Azure storage account name: Azure Blob ストレージアカウント名を指定します。
- 
											Azure credentials - INI file contents: credentials-veleroファイルに文字列を指定します。
 
 
- Add repository をクリックし、接続の検証を待機します。
- Close をクリックします。 - 新規リポジトリーが Replication repositories リストに表示されます。 
10.2.4. MTC の Web コンソールでの移行計画の作成
Migration Toolkit for Containers (MTC) Web コンソールで移行計画を作成できます。
前提条件
- 
							cluster-admin権限を持つユーザーとしてすべてのクラスターにログインしている必要があります。
- 同じ MTC バージョンがすべてのクラスターにインストールされていることを確認する必要があります。
- クラスターおよびレプリケーションリポジトリーを MTC の Web コンソールに追加する必要があります。
- move データコピー方法を使用して永続ボリューム (PV) を移行する場合、ソースクラスターおよびターゲットクラスターには、リモートボリュームへの中断されないネットワークアクセスが必要です。
- 
							イメージの直接移行を使用する必要がある場合は、ソースクラスターのイメージレジストリーに公開されたルートを指定する必要があります。これは、MTC の Web コンソールまたは MigClusterカスタムリソースマニフェストを更新して実行できます。
手順
- MTC Web コンソールで、Migration plans をクリックします。
- Add migration plan をクリックします。
- Plan name を入力します。 - 移行計画名には、253 以上の小文字の英数字 ( - a-z, 0-9) を使用できず、スペースやアンダースコア (- _) を含めることはできません。
- Source cluster、Target cluster、および Repository を選択します。
- Next をクリックします。
- 移行用のプロジェクトを選択します。
- オプション: プロジェクトの横にある編集アイコンをクリックして、ターゲットの namespace を変更します。 警告- Migration Toolkit for Containers 1.8.6 以降のバージョンでは、1 つの namespace に対して複数の移行計画を使用することはできません。 
- Next をクリックします。
- 各 PV の Migration type を選択します。 - Copy オプションは、ソースクラスターの PV のデータをレプリケーションリポジトリーにコピーしてから、データを同様の特徴のある新規に作成された PV でターゲットクラスターで復元します。
- Move オプションは、ソースクラスターからリモートボリューム (例: NFS) をアンマウントし、リモートボリュームをポイントするターゲットクラスターで PV リソースを作成し、その後にリモートボリュームをターゲットクラスターにマウントします。ターゲットクラスターで実行されているアプリケーションは、ソースクラスターが使用していたものと同じリモートボリュームを使用します。
 
- Next をクリックします。
- 各 PV の Copy method を選択します。 - スナップショットのコピー は、クラウドプロバイダーのスナップショット機能を使用してデータのバックアップおよび復元を行います。この場合、ファイルシステムのコピー を使用する場合よりもはるかに高速になります。
- ファイルシステムのコピー は、ソースクラスターのファイルをバックアップし、それらをターゲットクラスターで復元します。 - ファイルシステムのコピー方法は、ボリュームの直接移行に必要です。 
 
- Verify copy を選択して、ファイルシステムのコピー で移行されたデータを確認します。データは、各ソースファイルのチェックサムを生成し、復元後のチェックサムを確認して検証されます。データ検証は、パフォーマンスを大幅に低下させます。
- Target storage class を選択します。 - Filesystem copy を選択している場合、ターゲットストレージクラスを変更できます。 
- Next をクリックします。
- Migration options ページで、ソースクラスターに公開されたイメージレジストリールートを指定した場合に Direct image migration オプションが選択されます。Filesystem copy でデータを移行する場合、Direct PV migration オプションが選択されます。 - 直接の移行オプションは、イメージおよびファイルをソースクラスターからターゲットクラスターに直接コピーします。このオプションは、イメージおよびファイルをソースクラスターからレプリケーションリポジトリーにコピーしてから、レプリケーションリポジトリーからターゲットクラスターにコピーする場合よりもはるかに高速になります。 
- Next をクリックします。
- オプション: Add Hook をクリックし、移行計画にフックを追加します。 - フックはカスタムコードを実行します。1 つの移行計画に最大 4 つのフックを追加できます。各フックは異なる移行ステップで実行されます。 - Web コンソールに表示するフックの名前を入力します。
- フックが Ansible Playbook の場合は Ansible playbook を選択し、Browse をクリックして Playbook をアップロードするか、フィールドに Playbook の内容を貼り付けます。
- オプション: デフォルトのフックイメージを使用していない場合は、Ansible ランタイムイメージを指定します。
- フックが Ansible Playbook ではない場合には、Custom container image をクリックし、イメージ名とパスを指定します。 - カスタムコンテナーイメージには、Ansible Playbook を含めることができます。 
- Source cluster または Target cluster を選択します。
- Service account name および Service account namespace を入力します。
- フックの移行手順を選択します。 - preBackup: アプリケーションのワークロードがソースクラスターでバックアップされる前
- postBackup: アプリケーションのワークロードがソースクラスターでバックアップされた後
- preRestore: アプリケーションのワークロードがターゲットクラスターで復元される前
- postRestore: アプリケーションのワークロードがターゲットクラスターで復元された後
 
- Add をクリックします。
 
- Finish をクリックします。 - 移行計画は、Migration plans リストに表示されます。 
10.2.6. MTC の Web コンソールでの移行計画の実行
Migration Toolkit for Containers (MTC) の Web コンソールで作成した移行計画を使用してアプリケーションとデータを移行できます。
						移行時に、MTC は移行された永続ボリューム (PV) の回収ポリシーをターゲットクラスターで Retain に設定します。
					
						Backup カスタムリソースには、元の回収ポリシーを示す PVOriginalReclaimPolicy アノテーションが含まれます。移行した PV の回収ポリシーを手動で復元できます。
					
前提条件
MTC の Web コンソールには以下が含まれている必要があります。
- 
							Ready状態のソースクラスター
- 
							Ready状態のターゲットクラスター
- レプリケーションリポジトリー
- 有効な移行計画
手順
- MTC の Web コンソールにログインし、Migration plans をクリックします。
- 移行計画の横にある Options メニュー  をクリックし、Migration で以下のいずれかのオプションを選択します。 をクリックし、Migration で以下のいずれかのオプションを選択します。- ステージ は、アプリケーションを停止せずにデータをソースクラスターからターゲットクラスターにコピーします。
- Cutover はソースクラスターのトランザクションを停止し、リソースをターゲットクラスターに移動します。 - オプション: Cutover migration ダイアログで、移行時にソースクラスターで Halt トランザクションを消去できます。 
- State は、選択した永続ボリューム要求 (PVC) をコピーします。 重要- 状態の移行を使用して、クラスター間で namespace を移行しないでください。代わりにステージまたはカットオーバー移行を使用してください。 - State migration ダイアログで 1 つ以上の PVC を選択し、Migrate をクリックします。
 
 
- 移行が完了したら、アプリケーションが OpenShift Container Platform Web コンソールで正常に移行されていることを確認します。 - 
									Home Projects をクリックします。 
- 移行されたプロジェクトをクリックしてそのステータスを表示します。
- Routes セクションで Location をクリックし、アプリケーションが機能していることを確認します (該当する場合)。
- 
									Workloads Pods をクリックし、Pod が移行した namespace で実行されていることを確認します。 
- 
									Storage Persistent volumes をクリックして、移行した永続ボリュームが正常にプロビジョニングされていることを確認します。 
 
- 
									Home