Citrix ADC Ingress Controller

Bereitstellen Citrix Ingress Controller in einem Azure Kubernetes Service-Cluster mit Citrix ADC VPX

In diesem Thema wird erläutert, wie der Citrix Ingress Controller mit Citrix ADC VPX in einem Azure Kubernetes Service (AKS) -Cluster bereitgestellt wird. Sie können den Kubernetes-Cluster auch auf Azure-VMs konfigurieren und dann den Citrix Ingress Controller mit Citrix ADC VPX bereitstellen.

Das Verfahren für die Bereitstellung sowohl für AKS als auch für Azure VM ist dasselbe. Wenn Sie jedoch Kubernetes auf Azure-VMs konfigurieren, müssen Sie das CNI-Plug-in für den Kubernetes-Cluster bereitstellen.

Voraussetzungen

Sie sollten die folgenden Aufgaben ausführen, bevor Sie die Schritte des Verfahrens ausführen.

Topologie

Im Folgenden finden Sie eine Beispieltopologie, die in dieser Bereitstellung verwendet wird.

einstufig

Holen Sie sich eine Citrix ADC VPX-Instanz von Azure Marketplace

Sie können Citrix ADC VPX vom Azure Marketplace aus erstellen. Weitere Informationen zum Erstellen einer Citrix ADC VPX-Instanz aus Azure Marketplace finden Sie unter Holen Sie sich Citrix ADC VPX von Azure Marketplace.

Holen Sie sich den Citrix Ingress Controller von Azure Marketplace

Um den Citrix Ingress Controller bereitzustellen, sollte eine Image-Registrierung in Azure erstellt werden und die entsprechende Image-URL sollte verwendet werden, um das Citrix Ingress Controller-Image abzurufen.

Weitere Informationen zum Erstellen einer Registrierung und zum Abrufen der Image-URL finden Sie unter Abrufen des Citrix Ingress Controller von Azure Marketplace.

Sobald eine Registrierung erstellt wurde, sollte der Registrierungsname des Citrix Ingress Controller an den für die Bereitstellung verwendeten AKS-Cluster angehängt werden.

    az aks update -n <cluster-name> -g <resource-group-where-aks-deployed> --attach-acr <cic-registry>

Citrix Ingress Controller bereitstellen

Führen Sie die folgenden Schritte aus, um den Citrix Ingress Controller bereitzustellen.

  1. Erstellen Sie Citrix ADC VPX-Anmeldeinformationen mit dem Kubernetes-Schlüssel.

    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 Verwaltungs-IP 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 curl Befehl fetch oder verwenden.

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

      - 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 cic.yaml im folgenden Feld 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 im folgenden Feld mit der privaten IP-Adresse des VIP, der bei 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
    

Überprüfen der Bereitstellung mit einer Beispielanwendung

  1. Stellen Sie die erforderliche Anwendung in Ihrem Kubernetes-Cluster bereit und stellen Sie sie mit dem folgenden Befehl als Dienst in Ihrem Cluster bereit.

    kubectl create -f  https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/azure/manifest/azurecic/apache.yaml
    
  2. Erstellen Sie die Ingress-Ressource mit dem folgenden Befehl.

    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/azure/manifest/azurecic/ingress.yaml
    
  3. Verwenden Sie den folgenden Befehl, um Ihre Bereitstellung zu überprüfen.

    $ curl --resolve citrix-ingress.com:80:<Public-ip-address-of-VIP> http://citrix-ingress.com
    <html><body><h1>It works!</h1></body></html>
    

    Die Antwort wird vom Beispiel-Microservice (Apache) empfangen, der sich innerhalb des Kubernetes-Clusters befindet. Citrix ADC VPX hat die Anforderung mit Lastenausgleich versehen.

Bereitstellen Citrix Ingress Controller in einem Azure Kubernetes Service-Cluster mit Citrix ADC VPX