第10章 トラブルシューティング
このセクションでは、MTC (Migration Toolkit for Containers) のトラブルシューティングに使用するリソースについて説明します。
既知の問題については、MTC リリースノート を参照してください。
10.1. MTC ワークフロー
MTC (Migration Toolkit for Containers) の Web コンソールまたは Kubernetes API を使用して、Kubernetes リソース、永続ボリュームデータ、および内部コンテナーイメージを OpenShift Container Platform 4.9 に移行できます。
MTC は以下のリソースを移行します。
- 移行計画に指定される namespace。
namespace スコープのリソース: MTC が namespace を移行する場合、サービスや Pod などのその namespace に関連付けられるすべてのオブジェクトおよびリソースを移行します。さらに、namespace に存在するものの、クラスターレベルに存在しないリソースがクラスターレベルに存在するリソースに依存する場合、MTC は両方のリソースを移行します。
たとえば、SCC (Security Context Constraints) はクラスターレベルに存在するリソースであり、サービスアカウント (SA) は namespace レベルに存在するリソースです。SA が MTC が移行する namespace に存在する場合、MTC は SA にリンクされている SCC を自動的に識別し、それらの SCC も移行します。同様に、MTC は、namespace の永続ボリューム要求にリンクされている永続ボリュームを移行します。
注記クラスタースコープのリソースは、リソースによっては手動で移行する必要がある場合があります。
- カスタムリソース (CR) およびカスタムリソース定義 (CRD): MTC は、namespace レベルで CR および CRD を自動的に移行します。
MTC Web コンソールを使用してアプリケーションを移行するには、以下の手順が必要です。
すべてのクラスターに MTC (Migration Toolkit for Containers Operator) をインストールします。
インターネットアクセスが制限されているか、またはインターネットアクセスのない制限された環境で Migration Toolkit for Containers Operator をインストールできます。ソースおよびターゲットクラスターは、相互に対するネットワークアクセスおよびミラーレジストリーへのネットワークアクセスがなければなりません。
MTC がデータ移行に使用する中間オブジェクトストレージであるレプリケーションリポジトリーを設定します。
ソースおよびターゲットクラスターには、移行時にレプリケーションリポジトリーへのネットワークアクセスがなければなりません。プロキシーサーバーを使用している場合は、レプリケーションリポジトリーとクラスター間のネットワークトラフィックを許可するように設定する必要があります。
- ソースクラスターを MTC の Web コンソールに追加します。
- レプリケーションリポジトリーを MTC の Web コンソールに追加します。
以下のデータ移行オプションのいずれかを使用して、移行計画を作成します。
Copy: MTC は、データをソースクラスターからレプリケーションリポジトリーにコピーし、レプリケーションリポジトリーからターゲットクラスターにコピーします。
注記イメージの直接移行またはボリュームの直接移行を使用している場合、イメージまたはボリュームはソースクラスターからターゲットクラスターに直接コピーされます。
Move: MTC は、ソースクラスターからリモートボリューム (例: NFS) をアンマウントし、リモートボリュームをポイントするターゲットクラスターで PV リソースを作成し、その後にリモートボリュームをターゲットクラスターにマウントします。ターゲットクラスターで実行されているアプリケーションは、ソースクラスターが使用していたものと同じリモートボリュームを使用します。リモートボリュームは、ソースクラスターおよびターゲットクラスターからアクセスできる必要があります。
注記レプリケーションリポジトリーはこの図には表示されていませんが、これは移行に必要です。
以下のオプションのいずれかを使用して、移行計画を実行します。
段階 移行は、アプリケーションを停止せずにデータをターゲットクラスターにコピーします。
段階移行は複数回実行して、移行前にほとんどのデータがターゲットにコピーされるようにします。1 つ以上の段階移行を実行すると、カットオーバー移行の期間が短縮されます。
カットオーバー は、ソースクラスターでアプリケーションを停止し、リソースをターゲットクラスターに移動します。
オプション:Halt transactions on the source cluster during migrationのチェックボックスのチェックを解除できます。
MTC カスタムリソースについて
MTC (Migration Toolkit for Containers) は以下のカスタムリソース (CR) を作成します。
MigCluster (設定、MTC クラスター): クラスター定義
MigStorage (設定、MTC クラスター): ストレージ定義
MigPlan (設定、MTC クラスター): 移行計画
MigPlan
CR は、移行されるソースおよびターゲットクラスター、レプリケーションリポジトリー、および namespace を記述します。これは 0、1 または多数の MigMigration
CR に関連付けられます。
MigPlan
CR を削除すると、関連付けられた MigMigration
CR が削除されます。
BackupStorageLocation (設定、MTC クラスター): Velero
バックアップオブジェクトの場所
VolumeSnapshotLocation (設定、MTC クラスター): Velero
ボリュームスナップショットの場所
MigMigration (アクション、MTC クラスター): データのステージングまたは移行時に毎回作成される移行。各 MigMigration
CR は MigPlan
CR に関連付けられます。
Backup (アクション、ソースクラスター): 移行計画の実行時に、MigMigration
CR は各ソースクラスターに 2 つの Velero
バックアップ CR を作成します。
- Kubernetes オブジェクトのバックアップ CR #1
- PV データのバックアップ CR #2
Restore (アクション、ターゲットクラスター): 移行計画の実行時に、MigMigration
CR はターゲットクラスターに 2 つの Velero
復元 CR を作成します。
- PV データの復元 CR #1 (バックアップ CR #2 の使用)
- Kubernetes オブジェクトの復元 CR #2 (バックアップ CR #1 の使用)