Citrix ADC Ingress Controller

Multi-Cloud- und Multi-Cluster-Ingress- und Load-Balancing-Lösung mit Amazon EKS- und Microsoft AKS-Clustern

Sie können mehrere Instanzen derselben Anwendung in mehreren Clouds bereitstellen, die von verschiedenen Cloud-Anbietern bereitgestellt werden. Diese Multi-Cloud-Strategie hilft Ihnen, Ausfallsicherheit, Hochverfügbarkeit und Nähe zu gewährleisten. Ein Multi-Cloud-Ansatz ermöglicht es Ihnen auch, das Beste aus jedem Cloud-Anbieter zu nutzen, indem Sie die Risiken wie Anbieterbindung und Cloud-Ausfälle reduzieren.

Citrix ADC kann mit Hilfe des Citrix Ingress Controller einen Multi-Cloud-Lastenausgleich durchführen. Citrix ADC kann Datenverkehr an Cluster leiten, die auf verschiedenen Cloud-Anbieter-Sites gehostet werden. Die Lösung führt einen Lastausgleich durch, indem sie den Datenverkehr intelligent zwischen den Arbeitslasten verteilt, die auf Amazon EKS (Elastic Kubernetes Service) und Microsoft AKS (Azure Kubernetes Service) -Clustern ausgeführt werden.

Sie können die Multi-Cloud- und Multi-Cluster-Eingangs- und Lastausgleichslösung mit Amazon EKS und Microsoft AKS bereitstellen.

Topologie der Bereitstellung

Das folgende Diagramm erklärt eine Bereitstellungstopologie der Multi-Cloud-Eingangs- und Lastausgleichslösung für den Kubernetes-Dienst, der von Amazon EKS und Microsoft AKS bereitgestellt wird.

Topologie der Bereitstellung

Voraussetzungen

  • Sie sollten mit AWS und Azure vertraut sein.
  • Sie sollten mit Citrix ADC und Citrix ADC-Netzwerkenvertraut sein.
  • Instanzen derselben Anwendung müssen in Kubernetes-Clustern auf Amazon EKS und Microsoft AKS bereitgestellt werden.

Um die Multi-Cloud-Multi-Cluster-Eingangs- und Lastausgleichslösung bereitzustellen, müssen Sie die folgenden Aufgaben ausführen.

  1. Stellen Sie Citrix ADC VPX in AWS bereit.
  2. Stellen Sie Citrix ADC VPX in Azure bereit.
  3. Konfigurieren Sie den ADNS-Dienst auf Citrix ADC VPX, das in AWS und AKS bereitgestellt wird.
  4. Konfigurieren Sie den GSLB Service auf Citrix ADC VPX, das in AWS und AKS bereitgestellt wird.
  5. Wenden Sie GTP- und GSE-CRDs auf AWS- und Azure Kubernetes-Clustern an.
  6. Stellen Sie den Multicluster-Controller bereit.

Bereitstellung von Citrix ADC VPX in AWS

Sie müssen sicherstellen, dass die Citrix ADC VPX-Instanzen in derselben Virtual Private Cloud (VPC) auf dem EKS-Cluster installiert sind. Es ermöglicht Citrix ADC VPX die Kommunikation mit EKS-Arbeitslasten. Sie können ein vorhandenes EKS-Subnetz verwenden oder ein Subnetz erstellen, um die Citrix ADC VPX-Instanzen zu installieren.

Sie können die Citrix ADC VPX-Instanzen auch in einer anderen VPC installieren. In diesem Fall müssen Sie sicherstellen, dass die VPC für EKS mithilfe von VPC-Peering kommunizieren kann. Weitere Informationen zum VPC-Peering finden Sie in der VPC-Peering-Dokumentation.

