NCP 4.1.2 以降

要件

  • NSX バージョンは 3.2.0 以降です。
  • NCP バージョンは 4.1.2 以降です。
  • nsx-ncp デプロイは、手動で 0 個のレプリカにスケール ダウンする必要があります。

移行手順

次の Kubernetes リソースを含む migrate-mp2p-job.yaml という名前の新しい YAML ファイルを用意します。
  1. nsx-ncp-migrate-mp2p-config(または mp2p-config)と nsx-ncp-migrate-mp2p-user-spec(または called mp2p-user-spec)という名前の 2 つの構成マップ。
  2. 名前が nsx-ncp-mp2p-shared-pv でサイズが 500 MB の PersistentVolume が 1 つ。
  3. 500 MB のストレージを必要とする名前が nsx-ncp-mp2p-shared-pvc の PersistentVolumeClaim が 1 つ。
  4. nsx-ncp-migrate-mp2p という名前の 1 つのジョブ。

ジョブを使用してクラスタを移行する前に、同じNSX ネットワークを共有するすべてのクラスタで、nsx-ncp デプロイ レプリカの数を 0 にスケール ダウンする必要があることに注意してください。

次の手順を実行して、vanilla Kubernetes クラスタをNSX ポリシー モードに移行します。
  1. 必要であれば、手動で作成した DFW セクションをリファクタリングします。NSX 管理者によって作成された DFW セクションの処理を参照してください。
  2. 移行するクラスタごとに、次の手順を実行します。
    1. 少なくとも 500 MB の空きディスク容量があるマスター ノードの 1 つに、「dedicated-nsx-ncp-migrate-mp2p=true」というラベルを追加します。1 つのマスター ノードのみがこのラベルを持っていることを確認します。
    2. ビルドで提供されている migrate-mp2p-job.yaml を編集し、次の変更を行います。
      1. 構成マップ nsx-ncp-migrate-mp2p-config の下で、変更なし
      2. 構成マップ nsx-ncp-migrate-mp2p-user-spec の下に、移行するすべての共有リソースを追加し、k8s-clusters の下にクラスタを追加します(「共有リソースの移行」と「Kubernetes クラスタの NCP で作成されたNSX リソースの移行」を参照)。
      3. nsx-ncp-migrate-mp2p という名前のジョブの下の「projected-volume」ボリュームの下に nsx-secret を追加します。これは、nsx-ncp 仕様で実行した手順と似ています(「NCP YAML ファイルの編集」を参照)。
  3. 同じNSX ネットワークを共有する移行するクラスタごとに、次の手順を実行します。
    1. nsx-system 名前空間内の nsx-ncp デプロイ レプリカをスケール ダウンして、nsx-ncp ポッドが終了するまで 0 待機します。これは、すべてのクラスタで並行して実行できます。
  4. NSX バックアップを作成します。
  5. 同じNSX ネットワークを共有する移行するクラスタごとに、次の手順を実行します。
    1. migrate-mp2p-job.yaml を適用します。この操作は、一度に 1 つのクラスタで実行する必要があります。
    2. ジョブ nsx-ncp-migrate-mp2p が正常に完了すると、クラスタはポリシーに移行されます。それ以外の場合は、「障害とリカバリ」の手順に従います。ジョブ nsx-ncp-migrate-mp2p が現在のクラスタの実行を完了した後にのみ、次のクラスタを移行します。
    3. このクラスタに必要な場合は、ncp.ini を更新します。共有リソースの移行を参照してください。
    4. nsx-ncp YAML ファイルまたは構成マップを編集し、policy_nsxapiが true に設定されていることを確認します。
  6. 手順 5 でポリシーに移行したクラスタごとに、次の手順を並行して実行します。
    1. nsx-ncp デプロイを適用し、nsx-system ネームスペースの nsx-ncp デプロイ レプリカを以前の状態にスケール アップします(手順 3 の前)。
    2. nsx-system ネームスペースの nsx-ncp-migrate-mp2p-config と nsx-ncp-migrate-mp2p-user-spec という名前の構成マップと、nsx-ncp-migrate-mp2p という名前のジョブを削除します。nsx-ncp デプロイ/ポッドが少なくとも 12 週間正常に実行されたら、nsx-ncp-mp2p-shared-pvc という名前の PersistentVolumeClaim と nsx-ncp-mp2p-shared-pv という名前の PersistentVolume を削除します。

