Citrix ADC Ingress Controller

Bereitstellen von Citrix ADC CPX als Ingress-Gerät in einem Azure Kubernetes Service-Cluster

In diesem Thema wird erläutert, wie Citrix ADC CPX als Eingangsgerät in einem Azure Kubernetes Service (AKS) -Cluster bereitgestellt wird. Citrix ADC CPX unterstützt sowohl den Advanced Networking (Azure CNI) als auch den Basic Networking (Kubenet) -Modus von AKS.

Hinweis:

Wenn Sie Azure-Repository-Images für Citrix ADC CPX oder den Citrix Ingress Controller anstelle der standardmäßigen quay.io-Images verwenden möchten, lesen Sie Bereitstellen von Citrix ADC CPX als Ingress-Gerät in einem AKS-Cluster mithilfe von Azure-Repository-Images.

Bereitstellen von Citrix ADC CPX als Ingress-Gerät in einem AKS-Cluster

Führen Sie die folgenden Schritte aus, um Citrix ADC CPX als Eingangsgerät in einem AKS-Cluster bereitzustellen.

Hinweis:

Bei diesem Verfahren wird der Apache-Webserver als Beispielanwendung verwendet.

  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/apache.yaml
    

    Hinweis:

    In diesem Beispiel wird apache.yaml verwendet. Sie sollten die spezifische YAML-Datei für Ihre Anwendung verwenden.

  2. Stellen Sie Citrix ADC CPX mit dem folgenden Befehl als Ingress-Gerät im Cluster bereit.

    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/azure/manifest/standalone_cpx.yaml
    
  3. Erstellen Sie die Eingangsressource mit dem folgenden Befehl.

    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/azure/manifest/cpx_ingress.yaml
    
  4. Erstellen Sie mit dem folgenden Befehl einen Dienst vom Typ LoadBalancer für den Zugriff auf den Citrix ADC CPX.

    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/azure/manifest/cpx_service.yaml
    

    Mit diesem Befehl wird ein Azure Load Balancer mit einer externen IP zum Empfangen von Datenverkehr erstellt.

  5. Überprüfen Sie den Dienst und überprüfen Sie, ob der Load Balancer eine externe IP erstellt hat. Warten Sie einige Zeit, wenn die externe IP nicht erstellt wurde.

    kubectl  get svc
    
    |NAME|TYPE|CLUSTER-IP|EXTERNAL-IP|PORT(S)| AGE|
    |----|----|-----|-----|----|----|
    |apache |ClusterIP|10.0.103.3|none|   80/TCP | 2m|
    |cpx-ingress |LoadBalancer |10.0.37.255 | pending |80:32258/TCP,443:32084/TCP |2m|
    |Kubernetes |ClusterIP | 10.0.0.1 |none |  443/TCP | 22h |
    
  6. Sobald die externe IP für den Load Balancer wie folgt verfügbar ist, können Sie über die externe IP für den Load Balancer auf Ihre Ressourcen zugreifen.

    kubectl  get svc
    
    |NAME|TYPE|CLUSTER-IP|EXTERNAL-IP|PORT(S)|  AGE|
    |---|---|----|----|----|----|
    |apache|ClusterIP|10.0.103.3 |none|80/TCP|  3m|
    |cpx-ingress |LoadBalancer|10.0.37.255|  EXTERNAL-IP CREATED| 80:32258/TCP,443:32084/TCP |  3m|
    |Kubernetes|    ClusterIP|10.0.0.1 |none| 443/TCP| 22h|
    

    Hinweis:

    Die Integritätsprüfung für den Cloud-Load-Balancer wird von der ReadinesssProbe abgerufen, die in der YAML-Datei der Citrix ADC CPX-Bereitstellung konfiguriert ist. Wenn die Integritätsprüfung fehlschlägt, sollten Sie die für Citrix ADC CPX konfigurierte Readiness-Untersuchung überprüfen. Weitere Informationen finden Sie unter ReadinesssProbe und externem Load Balancer.

  7. Greifen Sie mit dem folgenden Befehl auf die Anwendung zu.

    curl http://<External-ip-of-loadbalancer>/ -H 'Host: citrix-ingress.com
    

Quick Deploy

Um die Bereitstellung zu vereinfachen, können Sie einfach ein einziges All-in-One-Manifest bereitstellen, das die im vorherigen Thema erläuterten Schritte kombiniert.

  1. Stellen Sie einen Citrix ADC CPX-Ingress mit integriertem Citrix Ingress Controller in Ihrem Kubernetes-Cluster mithilfe der All-in-One.yamlbereit.

    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/azure/manifest/all-in-one.yaml
    
  2. Greifen Sie mit dem folgenden Befehl auf die Anwendung zu.

    curl http://<External-ip-of-loadbalancer>/ -H 'Host: citrix-ingress.com'
    

    Hinweis:

    Um die Bereitstellung zu löschen, verwenden Sie den Befehl kubectl delete -f all-in-one.yaml.

Bereitstellen von Citrix ADC CPX als Ingress-Gerät in einem Azure Kubernetes Service-Cluster