Für Hochverfügbarkeit (HA) können Sie zwei Instanzen von Citrix ADC VPX im HA-Modus installieren.

  1. Installieren Sie Citrix ADC VPX in AWS. Informationen zur Installation von Citrix ADC VPX in AWS finden Sie unter Bereitstellen der Citrix ADC VPX-Instanz in AWS.

    Citrix ADC VPX benötigt eine andere sekundäre öffentliche IP-Adresse als das NSIP, um die GSLB-Dienstsynchronisierung und den ADNS-Dienst auszuführen.

  2. Öffnen Sie die AWS-Konsole und wählen Sie EC2 > Netzwerkschnittstellen > VPX primäre ENI-ID > IP-Adressen verwalten. Klicken Sie auf Neue IP-Adresse zuweisen.

    Manage-ip-address

    Nachdem die sekundäre öffentliche IP-Adresse dem VPX-ENI zugewiesen wurde, ordnen Sie ihr eine elastische IP-Adresse zu.

  3. Wählen Sie EC2 > Netzwerkschnittstellen > VPX ENI IDAktionen und klicken Sie auf IP-Adresse zuordnen. Wählen Sie eine elastische IP-Adresse für die sekundäre IP-Adresse aus und klicken Sie auf Zuordnen.

    Associate-elastic-ipaddress

  4. Melden Sie sich bei der Citrix ADC VPX-Instanz an und fügen Sie die sekundäre IP-Adresse als hinzu SNIP und aktivieren Sie den Verwaltungszugriff mit dem folgenden Befehl:

    add ip 192.168.211.73 255.255.224.0 -mgmtAccess ENABLED -type SNIP
    

    Hinweis:

    • Um sich mit SSH bei Citrix ADC VPX anzumelden, müssen Sie den SSH-Port in der Sicherheitsgruppe aktivieren. Routing-Tabellen müssen über ein Internet-Gateway verfügen, das für den Standardverkehr konfiguriert ist, und die NACL muss den SSH-Port zulassen.

    • Wenn Sie Citrix ADC VPX im Hochverfügbarkeitsmodus (HA) ausführen, müssen Sie diese Konfiguration in beiden Citrix ADC VPX-Instanzen ausführen.

  5. Aktivieren Sie Content Switching (CS), Load Balancing (LB), Global Server Load Balancing (GSLB) und SSL-Funktionen in Citrix ADC VPX mit dem folgenden Befehl:

    enable feature *feature*
    

    Hinweis:

    Um GSLB zu aktivieren, benötigen Sie eine zusätzliche Lizenz.

  6. Aktivieren Sie Port 53 für UDP und TCP in der VPX-Sicherheitsgruppe, damit Citrix ADC VPX DNS-Datenverkehr empfangen kann. Aktivieren Sie außerdem den TCP-Port 22 für SSH und den TCP-Portbereich 3008—3011 für den GSLB-Metrikaustausch.

    Informationen zum Hinzufügen von Regeln zur Sicherheitsgruppe finden Sie unter Hinzufügen von Regeln zu einer Sicherheitsgruppe.

  7. Fügen Sie mit dem folgenden Befehl einen Nameserver zu Citrix ADC VPX hinzu:

    add nameserver *nameserver IP*
    

Bereitstellung von Citrix ADC VPX in Azure

Sie können eine eigenständige Citrix ADC VPX-Instanz auf einem AKS-Cluster ausführen oder zwei Citrix ADC VPX-Instanzen im Hochverfügbarkeitsmodus auf dem AKS-Cluster ausführen.

Stellen Sie bei der Installation sicher, dass der AKS-Cluster über Konnektivität mit den VPX-Instanzen verfügen muss. Um die Konnektivität sicherzustellen, können Sie Citrix ADC VPX im selben virtuellen Netzwerk (VNet) auf dem AKS-Cluster in einer anderen Ressourcengruppe installieren.

