NSX Container Plug-in(NCP) 提供 NSX-T Data Center 与容器协调器(如 Kubernetes)之间的集成以及 NSX-T Data Center 与基于容器的 PaaS(平台即服务)产品(如 OpenShift 和 Pivotal Cloud Foundry)之间的集成。本指南介绍了如何设置 NCP 以与 Kubernetes 和 Pivotal Cloud Foundry 集成。

NCP 的主要组件在容器中运行,并与 NSX Manager 和 Kubernetes 控制层面进行通信。NCP 调用 NSX API 以监控对容器和其他资源的更改以及管理网络资源,如容器的逻辑端口、交换机、路由器和安全组。

NSX CNI 插件在每个 Kubernetes 节点上运行。它监控容器生命周期事件,将容器接口连接到客户机 vSwitch,并对客户机 vSwitch 进行编程以标记和转发容器接口和 vNIC 之间的容器流量。

NCP 提供了以下功能:
  • 自动为 Kubernetes 群集创建 NSX-T Data Center 逻辑拓扑,并为每个 Kubernetes 命名空间创建一个单独的逻辑网络。
  • 将 Kubernetes pod 连接到逻辑网络,并分配 IP 和 MAC 地址。
  • 支持网络地址转换 (NAT) 并为每个 Kubernetes 命名空间分配一个单独的 SNAT IP。
    注: 配置 NAT 时,转换后 IP 的总数不能超过 1000。
  • 使用 NSX-T Data Center 分布式防火墙实现 Kubernetes 网络策略。
    • 支持输入和输出网络策略。
    • 支持网络策略中的 IPBlock 选择器。
    • 为网络策略指定标签选择器时,支持 matchLabelsmatchExpression
    • 支持在其他命名空间中选择 pod。
  • 实现 ClusterIP 类型的 Kubernetes 服务和 LoadBalancer 类型的服务。
  • 使用 NSX-T 第 7 层负载平衡器实现 Kubernetes Ingress。
    • 通过 TLS Edge 终止支持 HTTP Ingress 和 HTTPS Ingress。
    • 支持 Ingress 默认后端配置。
    • 支持 Ingress URI 重写。
  • NSX-T Data Center 逻辑交换机端口上为命名空间、pod 名称和 pod 标签创建标记,并允许管理员根据标记定义 NSX-T 安全组和策略。

在该版本中,NCP 支持单个 Kubernetes 群集。您可以具有使用相同 NSX-T Data Center 部署的多个 Kubernetes 群集,每个群集均有不同的 NCP 实例。