NSX-T Container Plug-in (NCP) は、Docker イメージとして配信されます。NCP は、インフラストラクチャ サービスのノードで実行する必要があります。マスター ノードでの NCP の実行は推奨されません。

手順

  1. NCP Docker イメージをダウンロードします。

    ファイル名は nsx-ncp-xxxxxxx.tar です。xxxxxxx はビルド番号です。

  2. NCP ReplicationController yaml テンプレートをダウンロードします。

    ファイル名は ncp-rc.yml です。このファイルを編集することも、独自のテンプレート ファイルの例として使用することもできます。

  3. NCP Docker イメージをイメージ レジストリにロードします。
        docker load -i <tar file>
  4. ncp-rc.yml を編集します。

    ベアメタルにノード タイプを設定します。

    [coe]
    node_type = ‘BAREMETAL’

    ロードされているイメージの名前を変更します。

    nsx_api_managers パラメータを指定します。このリリースでは、1 つの Kubernetes ノード クラスタと 1 つの NSX Manager インスタンスがサポートされます。次はその例です。

        nsx_api_managers = 192.168.1.180

    (オプション)[nsx_v3] セクションで ca_file パラメータを指定します。値は、NSX Manager サーバ証明書の確認に使用する CA バンドル ファイルにする必要があります。設定しないと、システムのルート CA が使用されます。

    NSX-T Data Centerで認証を行うため、nsx_api_cert_filensx_api_private_key_file パラメータを指定します。

    nsx_api_cert_file は、PEM 形式のクライアント証明書ファイルのフル パスです。このファイルの内容は次のようになります。

        -----BEGIN CERTIFICATE-----
        <certificate_data_base64_encoded>
        -----END CERTIFICATE-----

    nsx_api_private_key_file は、PEM 形式のクライアント プライベート キー ファイルのフル パスです。このファイルの内容は次のようになります。

        -----BEGIN PRIVATE KEY-----
        <private_key_data_base64_encoded>
        -----END PRIVATE KEY-----

    Ingress Controller を NAT モードで実行するように設定するには、ingress_mode = nat パラメータを指定します。

    デフォルトでは、ポッドの論理スイッチ用に IP アドレス ブロックから割り当てられたすべてのサブネットに、サブネット プリフィックス 24 が使用されます。別のサブネット サイズを使用するには、[nsx_v3] セクションの subnet_prefix オプションを更新します。

    注:

    yaml ファイルで、ncp.ini に生成された ConfigMap を読み取り専用ボリュームとしてマウントするように指定する必要があります。ダウンロードした yaml ファイルでは、これはすでに指定されています。この設定は変更できません。

  5. NCP ReplicationController を作成します。
        kubectl create -f ncp-rc.yml

タスクの結果

注:

NCP は、Kubernetes リソースのライフ サイクル イベントを監視するために、Kubernetes API サーバにパーシステント HTTP 接続を確立します。API サーバの障害またはネットワーク障害が原因で NCP の TCP 接続が無効になった場合は、NCP を再起動して、API サーバへの接続を再度確立する必要があります。接続できないと、NCP で新しいイベントが認識されません。

NCP ReplicationController のローリング アップデート中は、コンテナ ホストを再起動しないでください。何らかの理由でホストを再起動した場合、再起動後に 2 つの NCP ポッドが実行されることがあります。その場合は、次の操作を行います。

  • いずれかの NCP ポッドを削除します。どちらを削除しても構いません。次はその例です。

    oc delete pods <NCP pod name> -n nsx-system
  • 名前空間 nsx-system を削除します。次はその例です。

    oc delete -f ncp-rc.yml -n nsx-system