Wählen Sie bei der Installation des Citrix ADC VPX das VNet aus, in dem der AKS-Cluster installiert ist. Alternativ können Sie VNet-Peering verwenden, um die Konnektivität zwischen AKS und Citrix ADC VPX sicherzustellen, wenn der VPX in einem anderen VNet als dem AKS-Cluster bereitgestellt wird.

  1. Installieren Sie Citrix ADC VPX in AWS. Informationen zur Installation von Citrix ADC VPX in AKS finden Sie unter Bereitstellen einer Citrix ADC VPX-Instanz auf Microsoft Azure.

    Sie müssen über ein SNIP mit öffentlicher IP für die GSLB-Synchronisierung und den ADNS-Dienst verfügen. Wenn SNIP bereits vorhanden ist, ordnen Sie ihm eine öffentliche IP-Adresse zu.

  2. Zum Zuordnen wählen Sie Home > Ressourcengruppe > VPX-Instanz > VPX-NIC-Instanz. Ordnen Sie eine öffentliche IP-Adresse zu, wie in der folgenden Abbildung gezeigt. Klicken Sie auf Speichern, um die Änderungen zu speichern.

    schnipsen

  3. Melden Sie sich bei der Azure Citrix ADC VPX-Instanz an und fügen Sie die sekundäre IP als SNIP hinzu, wobei der Verwaltungszugriff mit dem folgenden Befehl aktiviert ist:

    add ip 10.240.0.11 255.255.0.0 -type SNIP -mgmtAccess ENABLED
    

    Wenn die Ressource vorhanden ist, können Sie den folgenden Befehl verwenden, um den Verwaltungszugriff festzulegen, der für die vorhandene Ressource aktiviert ist.

    set ip 10.240.0.11 -mgmtAccess ENABLED
    
  4. Aktivieren Sie CS-, LB-, SSL- und GSLB-Funktionen in der Citrix ADC VPX mit dem folgenden Befehl:

    enable feature *feature*
    

    Um über SSH auf die Citrix ADC VPX-Instanz zuzugreifen, müssen Sie die Regel für eingehende Port für den SSH-Port in der Azure-Netzwerksicherheitsgruppe aktivieren, die an die primäre Schnittstelle von Citrix ADC VPX angeschlossen ist.

  5. Aktivieren Sie die Regel für eingehenden Datenverkehr für die folgenden Ports in der Netzwerksicherheitsgruppe im Azure-Portal.

    • TCP: 3008-3011 für den metrischen GSLB-Austausch
    • TCP: 22 für SSH
    • TCP und UDP: 53 für DNS
  6. Fügen Sie mit dem folgenden Befehl einen Nameserver zu Citrix ADC VPX hinzu:

    add nameserver *nameserver IP*
    

Konfigurieren des ADNS-Dienstes in Citrix ADC VPX, bereitgestellt in AWS und Azure

Der ADNS-Dienst in Citrix ADC VPX fungiert als autorisierendes DNS für Ihre Domäne. Weitere Informationen zum ADNS-Dienst finden Sie unter Autorisierender DNS-Dienst.

  1. Melden Sie sich bei AWS Citrix ADC VPX an und konfigurieren Sie den ADNS-Dienst auf der sekundären IP-Adresse und Port 53 mit dem folgenden Befehl:

    add service Service-ADNS-1 192.168.211.73 ADNS 53
    

    Überprüfen Sie die Konfiguration mit dem folgenden Befehl:

    show service Service-ADNS-1
    
  2. Melden Sie sich bei Azure Citrix ADC VPX an und konfigurieren Sie den ADNS-Dienst auf der sekundären IP-Adresse und Port 53 mit dem folgenden Befehl:

    add service Service-ADNS-1 10.240.0.8 ADNS 53
    

    Überprüfen Sie die Konfiguration mit dem folgenden Befehl:

    show service Service-ADNS-1  
    
  3. Aktualisieren Sie nach dem Erstellen von zwei ADNS-Diensten für die Domäne den NS-Datensatz der Domäne, sodass er auf die ADNS-Dienste im Domain-Registrar verweist.

    Erstellen Sie beispielsweise einen A-Datensatz, der auf die öffentliche IP-Adresse des ADNS-Dienstes ns1.domain.com verweist. Der NS-Datensatz für die Domäne muss auf ns1.domain.com verweisen.

