NetScaler Ingress Controller

Stellen Sie die Citrix Lösung für den Service des Typs LoadBalancer in AWS bereit

Ein Dienst vom Typ LoadBalancer ist eine einfachere und schnellere Möglichkeit, einen Microservice, der in einem Kubernetes-Cluster ausgeführt wird, der Außenwelt zugänglich zu machen. Wenn Sie in Cloud-Bereitstellungen einen Dienst vom Typ LoadBalancer erstellen, wird dem Dienst ein in der Cloud verwalteter Load Balancer zugewiesen. Der Dienst wird dann mithilfe des Load Balancers verfügbar gemacht. Weitere Hinweise zu Diensten des Typs LoadBalancer finden Sie unter Dienste des Typs LoadBalancer.

Mit der Citrix Lösung für Service vom Typ LoadBalancer können Sie NetScaler verwenden, um den Lastenausgleich direkt durchzuführen und einen Dienst anstelle des von der Cloud verwalteten Load Balancer verfügbar zu machen. NetScaler bietet diese Lösung für Dienste vom Typ LoadBalancer für On-Premise und Cloud. Services vom Typ LoadBalancer werden nativ in Kubernetes-Bereitstellungen in öffentlichen Clouds wie AWS, GCP und Azure unterstützt.

Wenn Sie einen Service in AWS bereitstellen, wird automatisch ein Load Balancer erstellt und die IP-Adresse wird dem externen Feld des Service zugewiesen. In dieser Citrix-Lösung wird durch die IP-Adresse zugewiesen und diese IP-Adresse ist der VIP von NetScaler VPX. Der NetScaler Ingress Controller, der in einem Kubernetes-Cluster bereitgestellt wird, konfiguriert einen NetScaler, der außerhalb des Clusters bereitgestellt wird, um den eingehenden Datenverkehr auszugleichen. Auf den Dienst wird also über NetScaler VPX anstelle des Cloud-Load Balancers zugegriffen.

Sie müssen den Dienst type wie LoadBalancer in der Dienstdefinition angeben. Festlegen des Felds type auf LoadBalancer stellt einen Load Balancer für Ihren Service in AWS bereit.

wird verwendet, um Diensten des Typs LoadBalancer automatisch IP-Adressen aus einem bestimmten Bereich von IP-Adressen zuzuweisen. Weitere Informationen zur Citrix Lösung für Dienste vom Typ LoadBalancer finden Sie unter Expose Services vom Typ LoadBalancer.

Sie können die Citrix Lösung für Service vom Typ LoadBalancer in AWS mithilfe von Helm-Diagrammen oder YAML-Dateien bereitstellen.

Voraussetzungen

  • Stellen Sie sicher, dass der Elastic Kubernetes Service (EKS) -Cluster Version 1.18 oder höher ausgeführt wird.
  • Stellen Sie sicher, dass NetScaler VPX und EKS in derselben VPC bereitgestellt werden und ausgeführt werden. Informationen zum Erstellen von NetScaler VPX in AWS finden Sie unter Erstellen einer NetScaler VPX-Instanz von AWS Marketplace.

Bereitstellen einer Citrix Lösung für Service vom Typ LoadBalancer in AWS mithilfe von Helm-Diagrammen

