NSX Container Plugin (NCP) は、NSX-T Data Center と Kubernetes などのコンテナ オーケストレータとの統合や、NSX-T Data Center と OpenShift や Tanzu Application Service (TAS) などのコンテナベースの Platform as a Service (PaaS) 製品との連携を可能にします。このガイドでは、Kubernetes や TAS と連携する NCP の設定について説明します。

NCP のメイン コンポーネントはコンテナで実行され、NSX Manager や Kubernetes 制御プレーンとの通信を行います。NCP は、コンテナや他のリソースに対する変更を監視し、NSX API を呼び出して、コンテナの論理ポート、スイッチ、ルーター、セキュリティ グループなどのネットワーク リソースを管理します。

NSX CNI プラグインは、各 Kubernetes ノードで実行されます。コンテナのライフ サイクル イベントを監視し、コンテナ インターフェイスをゲスト vSwitch に接続します。プログラムによってゲスト vSwitch をタグ付けし、コンテナ インターフェイスと vNIC 間でコンテナ トラフィックを転送します。

NCP では、次の機能が提供されます。
  • Kubernetes クラスタに NSX-T Data Center 論理トポロジを自動的に作成し、Kubernetes の個々のネームスペースに論理ネットワークを作成します。
  • Kubernetes のポッドを論理ネットワークに接続し、IP アドレスと MAC アドレスを割り当てます。
  • ネットワーク アドレス変換 (NAT) がサポートされているため、Kubernetes の各ネームスペースに個別の SNAT IP を割り当てることができます。
    注: NAT を設定する場合、変換される IP アドレスの合計数は 1,000 を超えることはできません。
  • NSX-T Data Center分散ファイアウォールを使用した Kubernetes ネットワーク ポリシーを実装。
    • 入力方向および出力方向でネットワーク ポリシーをサポート。
    • ネットワーク ポリシーで IPBlock セレクタをサポート。
    • ネットワーク ポリシーでラベル セレクタを指定する際に matchLabelsmatchExpression をサポート。
    • 別のネームスペースに含まれるポッドの選択をサポート。
  • Kubernetes のタイプ ClusterIP のサービスおよびタイプ LoadBalancer のサービスを実装。
  • NSX-T レイヤー 7 ロード バランサを使用する Kubernetes Ingress を実装。
    • HTTP Ingress と、TLS Edge ターミネーション使用する HTTPS Ingress をサポート。
    • Ingress のデフォルトのバックエンド設定をサポート。
    • HTTPS へのリダイレクト、パスの書き換え、およびパス パターン一致をサポート。
  • ネームスペース、ポッド名、およびポッドのラベル用のタグを NSX-T Data Center 論理スイッチ ポート上に作成し、管理者がタグに基づいて NSX-T のセキュリティ グループとポリシーを定義できるようにします。
  • マルチキャストは、同じ名前空間のポッド間でサポートされていますが、異なる名前空間のポッド間ではサポートされていません。

NCP は、単一の Kubernetes クラスタをサポートします。同じ NSX-T Data Center 環境を使用して、複数の Kubernetes クラスタに、異なる NCP インスタンスを配置することができます。