Konfigurieren des GSLB Service in Citrix ADC VPX, bereitgestellt in AWS und Azure

Sie müssen GSLB-Sites auf Citrix ADC VPX erstellen, die auf AWS und Azure bereitgestellt werden.

  1. Melden Sie sich bei AWS Citrix ADC VPX an und konfigurieren Sie GSLB-Sites auf der sekundären IP-Adresse mit dem folgenden Befehl. Geben Sie außerdem die öffentliche IP-Adresse mithilfe des Arguments —publicIP an. Zum Beispiel:

    add gslb site aws_site 192.168.197.18 -publicIP 3.139.156.175
    
    add gslb site azure_site 10.240.0.11 -publicIP 23.100.28.121
    
  2. Melden Sie sich bei Azure Citrix ADC VPX an und konfigurieren Sie GSLB-Sites. Zum Beispiel:

    add gslb site aws_site 192.168.197.18 -publicIP 3.139.156.175
    
    add gslb site azure_site 10.240.0.11 -publicIP 23.100.28.121
    
  3. Stellen Sie sicher, dass die GSLB-Synchronisierung erfolgreich ist, indem Sie mit dem folgenden Befehl eine Synchronisierung von einer der Sites aus initiieren:

    sync gslb config –debug
    

Hinweis:

Wenn die Erstsynchronisierung fehlschlägt, überprüfen Sie die Sicherheitsgruppen in AWS und Azure, um die erforderlichen Ports zuzulassen.

Wenden Sie GTP- und GSE-CRDs auf AWS- und Azure Kubernetes-Clustern an

Die CRDs für globale Verkehrsrichtlinien (GTP) und Global Service Entry (GSE) helfen bei der Konfiguration von Citrix ADC für die Ausführung von GSLB in Kubernetes-Anwendungen. Diese CRDs wurden für die Konfiguration von Multi-Cluster-Eingangs- und Lastausgleichslösungen für Kubernetes-Cluster entwickelt.

GTP-CRD

Die GTP-CRD akzeptiert die Parameter für die Konfiguration von GSLB auf dem Citrix ADC, einschließlich Bereitstellungstyp (Canary, Failover und lokal zuerst), GSLB-Domäne, Integritätsmonitor für den Eingang und Diensttyp.

Informationen zur GTP-CRD-Definition finden Sie in der GTP-CRD. Wenden Sie die GTP-CRD-Definition mit dem folgenden Befehl auf AWS- und Azure Kubernetes-Clustern an:

kubectl apply -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/multicluster/Manifest/gtp-crd.yaml

GSE-CRD

Die GSE-CRD gibt die Endpunktinformationen (Informationen zu jedem Kubernetes-Objekt, das den Datenverkehr in den Cluster leitet) in jedem Cluster an. Der globale Serviceeintrag wählt automatisch die externe IP-Adresse der Anwendung aus, die den Datenverkehr in den Cluster leitet. Wenn sich die externe IP-Adresse der Routen ändert, wählt der globale Diensteintrag eine neu zugewiesene IP-Adresse aus und konfiguriert die Multi-Cluster-Endpunkte der Citrix ADCs entsprechend.

Die GSE-CRD-Definition finden Sie unter GSE-CRD. Wenden Sie die GSE-CRD-Definition mit dem folgenden Befehl auf AWS- und Azure Kubernetes-Clustern an:

kubectl apply -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/multicluster/Manifest/gse-crd.yaml

Multicluster-Controller bereitstellen

Mit dem Multi-Cluster-Controller können Sie die Hochverfügbarkeit der Anwendungen über Cluster hinweg in einer Multi-Cloud-Umgebung sicherstellen.