Führen Sie die folgenden Schritte aus, um die Citrix Lösung für den Dienst vom Typ LoadBalancer mithilfe von Helm-Diagrammen zu konfigurieren.

  1. Laden Sie die Datei unified-lb-values.yaml herunter und bearbeiten Sie die YAML-Datei, um die folgenden Details anzugeben:

  2. Stellen Sie den und den NetScaler Ingress Controller mithilfe der bearbeiteten YAML-Datei in Ihrem Amazon EKS-Cluster bereit. Verwenden Sie die folgenden Befehle:

    helm repo add citrix https://citrix.github.io/citrix-helm-charts/
    
    helm install serviceLB citrix/citrix-cloud-native -f values.yaml
    
  3. Stellen Sie die Anwendung und den Service in Amazon EKS bereit:

    1. Fügen Sie im Servicemanifest die folgende Anmerkung hinzu:

      beta.kubernetes.io/aws-load-balancer-type: "external"
      
    2. Stellen Sie die Anwendung und den Dienst mit der geänderten Anmerkung mithilfe des folgenden Befehls bereit:

      kubectl create -f https://github.com/citrix/citrix-k8s-ingress-controller/blob/master/docs/how-to/typeLB/aws/guestbook-all-in-one-lb.yaml
      

      Hinweis: Der guestbook Microservice ist ein Beispiel, das in diesem Verfahren verwendet wird. Sie können eine Anwendung Ihrer Wahl bereitstellen. Stellen Sie sicher, dass der Dienst vom Typ LoadBalancer sein sollte und das Service-Manifest die Annotation enthalten sollte.

    3. Ordnen Sie dem VIP von NetScaler VPX eine elastische IP-Adresse zu.

    4. Greifen Sie mit einem Browser auf die Anwendung zu. Zum Beispiel http://EIP-associated-with-vip.

Stellen Sie die Citrix Lösung für den Service des Typs LoadBalancer in AWS mithilfe von YAML bereit

Führen Sie die folgenden Schritte aus, um die Citrix Lösung für den Dienst vom Typ LoadBalancer mithilfe von YAML bereitzustellen.

  1. Laden Sie die citrix-k8s-ingress-controller.yaml-Datei herunter und geben Sie die folgenden Details an.

    • NetScaler VPX NSIP

    • Secret, das mit den NetScaler VPX-Anmeldeinformationen erstellt wurde. Informationen zum Erstellen des geheimen Schlüssels finden Sie unter Erstellen eines geheimen Schlüssels.

    • Geben Sie das Argument an für :

       args:
         - --ipam
           citrix-ipam-controller
      
  2. Stellen Sie den NetScaler Ingress Controller mithilfe des modifizierten YAML bereit.

    kubectl create -f citrix-k8s-ingress-controller.yaml
    
  3. Stellen Sie die NetScaler VIP CRD bereit, die Kommunikation zwischen dem NetScaler Ingress Controller und dem IPAM-Controller mithilfe des folgenden Befehls ermöglicht.

    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/crd/vip/vip.yaml
    

    Weitere Informationen zur Bereitstellung von NetScaler VIP CRD finden Sie unter Bereitstellender VIP CRD.

  4. Stellen Sie den IPAM-Controller bereit. Informationen zum Bereitstellen des IPAM-Controllers finden Sie unter Bereitstellen des IPAM-Controllers.

    Hinweis:

    Geben Sie die Liste der NetScaler VPX-VIPs im VIP_RANGE Feld der YAML-Datei der IPAM-Bereitstellung an.

  5. Stellen Sie die Anwendung mit dem Diensttyp LoadBalancer in Amazon EKS mithilfe der folgenden Schritte bereit:

    1. Fügen Sie im Servicemanifest die folgende Anmerkung hinzu.

      beta.kubernetes.io/aws-load-balancer-type: "external"
      
    2. Stellen Sie die Anwendung und den Dienst mit der geänderten Anmerkung mithilfe des folgenden Befehls bereit.

      kubectl create -f https://github.com/citrix/citrix-k8s-ingress-controller/blob/master/docs/how-to/typeLB/aws/guestbook-all-in-one-lb.yaml
      

      Hinweis:

      Der guestbook Microservice ist ein Beispiel, das in diesem Verfahren verwendet wird. Sie können eine Anwendung Ihrer Wahl bereitstellen. Stellen Sie sicher, dass der Dienst vom Typ LoadBalancer sein sollte und das Service-Manifest die Annotation enthalten sollte.

    3. Ordnen Sie dem VIP von NetScaler VPX eine elastische IP-Adresse zu.

    4. Greifen Sie mit einem Browser auf die Anwendung zu. Zum Beispiel http://EIP-associated-with-vip.

Stellen Sie die Citrix Lösung für den Service des Typs LoadBalancer in AWS bereit