NCP 4.1.1 以前

要件

  • NSX バージョンは 3.2.0 以降です。
  • NCP バージョンは 4.0 ~ 4.1.0.x です(両端を含む)。
  • Python3 がマスター仮想マシンにインストールされている必要があります。
  • pyyaml がマスター仮想マシンにインストールされている必要があります。
  • スクリプトに kubectl に対する実行アクセス権が必要です。
  • NCP が稼動中でないようにする必要があります。これにより、制御プレーンのダウンタイムが発生します。NCP は手動で停止する必要があります。この処理はスクリプトで実行できません。

移行手順

インポートを実行する Python3 スクリプト (mp_to_policy_importer.py) は、scripts/mp_to_policy_import ディレクトリにあります。このドキュメントでは、このスクリプトを mp_to_policy_importer と表記しています。mp_to_policy_importer は、一度に 1 つの Kubernetes マスター ノードで実行する必要があります。再実行が必要な場合は、同じマスター ノードで実行する必要があります。mp_to_policy_importer は次の終了コードで終了します。
  • 0 - ポリシーに正常に移行されました
  • 1 - ポリシーへの移行に失敗しました。NCP をマネージャ モードで実行しないでください。
  • 2 - ポリシーへの移行に失敗しました。NCP はマネージャ モードで再起動する必要があります。
要件を満たしたら、クラスタをポリシーにインポートできます。手順は次のとおりです。
  1. NCP 構成ファイル ncp.ini で、policy_nsxapiが false に設定されていることを確認します。
  2. 次のコマンドを使用して、NSX Manager で Migration Coordinator を起動します。
    /etc/init.d/migration-coordinator start
    次のコマンドを使用して、正常に実行されていることを確認します。
    /etc/init.d/migration-coordinator status

    マネージャ オブジェクトをポリシーにインポートする場合は、このマネージャの IP アドレスを使用してください。

  3. 必要であれば、手動で作成した DFW セクションをリファクタリングします。NSX 管理者によって作成された DFW セクションの処理を参照してください。
  4. 同じNSX ネットワークを共有する移行するクラスタごとに、
    1. nsx-system 名前空間内の nsx-ncp デプロイ レプリカをスケール ダウンして、nsx-ncp ポッドが終了するまで 0 待機します。これは、すべてのクラスタで並行して実行できます。
  5. NSX バックアップを作成します。
  6. インポートするクラスタごとに次の手順を実行します。
    1. 共有リソースをインポートします。共有リソースの移行 を参照してください。mp_to_policy_importer が終了コード 0 で終了したことを確認します。そうでない場合は、「障害とリカバリ」を参照してください。
    2. Kubernetes クラスタ関連のリソースをインポートします。Kubernetes クラスタの NCP で作成されたNSX リソースの移行 を参照してください。mp_to_policy_importer が終了コード 0 で終了したことを確認します。そうでない場合は、「障害とリカバリ」を参照してください。
    3. このクラスタに必要な場合は、ncp.ini を更新します。共有リソースの移行を参照してください。
    4. NCP YAML ファイルで、policy_nsxapiが true に設定されていることを確認します。
  7. 手順 6 でポリシーに移行したクラスタごとに、次の手順を並行して実行します。
    1. nsx-ncp デプロイを適用し、nsx-system 名前空間の nsx-ncp デプロイ レプリカを以前の状態(手順 4 の前)にスケール アップします。

制限事項と回避策については、制限事項と回避策を参照してください。エラーの対処方法については、障害とリカバリを参照してください。