11.5. 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 リストに表示されます。
11.5.1. YAML マニフェストを使用した移行計画の作成
YAML を使用して移行計画を作成できます。ただし、Migration Toolkit for Containers (MTC) Web コンソールで移行計画を作成することを推奨します。
手順
-
mig-vm
namespace を移行するには、移行計画のnamespace
フィールドにmig-vm
を必ず含めます。 namespace に
mig-vm
を追加して、移行計画の内容を変更します。移行計画の YAML の例
apiVersion: migration.openshift.io/v1alpha1 kind: MigPlan metadata: name: live-migrate-plan namespace: openshift-migration spec: namespaces: - mig-vm ...
apiVersion: migration.openshift.io/v1alpha1 kind: MigPlan metadata: name: live-migrate-plan namespace: openshift-migration spec: namespaces: - mig-vm
1 ...
Copy to Clipboard Copied! - 1
- namespace に
mig-vm
を追加します。ストレージのライブマイグレーションを試行するには、移行計画仕様の
liveMigrate
フィールドを true に設定する必要があります。また、KubeVirt
を設定して、ストレージのライブマイグレーションを実行できるようにする必要があります。apiVersion: migration.openshift.io/v1alpha1 kind: MigPlan metadata: name: live-migrate-plan namespace: openshift-migration spec: liveMigrate: true namespaces: ...
apiVersion: migration.openshift.io/v1alpha1 kind: MigPlan metadata: name: live-migrate-plan namespace: openshift-migration spec: liveMigrate: true
1 namespaces: ...
Copy to Clipboard Copied!
- 1
- ライブマイグレーションは、移行計画のカットオーバー時にのみ実行されます。
移行計画のステージングでは、実行中の仮想マシンはスキップされ、データが同期されません。停止中の仮想マシンディスクはすべて同期されます。