ADC

Kubernetes Ingress-Lösung

Dieses Thema bietet einen Überblick über die von NetScaler bereitgestellte Kubernetes Ingress-Lösung und erklärt die Vorteile.

Was ist Kubernetes Ingress?

Wenn Sie eine Anwendung in einem Kubernetes-Cluster ausführen, müssen Sie externen Benutzern die Möglichkeit bieten, von außerhalb des Kubernetes-Clusters auf die Anwendungen zuzugreifen. Kubernetes bietet ein Objekt namens Ingress, das die effektivste Methode bietet, mehrere Dienste mithilfe einer stabilen IP-Adresse verfügbar zu machen. Ein Kubernetes-Ingress-Objekt ist immer mit einem oder mehreren Diensten verknüpft und dient als zentraler Einstiegspunkt für externe Benutzer, um auf Dienste zuzugreifen, die innerhalb des Clusters ausgeführt werden.

Das folgende Diagramm erklärt, wie Kubernetes Ingress funktioniert. Kubernetes Ingress

Die Kubernetes Ingress-Implementierung besteht aus den folgenden Komponenten:

  • Eingangsressource. Mit einer Ingress-Ressource können Sie Regeln für den Zugriff auf die Anwendungen von außerhalb des Clusters definieren.

  • Eingangskontrolle. Ein Ingress-Controller ist eine Anwendung, die innerhalb des Clusters bereitgestellt wird, die Regeln interpretiert, die im Ingress definiert sind. Ingress-Controller wandelt die Ingress-Regeln in Konfigurationsanweisungen für eine in den Cluster integrierte Load Balancing-Anwendung um. Der Load Balancer kann eine Softwareanwendung sein, die innerhalb Ihres Kubernetes-Clusters ausgeführt wird, oder eine Hardware-Appliance, die außerhalb des Clusters ausgeführt wird.

  • Gerät eingeben. Ein Ingress-Gerät ist eine Lastausgleichsanwendung wie NetScaler CPX, VPX oder MPX, die den Lastausgleich gemäß den Konfigurationsanweisungen des Ingress-Controller durchführt.

Was ist die Kubernetes Ingress-Lösung von Citrix?

In dieser Lösung bietet NetScaler eine Implementierung des Kubernetes Ingress Controllers zur Verwaltung und Weiterleitung des Datenverkehrs an Ihren Kubernetes-Cluster mithilfe von NetScalern (NetScaler CPX, VPX oder MPX). Der NetScaler Ingress Controller integriert NetScalers in Ihre Kubernetes-Umgebung und konfiguriert NetScaler CPX, VPX oder MPX gemäß den Ingress-Regeln.

Standardlösungen von Kubernetes Ingress bieten Load Balancing nur auf Layer 7 (HTTP- oder HTTPS-Datenverkehr). Manchmal müssen Sie viele Legacy-Anwendungen verfügbar machen, die auf TCP oder UDP oder Anwendungen angewiesen sind und eine Möglichkeit benötigen, diese Anwendungen auszugleichen. Die NetScaler Ingress Controller-Lösung bietet neben dem standardmäßigen HTTP- oder HTTPS-Ingress Unterstützung für TCP-, TCP-SSL- und UDP-Verkehr. Außerdem funktioniert es nahtlos über mehrere Clouds oder on-premises Rechenzentren hinweg.

NetScaler bietet Verkehrsverwaltungsrichtlinien für Unternehmen wie Rewrite- und Responder-Richtlinien für einen effizienten Lastenausgleich des Datenverkehrs auf Layer 7. Kubernetes Ingress fehlen jedoch solche Traffic-Management-Richtlinien für Unternehmen. Mit der Kubernetes Ingress-Lösung von Citrix können Sie mithilfe von CRDs von NetScaler Rewrite- und Responder-Richtlinien für den Anwendungsverkehr in einer Kubernetes-Umgebung anwenden.

Die Kubernetes Ingress-Lösung von Citrix unterstützt auch die automatisierte Canary-Bereitstellung für Ihre CI/CD-Anwendungspipeline. In dieser Lösung ist NetScaler in die Spinnaker-Plattform integriert und dient als Quelle für die Bereitstellung präziser Metriken für die Analyse der Canary-Bereitstellung mit Kayenta. Nach der Analyse der Metriken generiert Kayenta einen Aggregatwert für den Kanarienvogel und beschließt, die kanarische Version zu bewerben oder zu scheitern. Sie können auch die Verteilung des Datenverkehrs auf die Canary-Version mithilfe der NetScaler Richtlinieninfrastruktur regeln.

In der folgenden Tabelle sind die Vorteile zusammengefasst, die die Ingress-Lösung von Citrix gegenüber Kubernetes Ingress bietet.

