Zu den zu konfigurierenden NSX-T Data Center-Ressourcen gehören eine Overlay-Transportzone, ein logischer Tier-0-Router, ein logischer Switch zum Verbinden der virtuellen Maschinen des Knotens, IP-Blöcke für Kubernetes-Knoten und ein IP-Pool für SNAT.

Wichtig:

Wenn die Ausführung mit NSX-T Data Center 2.4 oder höher erfolgt, müssen Sie mithilfe der Registerkarte Netzwerk und Sicherheit – Erweitert NSX-T-Ressourcen konfigurieren.

In der NCP-Konfigurationsdatei ncp.ini sind die NSX-T Data Center-Ressourcen unter Verwendung ihrer UUIDs oder Namen angegeben.

Overlay-Transportzone

Melden Sie sich bei NSX Manager an und suchen Sie nach der für Containernetzwerke verwendeten Overlay-Transportzone oder erstellen Sie eine neue.

Geben Sie eine Overlay-Transportzone für einen Cluster an, indem Sie die Option overlay_tz im Abschnitt [nsx_v3] der Datei ncp.ini festlegen. Dieser Schritt ist optional. Wenn Sie overlay_tz nicht festlegen, ruft NCP die ID der Overlay-Transportzone automatisch vom Tier-0-Router ab.

Logisches Tier-0-Routing

Melden Sie sich bei NSX Manager an und suchen Sie nach dem für Containernetzwerke verwendeten Router oder erstellen Sie einen neuen.

Geben Sie einen logischen Tier-0-Router für einen Cluster an, indem Sie die Option tier0_router im Abschnitt [nsx_v3] der Datei ncp.ini festlegen.

Hinweis:

Der Router muss im Aktiv/Standby-Modus erstellt werden.

Logischer Switch

Die vom Knoten für den Netzwerkdatenverkehr verwendeten vNICs müssen mit einem logischen Overlay-Switch verbunden sein. Die Verwaltungsschnittstelle des Knotens muss nicht zwingend mit NSX-T Data Center verbunden sein, obwohl dies die Einrichtung erleichtert. Sie können einen logischen Switch erstellen, indem Sie sich bei NSX Manager anmelden. Erstellen Sie auf dem Switch logische Ports und hängen Sie die vNICs des Knotens daran an. Die logischen Ports müssen die folgenden Tags aufweisen:

  • Tag: <cluster_name>, Geltungsbereich: ncp/cluster

  • Tag: <node_name>, Geltungsbereich: ncp/node_name

Der Wert für <cluster_name> muss mit dem Wert der Option cluster im Abschnitt [coe] von ncp.ini übereinstimmen.

IP-Blöcke für Kubernetes-Pods

Melden Sie sich bei NSX Manager an und erstellen Sie einen oder mehrere IP-Blöcke. Geben Sie den IP-Block im CIDR-Format an.

Geben Sie IP-Blöcke für Kubernetes-Pods an, indem Sie die Option container_ip_blocks im Abschnitt [nsx_v3] der Datei ncp.ini festlegen.

Sie können IP-Blöcke auch speziell für Nicht-SNAT-Namespaces erstellen.

Geben Sie Nicht-SNAT-IP-Blöcke ein, indem Sie die Option no_snat_ip_blocks im Abschnitt [nsx_v3] der Datei ncp.ini festlegen.

Wenn Sie Nicht-SNAT-IP-Blöcke erstellen, während NCP ausgeführt wird, müssen Sie NCP neu starten. Andernfalls verwendet NCP weiterhin die freigegebenen IP-Blöcke, bis sie erschöpft sind.

Hinweis:

Wenn Sie einen IP-Block erstellen, darf das Präfix nicht größer als der Wert des Parameters subnet_prefix in der NCP-Konfigurationsdatei ncp.ini sein.

IP-Pool für SNAT

Der IP-Pool wird für die Zuteilung von IP-Adressen verwendet, die der Übersetzung von Pod-IP-Adressen über SNAT-Regeln dienen. Zudem werden sie zum Verfügbarmachen der Ingress-Controller über SNAT/DNAT-Regeln verwendet – genau wie Openstack Floating IP-Adressen. Diese IP-Adressen werden auch als „externe IP-Adressen“ bezeichnet.

