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 セレクタをサポート。
- ネットワーク ポリシーでラベル セレクタを指定する際に matchLabels と matchExpression をサポート。
- 別のネームスペースに含まれるポッドの選択をサポート。
- 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 インスタンスを配置することができます。