Citrix ADC Ingress Controller

So richten Sie eine Dual-Tier-Bereitstellung ein

In einer Dual-Tier-Bereitstellung wird Citrix ADC VPX oder MPX außerhalb des Kubernetes-Clusters (Tier-1) bereitgestellt, und Citrix ADC CPXs werden innerhalb des Kubernetes-Clusters (Tier-2) bereitgestellt.

Citrix ADC MPX- oder VPX-Geräte in Tier-1 leiten den Datenverkehr (Nord-Süd) vom Client zu Citrix ADC CPXs in Tier-2 weiter. Der Tier-2-Citrix ADC CPX leitet den Datenverkehr dann an die Microservices im Kubernetes-Cluster weiter. Der Citrix Ingress Controller, der als eigenständiger Pod bereitgestellt wird, konfiguriert den Tier-1-Citrix ADC. Und der Citrix Ingress Controller mit Sidecar in einem oder mehreren Citrix ADC CPX-Pods konfiguriert den zugehörigen Citrix ADC CPX im selben Pod.

Die Dual-Tier-Bereitstellung kann auf Kubernetes in Bare-Metal-Umgebung oder in öffentlichen Clouds wie AWS, GCP oder Azure eingerichtet werden.

Das folgende Diagramm zeigt eine Dual-Tier-Bereitstellung:

Dual-Tier-Bereitstellung

Setup-Vorgang

Das Citrix Ingress Controller-Repo bietet ein Beispiel für Apache-Microservice und Manifeste für Citrix ADC CPX für Tier-2, Eingangsobjekt für Tier-2 Citrix ADC CPX, Citrix Ingress Controller und ein Eingangsobjekt für Tier-1-Citrix ADC zu Demonstrationszwecken. Diese Beispiele werden bei der Einrichtung verwendet, um eine Dual-Tier-Topologie bereitzustellen.

