第9章 アプリケーションの移行
Migration Toolkit for Containers (MTC) の Web コンソールまたは コマンドライン でアプリケーションを移行できます。
ほとんどのクラスタースコープのリソースは MTC で処理されません。アプリケーションがクラスタースコープのリソースを必要とする場合、ターゲットクラスターでそれらを手動で作成する必要がある場合があります。
段階移行とカットオーバー移行を使用して、クラスター間でアプリケーションを移行することができます。
- Stage 移行は、アプリケーションを停止せずにデータをソースクラスターからターゲットクラスターにコピーします。段階移行は複数回実行して、カットオーバー移行の期間を短縮できます。
- Cutover 移行はソースクラスターのトランザクションを停止し、リソースをターゲットクラスターに移動します。
状態の移行を使用して、アプリケーションの状態を移行できます。
- 状態の移行は、選択した永続ボリューム要求 (PVC) をコピーします。
- 状態の移行を使用して、同じクラスター内の namespace を移行できます。
移行中、MTC は次の namespace アノテーションを保持します。
-
openshift.io/sa.scc.mcs
-
openshift.io/sa.scc.supplemental-groups
openshift.io/sa.scc.uid-range
これらのアノテーションは UID 範囲を保持し、コンテナーがターゲットクラスターのファイルシステムのパーミッションを保持できるようにします。移行された UID が、ターゲットクラスターの既存の namespace または今後の namespace 内の UID を重複させるリスクがあります。
9.1. 移行の前提条件
-
cluster-admin
権限を持つユーザーとしてすべてのクラスターにログインしている必要があります。
イメージの直接移行
- ソースクラスターのセキュアな OpenShift イメージレジストリーが公開されていることを確認する必要があります。
- 公開されるレジストリーへのルートを作成しておく必要があります。
ボリュームの直接移行
- クラスターがプロキシーを使用する場合に Stunnel TCP プロキシーを設定している必要があります。
クラスター
- ソースクラスターは、最新の z-stream リリースにアップグレードされる必要があります。
- MTC のバージョンは、すべてのクラスターで同一である必要があります。
ネットワーク
- クラスターには、レプリケーションリポジトリーに対して、また各クラスター間で無制限のネットワークアクセスが必要です。
-
move
を使用して永続ボリュームをコピーする場合、クラスターにはリモートボリュームへの無制限のネットワークアクセスが必要です。 OpenShift Container Platform 4 クラスターで以下のポートを有効にする必要があります。
-
6443
(API サーバー) -
443
(ルート) -
53
(DNS)
-
-
TLS を使用している場合は、レプリケーションリポジトリーでポート
443
を有効にする必要があります。
永続ボリューム (PV)
- PV は有効である必要があります。
- PV は永続ボリューム要求にバインドされる必要があります。
スナップショットを使用して PV をコピーする場合には、以下の前提条件が追加されます。
- クラウドプロバイダーはスナップショットをサポートしている必要があります。
- PV に同じクラウドプロバイダーがなければなりません。
- PV は同じ地理的リージョンにある必要があります。
- PV には同じストレージクラスがなければなりません。