NSX Container Plug-in (NCP) stellt Integration zwischen NSX-T Data Center und Container-Orchestrierung, wie z. B. Kubernetes, sowie Integration zwischen NSX-T Data Center und Container-basierten PaaS-Produkten (Platform-as-a-Service), wie z. B. OpenShift und Tanzu Application Service (TAS), bereit. Dieses Handbuch beschreibt das Einrichten von NCP mit Kubernetes und TAS.

Die Hauptkomponente von NCP wird in einem Container ausgeführt und kommuniziert mit NSX Manager und mit der Kubernetes-Control Plane. NCP überwacht Änderungen an den Containern und anderen Ressourcen und verwaltet Netzwerkressourcen wie logische Ports, Switches, Router und Sicherheitsgruppen für die Container per Aufruf der NSX API.

Das NSX CNI-Plugin wird auf jedem Kubernetes-Knoten ausgeführt. Es überwacht Ereignisse im Container-Lebenszyklus, verbindet eine Containerschnittstelle mit dem Gast-vSwitch und programmiert den Gast-vSwitch für die Kennzeichnung und Weiterleitung des Containerdatenverkehrs zwischen den Containerschnittstellen und der VNIC.

NCP bietet die folgenden Funktionen:
  • Es erstellt automatisch eine logische NSX-T Data Center-Topologie für einen Kubernetes-Cluster und erstellt ein separates logisches Netzwerk für jeden Kubernetes-Namespace.
  • Es verbindet Kubernetes-Pods mit dem logischen Netzwerk und weist IP- und MAC-Adressen zu.
  • Es unterstützt Netzwerkadressübersetzung (Network Address Translation – NAT) und weist eine separate SNAT-IP für jeden Kubernetes-Namespace zu.
    Hinweis: Bei der Konfiguration von NAT darf die Gesamtzahl der übersetzten IPs 1000 nicht überschreiten.
  • Es implementiert Kubernetes-Netzwerkrichtlinien mit verteilter NSX-T Data Center-Firewall.
    • Unterstützung für Ingress- und Egress-Netzwerkrichtlinien.
    • Unterstützung für IPBlock-Selektor in Netzwerkrichtlinien.
    • Unterstützung für matchLabels und matchExpression beim Angeben von Bezeichnungsselektoren für Netzwerkrichtlinien.
    • Unterstützung für die Auswahl von Pods in einem anderen Namespace.
  • Es implementiert einen Kubernetes-Dienst des Typs ClusterIP und einen Dienst des Typs LoadBalancer.
  • Es implementiert Kubernetes-Ingress mit NSX-T-Load Balancer der Schicht 7.
    • Unterstützung für HTTP-Ingress und HTTPS-Ingress mit TLS-Edge-Beendigung.
    • Unterstützung für Standard-Backend-Konfiguration für den Ingress.
    • Unterstützung für Umleitung auf HTTPS, Pfad Umschreibung und Pfad Musterübereinstimmung.
  • Es erstellt auf dem logischen NSX-T Data Center-Switch Port Tags für den Namespace, den Pod-Namen und die Bezeichnungen eines Pods und lässt zu, dass der Administrator die NSX-T-Sicherheitsgruppen und -richtlinien basierend auf den Tags festlegt.
  • Multicast wird zwischen Pods in demselben Namespace unterstützt, aber nicht zwischen Pods in unterschiedlichen Namespaces.

NCP unterstützt ein einzelnes Kubernetes-Cluster. Es besteht die Möglichkeit, für mehrere Kubernetes-Cluster, jeweils mit einer eigenen eindeutigen NCP-Instanz, die gleiche NSX-T Data Center-Bereitstellung zu verwenden.