Sie können den Multi-Cluster-Controller auf den AWS- und Azure-Clustern installieren. Der Multi-Cluster-Controller hört GTP- und GSE-CRDs und konfiguriert den Citrix ADC für GSLB, der in einer Multi-Cloud-Umgebung Hochverfügbarkeit über mehrere Regionen hinweg bietet.

Um den Multi-Cluster-Controller bereitzustellen, führen Sie die folgenden Schritte aus:

  1. Erstellen Sie einen RBAC für den Ingress-Controller mit mehreren Clustern auf den AWS- und Azure Kubernetes-Clustern.

    kubectl apply -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/multicluster/Manifest/gslb-rbac.yaml
    
  2. Erstellen Sie die Secrets in den AWS- und Azure-Clustern mit dem folgenden Befehl:

    Hinweis:

    Mit Secrets kann der GSLB-Controller eine Verbindung herstellen und die Konfiguration an die GSLB-Geräte übertragen.

    kubectl create secret generic secret-1 --from-literal=username=<username> --from-literal=password=<password>
    

    Hinweis:

    Sie können mit dem add system user Befehl einen Benutzer zu Citrix ADC hinzufügen.

  3. Laden Sie die GSLB-Controller-YAML-Datei von gslb-controller.yamlherunter.

  4. Wenden Sie den gslb-controller.yaml in einem AWS-Cluster mit dem folgenden Befehl an:

    kubectl apply -f  gslb-controller.yaml
    

    Bearbeiten Sie für die AWS-Umgebung den, gslb-controller.yaml um die Umgebungsvariablen LOCAL_REGION, LOCAL_CLUSTER und SITENAMES zu definieren.

    Das folgende Beispiel definiert die Umgebungsvariable LOCAL_REGION als us-east-2 und LOCAL_CLUSTER als eks-cluster und die SITENAMES Umgebungsvariable als aws_site, azure_site.

    name: "LOCAL_REGION"
    value: "us-east-2"
    name: "LOCAL_CLUSTER"
    value: "eks-cluster"
    name: "SITENAMES"
    value: "aws_site,azure_site"
    name: "aws_site_ip"
    value: "NSIP of aws VPX(internal IP)"
    name: "aws_site_region"
    value: "us-east-2"
    name: "azure_site_ip"
    value: "NSIP of azure_VPX(public IP)"
    name: "azure_site_region"
    value: "central-india"
    name: "azure_site_username"
    valueFrom:
      secretKeyRef:
       name: secret-1
       key: username
    name: "azure_site_password"
    valueFrom:
      secretKeyRef:
       name: secret-1
       key: password
    name: "aws_site_username"
    valueFrom:
      secretKeyRef:
       name: secret-1
       key: username
    name: "aws_site_password"
    valueFrom:
      secretKeyRef:
       name: secret-1
       key: password
    

    Wenden Sie die gslb-controller.yaml im Azure-Cluster mit dem folgenden Befehl an:

    kubectl apply -f  gslb-controller.yaml
    
  5. Bearbeiten Sie für die Azure-Site die gslb-controller.yaml zu LOCAL_REGIONLOCAL_CLUSTERdefinierenden SITENAMES Umgebungsvariablen und.

    Im folgenden Beispiel wird die Umgebungsvariable LOCAL_REGION als Zentralindien, LOCAL_CLUSTER als Azure-Clusterund SITENAMES als aws_site, azure_sitedefiniert.

    name: "LOCAL_REGION"
    value: "central-india"
    name: "LOCAL_CLUSTER"
    value: "aks-cluster"
    name: "SITENAMES"
    value: "aws_site,azure_site"
    name: "aws_site_ip"
    value: "NSIP of AWS VPX(public IP)"
    name: "aws_site_region"
    value: "us-east-2"
    name: "azure_site_ip"
    value: "NSIP of azure VPX(internal IP)"
    name: "azure_site_region"
    value: "central-india"
    name: "azure_site_username"
    valueFrom:
      secretKeyRef:
       name: secret-1
       key: username
    name: "azure_site_password"
    valueFrom:
      secretKeyRef:
       name: secret-1
       key: password
    name: "aws_site_username"
    valueFrom:
      secretKeyRef:
       name: secret-1
       key: username
    name: "aws_site_password"
    valueFrom:
      secretKeyRef:
       name: secret-1
       key: password
    

    Hinweis: Die Reihenfolge der GSLB-Site-Informationen sollte in allen Clustern gleich sein. Der erste Standort in der Bestellung wird als Master-Site für das Pushen der Konfiguration betrachtet. Immer wenn die Master-Site ausfällt, wird die nächste Site in der Liste zum neuen Master. Daher sollte die Reihenfolge der Sites in allen Kubernetes-Clustern gleich sein.