Führen Sie folgende Schritte aus:

  1. Erstellen Sie einen Kubernetes-Cluster in der Cloud oder on-premises. Der Kubernetes-Cluster in der Cloud kann ein verwaltetes Kubernetes (z. B. GKE, EKS oder AKS) oder eine benutzerdefinierte Kubernetes-Bereitstellung sein.

  2. Stellen Sie Citrix ADC MPX oder VPX in einem Multi-NIC-Bereitstellungsmodus außerhalb des Kubernetes-Clusters bereit.

    Führen Sie nach der Bereitstellung von Citrix ADC VPX oder MPX Folgendes aus:

    1. Konfigurieren Sie eine IP-Adresse aus dem Subnetz des Kubernetes-Clusters als SNIP auf dem Citrix ADC. Informationen zum Konfigurieren von SNIPs in Citrix ADC finden Sie unter Konfigurieren von Subnet-IP-Adressen (SNIPs).

    2. Aktivieren Sie den Verwaltungszugriff für das SNIP, das dasselbe Subnetz des Kubernetes-Clusters ist. Das SNIP sollte als NS_IP Variable in der YAML-Datei des Citrix Ingress Controller verwendet werden, damit der Citrix Ingress Controller den Tier-1-Citrix ADC konfigurieren kann.

      Hinweis:

      Es ist nicht zwingend erforderlich, SNIP als zu verwenden NS_IP. Wenn die Verwaltungs-IP-Adresse des Citrix ADC über den Citrix Ingress Controller erreichbar ist, können Sie die Verwaltungs-IP-Adresse als verwenden NS_IP.

    3. Aktivieren Sie in Cloud-Bereitstellungen den MAC-basierten Weiterleitungsmodus auf der Tier-1-Citrix ADC VPX. Da Citrix ADC VPX im Multi-NIC-Modus bereitgestellt wird, verfügt es nicht über die Rückroute, um das POD-CNI-Netzwerk oder das Client-Netzwerk zu erreichen. Daher müssen Sie den Mac-basierten Weiterleitungsmodus auf dem Tier-1-Citrix ADC VPX aktivieren, um dieses Szenario zu behandeln.

    4. Erstellen Sie ein Citrix ADC-Systembenutzerkonto, das für den Citrix Ingress Controller spezifisch ist. Der Citrix Ingress Controller verwendet das Systembenutzerkonto, um Tier-1-Citrix ADC automatisch zu konfigurieren.

    5. Konfigurieren Sie Ihre on-premises Firewall oder Sicherheitsgruppen in Ihrer Cloud, um eingehenden Datenverkehr zu den für Citrix ADC erforderlichen Ports zuzulassen. Der Setup-Prozess verwendet Port 80 und Port 443. Sie können diese Ports basierend auf Ihren Anforderungen ändern.

  3. Stellen Sie einen Beispiel-Microservice bereit. Verwenden Sie den folgenden Befehl:

    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/dual-tier/manifest/apache.yaml
    
  4. Stellen Sie Citrix ADC CPX als Tier-2-Ingress bereit. Verwenden Sie den folgenden Befehl:

    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/dual-tier/manifest/tier-2-cpx.yaml
    
  5. Erstellen Sie ein Ingress-Objekt für den Tier-2 Citrix ADC CPX. Verwenden Sie den folgenden Befehl:

    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/dual-tier/manifest/ingress-tier-2-cpx.yaml
    
  6. Stellen Sie den Citrix Ingress Controller für Tier-1-Citrix ADC bereit. Führen Sie folgende Schritte aus:

    1. Laden Sie die Citrix Ingress Controller-Manifestdatei herunter. Verwenden Sie den folgenden Befehl:

      wget https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/dual-tier/manifest/tier-1-vpx-cic.yaml
      
    2. Bearbeiten Sie die Citrix Ingress Controller-Manifestdatei und geben Sie die Werte für die folgenden Umgebungsvariablen ein:

      Umgebungs-Variable Erforderlich oder optional Beschreibung
      NS_IP Mandatory Die IP-Adresse der Citrix ADC Appliance. Weitere Einzelheiten finden Sie unter Voraussetzungen.
      NS_USER und NS_PASSWORD Mandatory Der Benutzername und das Kennwort der Citrix ADC VPX- oder MPX-Appliance, die als Ingress-Gerät verwendet wird. Weitere Einzelheiten finden Sie unter Voraussetzungen.
      EULA Mandatory Die Endbenutzer-Lizenzvereinbarung. Geben Sie den Wert als an Yes.
      LOGLEVEL Optional Die Protokollebenen zur Steuerung der vom Citrix Ingress Controller generierten Protokolle. Standardmäßig ist der Wert auf DEBUG festgelegt. Die unterstützten Werte sind: CRITICAL, ERROR, WARNING, INFO und DEBUG. Weitere Informationen finden Sie unter Protokollebenen
      NS_PROTOCOL und NS_PORT Optional Definiert das Protokoll und den Port, die vom Citrix Ingress Controller für die Kommunikation mit Citrix ADC verwendet werden müssen. Standardmäßig verwendet Citrix Ingress Controller HTTPS auf Port 443. Sie können auch HTTP auf Port 80 verwenden.
      ingress-Klassen Optional Wenn mehrere Ingress-Load-Balancer zum Lastenausgleich verschiedener Eingangsressourcen verwendet werden. Sie können diese Umgebungsvariable verwenden, um Citrix Ingress Controller anzugeben, um Citrix ADC zu konfigurieren, das einer bestimmten Eingangsklasse zugeordnet ist. Informationen zu Ingress-Klassen finden Sie unter Unterstützung für Ingress-Klassen
      NS_VIP Optional Citrix Ingress Controller verwendet die in dieser Umgebungsvariable angegebene IP-Adresse, um eine virtuelle IP-Adresse für den Citrix ADC zu konfigurieren, der Ingress-Datenverkehr empfängt. Hinweis: NS_VIP hat Vorrang vor der Frontend-IP-Annotation .
    3. Stellen Sie die aktualisierte Manifestdatei des Citrix Ingress Controller bereit. Verwenden Sie den folgenden Befehl:

      kubectl create -f tier-1-vpx-cic.yaml
      
  7. Erstellen Sie ein Ingress-Objekt für den Tier-1-Citrix ADC. Verwenden Sie den folgenden Befehl:

    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/dual-tier/manifest/ingress-tier-1-vpx.yaml
    
  8. Aktualisieren Sie die DNS-Serverdetails in der Cloud oder on-premises, um Ihre Website auf den VIP des Tier-1-Citrix ADC zu verweisen.

    Beispiel: citrix-ingress.com 192.250.9.1

    Wo 192.250.9.1 ist der VIP des Tier-1-Citrix ADC und citrix-ingress.com läuft der Microservice in Ihrem Kubernetes-Cluster.

  9. Greifen Sie auf die URL des Microservice zu, um die Bereitstellung zu überprüfen.

