Einrichten eines Netzwerks zwischen Kubernetes-Knoten und NetScaler-Instanz außerhalb des Kubernetes-Clusters
Für ein reibungsloses Funktionieren der in einem Kubernetes-Cluster bereitgestellten Dienste muss das Ingress NetScaler-Gerät das Overlay-Netzwerk erreichen können, in dem die Pods ausgeführt werden. Sie können diese Konnektivität auf eine der folgenden Arten herstellen:
-
Aktivieren Sie die automatische Routenkonfiguration im NetScaler Kubernetes Gateway Controller.Legen Sie
gatewayController.nodeWatch: truein der Controller-Spezifikation fest, um Routen auf NetScaler für jedes Pod-Subnetz zu erstellen.Hinweis:Sie können diese Option wählen, wenn NetScaler SNIP dasselbe Subnetz wie Kubernetes-Knoten verwendet. -
Stellen Sie einen NetScaler Node Controller bereit, um Subnetzrouten von Kubernetes-Knoten zu steuern.
Hinweis:
gatewayController.nodeWatch ist standardmäßig false.
Mehrere Cluster hinter einem einzigen NetScaler
Wenn ein NetScaler den Datenverkehr für mehrere Kubernetes-Cluster ausgleicht, können sich überlappende CNI-Subnetze zu Routenkonflikten führen und die statische Routeninjektion kann fehlschlagen. Verwenden Sie in diesem Szenario Policy-Based Routing (PBR) und stellen Sie für jeden Cluster einen eindeutigen Satz von SNIP-Werten bereit.
Geben Sie SNIPs über Helm-Einstellungen, Umgebungsvariablen oder ConfigMap an, damit der Controller die korrekten PBR-Einträge installiert.
Verwenden Sie den folgenden Befehl, um PBR-SNIPs in NetScaler zu konfigurieren:
helm install my-release netscaler/netscaler-kubernetes-gateway-controller --set gatewayController.gatewayControllerName=citrix.com/nsgc-controller,license.accept=yes,gatewayController.entityPrefix=gwy,netscaler.nsncPbr="true",netscaler.adcCredentialSecret=<Secret-for-ADC-credentials>,netscaler.nsSNIPs='[<NS_SNIP1>\, <NS_SNIP2>\, ...]'