Features Kubernetes Ingress Ingress-Lösung von Citrix
HTTP- und HTTPS-Unterstützung Ja Ja
URL-Routing​ ​ Ja Ja
TLS Ja Ja
Lastausgleich Ja Ja
TCP, TCP-SSL Nein Ja
UDP Nein Ja
HTTP/2 Ja Ja
Automatisierter Canary-Deployment-Support mit CI/CD-Tools Nein Ja
Unterstützung für die Anwendung der NetScaler Rewrite- und​ Responder-Richtlinien Nein Ja
Authentifizierung (Open Authorization (OAuth), gegenseitiges TLS (mTLS)) Nein Ja
Unterstützung für die Anwendung der Citrix-Richtlinien zur Ratenbegrenzung Nein Ja

Bereitstellungsoptionen für die Kubernetes Ingress-Lösung

Die Kubernetes Ingress-Lösung von NetScaler bietet Ihnen eine flexible Architektur, je nachdem, wie Sie Ihre NetScalers- und Kubernetes-Umgebung verwalten möchten.

Einheitliches Ingress (einstufig)

In einer einheitlichen Ingress-Architektur (Single-Tier) wird ein NetScaler MPX- oder VPX-Gerät, das außerhalb des Kubernetes-Clusters bereitgestellt wird, mithilfe des NetScaler Ingress Controller in die Kubernetes-Umgebung integriert. Der NetScaler Ingress Controller wird als Pod im Kubernetes-Cluster bereitgestellt und automatisiert die Konfiguration von NetScalern auf der Grundlage von Änderungen an den Microservices oder den Ingress-Ressourcen. Das NetScaler Gerät führt Funktionen wie Lastenausgleich, TLS-Beendigung und HTTP- oder TCP-Protokolloptimierungen für eingehenden Datenverkehr aus und leitet den Datenverkehr dann an den richtigen Microservice innerhalb eines Kubernetes-Clusters weiter. Diese Architektur eignet sich am besten für Szenarien, in denen dasselbe Team die Kubernetes-Plattform und andere Netzwerkinfrastrukturen einschließlich Application Delivery Controllers (ADCs) verwaltet.

Das folgende Diagramm zeigt eine Bereitstellung mit der einheitlichen Ingress-Architektur.

Single-tier

Eine einheitliche Ingress-Lösung bietet die folgenden Hauptvorteile:

  • Bietet eine Möglichkeit, die Funktionen Ihrer vorhandenen NetScaler-Infrastruktur auf die Kubernetes-Umgebung zu erweitern
  • Ermöglicht die Anwendung von Verkehrsmanagementrichtlinien für eingehenden Datenverkehr
  • Bietet eine vereinfachte Architektur, die für netzwerkaffine DevOps-Teams geeignet ist
  • Unterstützt Mehrmandantenfähigkeit

Zweistufiger Ingress

In einer dualen Architektur agiert NetScaler (MPX oder VPX), das außerhalb des Kubernetes-Clusters bereitgestellt wird, auf Ebene 1 und verteilt den Nord-Süd-Verkehr auf NetScaler CPXs, die innerhalb des Clusters laufen. NetScaler CPX fungiert auf Stufe 2 und führt Load Balancing für Microservices innerhalb des Kubernetes-Clusters durch.

In Szenarien, in denen separate Teams die Kubernetes-Plattform und die Netzwerkinfrastruktur verwalten, ist die Dual-Tier-Architektur am besten geeignet.

Netzwerkteams verwenden NetScaler Tier 1 für Anwendungsfälle wie GSLB, TLS-Beendigung auf der Hardwareplattform und TCP-Lastenausgleich. Kubernetes-Plattformteams können Tier 2 NetScaler (CPX) für Layer-7-Lastenausgleich (HTTP/HTTPS), gegenseitiges TLS sowie Observability oder Überwachung von Microservices verwenden. Der Tier-2-NetScaler (CPX) kann eine andere Softwareversion als der Tier-1-NetScaler haben, um neu verfügbare Funktionen zu berücksichtigen.

Das folgende Diagramm zeigt eine Bereitstellung mit Dual-Tier-Architektur.

Zweistufig

Ein zweistufiges Ingress bietet die folgenden Hauptvorteile:

  • Sorgt für eine hohe Geschwindigkeit der Anwendungsentwicklung für Entwickler oder Plattformteams
  • Ermöglicht die Anwendung von entwicklergesteuerten Traffic-Management-Richtlinien für Microservices innerhalb des Kubernetes-Clusters
  • Ermöglicht Cloud-Skalierung und Mandantenfähigkeit

Weitere Informationen finden Sie in der NetScaler IngressController-Dokumentation.

Erste Schritte

Um mit der Kubernetes Ingress-Lösung von Citrix zu beginnen, können Sie die folgenden Beispiele ausprobieren:

Kubernetes Ingress-Lösung