Einrichten einer Dual-Tier-Bereitstellung mithilfe einer einstufigen Bereitstellungsmanifestdatei

Für eine einfache Bereitstellung enthält das Citrix Ingress Controller-Repository ein All-in-One-Bereitstellungsmanifest. Sie können die Datei herunterladen und mit Werten für die folgenden Umgebungsvariablen aktualisieren und die Manifestdatei bereitstellen.

Hinweis:

Stellen Sie sicher, dass Sie Schritt 1—2 des Einrichtungsvorgangsabgeschlossen haben.

Führen Sie folgende Schritte aus:

  1. Laden Sie die Manifestdatei der All-in-One-Bereitstellung herunter. Verwenden Sie den folgenden Befehl:

    wget https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/dual-tier/manifest/all-in-one-dual-tier-demo.yaml
    
  2. Bearbeiten Sie die All-in-One-Bereitstellungsmanifestdatei und geben Sie die Werte für die folgenden Umgebungsvariablen ein:

    Umgebungs-Variable Erforderlich oder optional Beschreibung
    NS_IP Mandatory Die IP-Adresse der Citrix ADC Appliance. Weitere Einzelheiten finden Sie unter Voraussetzungen.
    NS_USER und NS_PASSWORD Mandatory Der Benutzername und das Kennwort der Citrix ADC VPX- oder MPX-Appliance, die als Ingress-Gerät verwendet wird. Weitere Einzelheiten finden Sie unter Voraussetzungen.
    EULA Mandatory Die Endbenutzer-Lizenzvereinbarung. Geben Sie den Wert als an Yes.
    LOGLEVEL Optional Die Protokollebenen zur Steuerung der vom Citrix Ingress Controller generierten Protokolle. Standardmäßig ist der Wert auf DEBUG festgelegt. Die unterstützten Werte sind: CRITICAL, ERROR, WARNING, INFO und DEBUG. Weitere Informationen finden Sie unter Protokollebenen
    NS_PROTOCOL und NS_PORT Optional Definiert das Protokoll und den Port, die vom Citrix Ingress Controller für die Kommunikation mit Citrix ADC verwendet werden müssen. Standardmäßig verwendet Citrix Ingress Controller HTTPS auf Port 443. Sie können auch HTTP auf Port 80 verwenden.
    ingress-Klassen Optional Wenn mehrere Ingress-Load-Balancer zum Lastenausgleich verschiedener Eingangsressourcen verwendet werden. Sie können diese Umgebungsvariable verwenden, um Citrix Ingress Controller anzugeben, um Citrix ADC zu konfigurieren, das einer bestimmten Eingangsklasse zugeordnet ist. Informationen zu Ingress-Klassen finden Sie unter [Unterstützung von Ingress-Klassen] (/en-us/citrix-k8s-ingress-controller/configure/ingress-classes.html)
    NS_VIP Optional Citrix Ingress Controller verwendet die in dieser Umgebungsvariable angegebene IP-Adresse, um eine virtuelle IP-Adresse für den Citrix ADC zu konfigurieren, der Ingress-Datenverkehr empfängt. Hinweis: NS_VIP fungiert als Fallback, wenn die Frontend-IP-Annotation nicht in Ingress yaml bereitgestellt wird. Für den Type Loadbalancer-Dienst nicht unterstützt.
  3. Stellen Sie die aktualisierte All-in-One-Bereitstellungsmanifestdatei bereit. Verwenden Sie den folgenden Befehl:

    kubectl create -f all-in-one-dual-tier-demo.yaml
    
So richten Sie eine Dual-Tier-Bereitstellung ein