Bereitstellen einer Beispielanwendung

In diesem Beispielsszenario für eine Anwendungsbereitstellung wird ein https Image von Apache verwendet. Sie können jedoch die Musteranwendung Ihrer Wahl wählen.

Die Anwendung wird als Typ LoadBalancer sowohl in AWS- als auch in Azure-Clustern bereitgestellt. Sie müssen die Befehle sowohl in AWS- als auch in Azure Kubernetes-Clustern ausführen.

  1. Erstellen Sie mit dem folgenden Befehl eine Bereitstellung einer Apache-Beispielanwendung:

    kubectl create deploy apache --image=httpd:latest port=80
    
  2. Stellen Sie die Apache-Anwendung mit dem folgenden Befehl als Dienst vom Typ LoadBalancer bereit:

    kubectl expose deploy apache --type=LoadBalancer --port=80
    
  3. Stellen Sie mit dem folgenden Befehl sicher, dass eine externe IP-Adresse für den Dienst vom Typ LoadBalancer zugewiesen wurde:

    kubectl get svc apache
    NAME     TYPE           CLUSTER-IP    EXTERNAL-IP     PORT(S)        AGE
    apache   LoadBalancer   10.0.16.231   20.62.235.193   80:32666/TCP   3m2s
    

Nach der Bereitstellung der Anwendung auf AWS- und Azure-Clustern müssen Sie die benutzerdefinierte GTE-Ressource für die Konfiguration der Hochverfügbarkeit in den Multi-Cloud-Clustern konfigurieren.

Erstellen Sie eine GTP-YAML-Ressourcegtp_isntance.yaml, wie im folgenden Beispiel gezeigt.

apiVersion: "citrix.com/v1beta1"
 kind: globaltrafficpolicy
 metadata:
   name: gtp-sample-app
   namespace: default
 spec:
   serviceType: 'HTTP'
   hosts:
   - host: <domain name>
     policy:
       trafficPolicy: 'FAILOVER'
       secLbMethod: 'ROUNDROBIN'
       targets:
       - destination: 'apache.default.us-east-2.eks-cluster'
         weight: 1
       - destination: 'apache.default.central-india.aks-cluster'
         primary: false
         weight: 1
       monitor:
       - monType: http
         uri: ''
         respCode: 200
   status:
     {}
<!--NeedCopy-->

In diesem Beispiel ist die Verkehrsrichtlinie als konfiguriert FAILOVER. Der Multi-Cluster-Controller unterstützt jedoch mehrere Verkehrsrichtlinien. Weitere Informationen finden Sie in der Dokumentation zu den Verkehrsrichtlinien.

Wenden Sie die GTP-Ressource in beiden Clustern mit dem folgenden Befehl an:

kubectl apply -f gtp_instance.yaml

Sie können überprüfen, ob die GSE-Ressource automatisch in beiden Clustern mit den erforderlichen Endpunktinformationen erstellt wird, die aus dem Dienststatus abgeleitet werden. Prüfen Sie mit dem folgenden Befehl:

kubectl get gse 
kubectl get gse *name* -o yaml

