NSX-T Container Plug-in (NCP) は、NSX-T Data Center と Kubernetes などのコンテナ オーケストレータとの統合や、NSX-T Data Center と OpenShift や Pivotal Cloud Foundry などのコンテナベースの Platform as a Service (PaaS) 製品との連携を可能にします。このガイドでは、Kubernetes と Pivotal Cloud Foundry を使用した 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 のデフォルトのバックエンド設定をサポート。
    • Ingress の URI の書き換えをサポート。
  • 名前空間、ポッド名、およびポッドのラベル用のタグを NSX-T Data Center 論理スイッチ ポート上に作成し、管理者がタグ ベースで NSX-T のセキュリティ グループとポリシーを定義できるようにします。

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