Mehrere Kubernetes-Cluster verwenden denselben externen IP-Pool. Jede NCP-Instanz verwendet einen Teil dieses Pools für den Kubernetes-Cluster, den sie verwaltet. Standardmäßig wird dasselbe Subnetzpräfix für Pod-Subnetze verwendet. Wen Sie eine andere Subnetzgröße verwenden möchten, aktualisieren Sie die external_subnet_prefix-Option im [nsx_v3]-Abschnitt in ncp.ini.

Melden Sie sich bei NSX Manager an und erstellen Sie einen Pool oder suchen Sie einen vorhandenen Pool.

Geben Sie IP-Pools für SNAT an, indem Sie die Option external_ip_pools im Abschnitt [nsx_v3] der Datei ncp.ini festlegen.

Sie können SNAT auch für einen bestimmten Dienst konfigurieren, indem Sie dem Dienst eine Anmerkung hinzufügen. Beispiel:

    apiVersion: v1
    kind: Service
    metadata:
      name: svc-example
      annotations:
        ncp/snat_pool: <external IP pool ID or name>
      selector:
        app: example
    ...

NCP konfiguriert die SNAT-Regel für diesen Dienst. Bei der Quell-IP der Regel handelt es sich um die Gruppe der Backend-Pods. Bei der Ziel-IP handelt es sich um die SNAT-IP, die aus dem angegebenen externen IP-Pool zugeteilt wurde. Beachten Sie Folgendes:

  • Der von ncp/snat_pool angegebene IP-Pool sollte bereits in NSX-T Data Center vorhanden sein, bevor der Dienst konfiguriert wird. Der IP-Pool muss das Tag {"ncp/owner": cluster:<cluster>} aufweisen.

  • In NSX-T Data Center ist die Priorität der SNAT-Regel für den Dienst höher als die für das Projekt.

  • Wenn ein Pod mit mehreren SNAT-Regeln konfiguriert wird, funktioniert nur eine der Regeln.

Sie können durch Hinzufügen des folgenden Tags zum IP-Pool festlegen, welchem Namespace IPs aus dem SNAT-IP-Pool zugeteilt werden können.

  • Geltungsbereich: ncp/owner, Tag: ns:<namespace_UUID>

Sie können die Namespace-UUID mit einem der folgenden Befehle abrufen:

oc get ns -o yaml

Beachten Sie Folgendes:

  • Jedes Tag sollte eine UUID enthalten. Sie können mehrere Tags für denselben Pool erstellen.

  • Wenn Sie die Tags ändern, nachdem einigen Namespaces basierend auf den alten Tags IPs zugewiesen wurden, werden diese IPs nicht wiederhergestellt, bis sich die SNAT-Konfigurationen der Dienste ändern oder NCP neu gestartet wird.

  • Das Owner-Tag für den Namespace ist optional. Ohne dieses Tag können jedem Namespace IPs aus dem SNAT-IP-Pool zugeteilt werden.

(Optional) Markierte Firewallabschnitte

Damit der Administrator Firewallregeln erstellen kann und diese die von NCP erstellten, auf Netzwerkrichtlinien basierenden Firewallabschnitte nicht beeinträchtigen, melden Sie sich bei NSX Manager an und erstellen Sie zwei Firewallabschnitte.

Geben Sie Firewall-Markierungsabschnitte an, indem Sie die Optionen bottom_firewall_section_marker und top_firewall_section_marker im Abschnitt [nsx_v3] der Datei ncp.ini festlegen.

Der untere Firewallabschnitt muss sich unterhalb des oberen Firewallabschnitts befinden. Wenn diese Firewallabschnitte erstellt sind, werden alle von NCP zur Isolierung erstellten Firewallabschnitte oberhalb des unteren Firewallabschnitts und alle von NCP für Richtlinien erstellten Firewallabschnitte unterhalb des oberen Firewallabschnitts erstellt. Wenn diese Markierungsabschnitte nicht erstellt werden, werden alle Isolierungsregeln unten und alle Richtlinienabschnitte oben erstellt. Mehrere markierte Firewallabschnitte mit demselben Wert pro Cluster werden nicht unterstützt und führen zu einem Fehler.