Melden Sie sich außerdem bei Citrix ADC VPX an und stellen Sie mit dem folgenden Befehl sicher, dass die GSLB-Konfiguration erfolgreich erstellt wurde:

show gslb runningconfig

Da die GTP-CRD für die Verkehrsrichtlinie als konfiguriert ist FAILOVER, dienen Citrix ADC VPX-Instanzen den Datenverkehr vom primären Cluster (EKS-Cluster in diesem Beispiel).

curl -v http://*domain_name* 

Wenn jedoch ein Endpunkt im EKS-Cluster nicht verfügbar ist, werden Anwendungen automatisch vom Azure-Cluster aus bedient. Sie können dies sicherstellen, indem Sie die Anzahl der Replikate im primären Cluster auf 0 festlegen.

Citrix ADC VPX als Ingress- und GSLB-Gerät für Amazon EKS- und Microsoft AKS-Cluster

Sie können die Multi-Cloud- und Multi-Cluster-Ingress- und Load-Balancing-Lösung mit Amazon EKS und Microsoft AKS mit Citrix ADC VPX als GSLB und demselben Citrix ADC VPX auch als Eingangsgerät bereitstellen.

Um den Multi-Cloud-Multi-Cluster-Ingress und Load Balancing mit Citrix ADC VPX als Eingangsgerät bereitzustellen, müssen Sie die folgenden Aufgaben ausführen, die in den vorherigen Abschnitten beschrieben wurden:

  1. Bereitstellen von Citrix ADC VPX in AWS
  2. Bereitstellen von Citrix ADC VPX in Azure
  3. Konfigurieren Sie den ADNS-Dienst auf Citrix ADC VPX, das in AWS und AKS bereitgestellt wird
  4. Konfigurieren Sie den GSLB-Dienst auf Citrix ADC VPX, das in AWS und AKS bereitgestellt wird
  5. Wenden Sie GTP- und GSE-CRDs auf AWS- und Azure Kubernetes-Clustern an
  6. Bereitstellen des Multicluster-Controllers

Führen Sie nach Abschluss der vorherigen Aufgaben die folgenden Aufgaben aus:

  1. Konfigurieren von Citrix ADC VPX als Ingress-Gerät für AWS
  2. Konfigurieren von Citrix ADC VPX als Ingress-Gerät für Azure

Konfigurieren von Citrix ADC VPX als Ingress-Gerät für AWS

Gehen Sie wie folgt vor:

  1. Erstellen Sie Citrix ADC VPX-Anmeldeinformationen mit dem Kubernetes-Secret

    kubectl create secret  generic nslogin --from-literal=username='nsroot' --from-literal=password='<instance-id-of-vpx>'
    

    Das Citrix ADC VPX-Kennwort ist normalerweise die Instanz-ID des VPX, wenn Sie es nicht geändert haben.

  2. Konfigurieren Sie SNIP in der Citrix ADC VPX, indem Sie mithilfe von SSH eine Verbindung zum Citrix ADC VPX herstellen. SNIP ist die sekundäre IP-Adresse von Citrix, einem VPX, dem die elastische IP-Adresse nicht zugewiesen ist.

    add ns ip 192.168.84.93 255.255.224.0
    

    Dieser Schritt ist erforderlich, damit Citrix ADC mit den Pods im Kubernetes-Cluster interagieren kann.

  3. Aktualisieren Sie die Citrix ADC VPX-Verwaltungs-IP-Adresse und VIP im Citrix Ingress Controller-Manifest.

    wget https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/aws/quick-deploy-cic/manifest/cic.yaml
    

    Hinweis:

    Wenn Sie nicht wget installiert haben, können Sie fetch oder curl verwenden.

  4. Aktualisieren Sie die primäre IP-Adresse von Citrix ADC VPX in cic.yaml im folgenden Feld.

    # Set NetScaler NSIP/SNIP, SNIP in case of HA (mgmt has to be enabled) 
     - name: "NS_IP"
       value: "X.X.X.X"
    
  5. Aktualisieren Sie den Citrix ADC VPX VIP in cic.yaml im folgenden Feld. Dies ist die private IP-Adresse, der Sie eine elastische IP-Adresse zugewiesen haben.

    # Set NetScaler VIP for the data traffic
    - name: "NS_VIP"
      value: "X.X.X.X"
    
  6. Nachdem Sie die YAML-Datei mit den erforderlichen Werten bearbeitet haben, stellen Sie den Citrix Ingress Controller bereit.

    kubectl create -f cic.yaml
    

