Citrix ADC Ingress Controller

Bereitstellen von Citrix ADC CPX als Ingress-Gerät in der Google Cloud Platform

In diesem Thema wird erläutert, wie Citrix ADC CPX als Eingangsgerät in Google Kubernetes Engine (GKE)bereitgestellt wird

Voraussetzungen

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

  • Stellen Sie sicher, dass Sie über einen Kubernetes-Cluster verfügen.

  • Wenn Sie Ihren Cluster in GKE ausführen, stellen Sie sicher, dass Sie eine Cluster-Admin-Rollenbindung konfiguriert haben.

Sie können den folgenden Befehl verwenden, um die Cluster-Admin-Rollenbindung zu konfigurieren.

kubectl create clusterrolebinding citrix-cluster-admin --clusterrole=cluster-admin --user=<email-id of your google account>

Sie können Ihre Google-Kontodetails mit dem folgenden Befehl abrufen.

gcloud info | grep Account

Bereitstellen von Citrix ADC CPX als Eingangsgerät in der Google Cloud Platform

  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/gcp/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/gcp/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/gcp/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/gcp/manifest/cpx_service.yaml
    

Hinweis:

Mit diesem Befehl wird ein Load Balancer mit einer externen IP für den Empfang von Datenverkehr erstellt.

  1. Ü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.7.248.216 |none |  80/TCP | 2m |
    |cpx-ingress |LoadBalancer | 10.7.241.6 |  pending | 80:32258/TCP,443:32084/TCP | 2m|
    |kubernetes |ClusterIP |10.7.240.1 |none | 443/TCP | 22h|
    
  2. 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.7.248.216|none|80/TCP |3m|
    |cpx-ingress|LoadBalancer|10.7.241.6|EXTERNAL-IP CREATED|80:32258/TCP,443:32084/TCP|3m|
    |kubernetes| ClusterIP| 10.7.240.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 des Citrix ADC CPX-Dienstes 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.

  3. 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/gcp/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 denkubectl delete -f all-in-one.yaml Befehl.

Bereitstellen von Citrix ADC CPX als Ingress-Gerät in der Google Cloud Platform