Konfigurieren von Citrix ADC VPX als Ingress-Gerät für Azure

Gehen Sie wie folgt vor:

  1. Erstellen Sie Citrix ADC VPX-Anmeldeinformationen mithilfe von Kubernetes-Geheimnissen.

    kubectl create secret  generic nslogin --from-literal=username='<azure-vpx-instance-username>' --from-literal=password='<azure-vpx-instance-password>'
    

    Hinweis:

    Der Benutzername und das Kennwort für Citrix ADC VPX sollten mit den Anmeldeinformationen übereinstimmen, die beim Erstellen von Citrix ADC VPX in Azure festgelegt wurden.

  2. Konfigurieren Sie mithilfe von SSH ein SNIP in der Citrix ADC VPX, der sekundären IP-Adresse des Citrix ADC VPX. Dieser Schritt ist erforderlich, damit der Citrix ADC mit Pods innerhalb des Kubernetes-Clusters interagieren kann.

    add ns ip <snip-vpx-instance-private-ip> <vpx-instance-primary-ip-subnet>
    
    • snip-vpx-instance-private-ip ist die dynamische private IP-Adresse, die beim Hinzufügen eines SNIP während der Citrix ADC VPX-Instanzerstellung zugewiesen wurde.

    • vpx-instance-primary-ip-subnet ist das Subnetz der primären privaten IP-Adresse der Citrix ADC VPX-Instanz.

    Um das Subnetz der privaten IP-Adresse zu überprüfen, rufen Sie SSH in die Citrix ADC VPX-Instanz auf und verwenden Sie den folgenden Befehl.

      show ip <primary-private-ip-addess>
    
  3. Aktualisieren Sie die Citrix ADC VPX-Image-URL, die Management-IP-Adresse und den VIP in der YAML-Datei des Citrix Ingress Controller.

    1. Laden Sie die Citrix Ingress Controller-YAML-Datei herunter.

      wget https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/azure/manifest/azurecic/cic.yaml
      

      Hinweis:

      Wenn Sie nicht wget installiert haben, können Sie den Befehl fetch oder curl verwenden.

    2. Aktualisieren Sie das Citrix Ingress Controller-Image mit der Azure-Image-URL in der Datei cic.yaml.

      - name: cic-k8s-ingress-controller
        # CIC Image from Azure
        image: "<azure-cic-image-url>"
      
    3. Aktualisieren Sie die primäre IP-Adresse des Citrix ADC VPX in cic.yaml mit der primären privaten IP-Adresse der Azure VPX-Instanz.

      # Set NetScaler NSIP/SNIP, SNIP in case of HA (mgmt has to be enabled) 
      - name: "NS_IP"
        value: "X.X.X.X"
      
    4. Aktualisieren Sie den Citrix ADC VPX VIP in cic.yaml mit der privaten IP-Adresse des VIP, der während der VPX Azure-Instanzerstellung zugewiesen wurde.

      # Set NetScaler VIP for the data traffic
      - name: "NS_VIP"
        value: "X.X.X.X"
      
  4. Nachdem Sie den Citrix Ingress Controller mit den erforderlichen Werten konfiguriert haben, stellen Sie den Citrix Ingress Controller mit dem folgenden Befehl bereit.

        kubectl create -f cic.yaml