Contrôleur d'entrée Citrix ADC

Déployer une solution Citrix pour un service de type LoadBalancer dans AWS

Un service de type LoadBalancer est un moyen plus simple et plus rapide d’exposer un microservice s’exécutant dans un cluster Kubernetes au monde extérieur. Dans les déploiements cloud, lorsque vous créez un service de type LoadBalancer, un équilibreur de charge géré dans le cloud est affecté au service. Le service est ensuite exposé à l’aide de l’équilibreur de charge. Pour plus d’informations sur les services de type LoadBalancer, consultez Services de type LoadBalancer.

Avec la solution Citrix pour service de type LoadBalancer, vous pouvez utiliser Citrix ADC pour équilibrer directement la charge et exposer un service au lieu de l’équilibreur de charge géré par le cloud. Citrix fournit cette solution pour le service de type LoadBalancer pour les environnements sur site et dans le cloud. Les services de type LoadBalancer sont pris en charge en mode natif dans les déploiements Kubernetes sur des clouds publics tels qu’AWS, GCP et Azure.

Lorsque vous déployez un service dans AWS, un équilibreur de charge est créé automatiquement et l’adresse IP est allouée au champ externe du service. Dans cette solution Citrix, le contrôleur IPAM Citrix alloue l’adresse IP et cette adresse IP est l’adresse IP virtuelle de Citrix ADC VPX. Le Citrix ingress controller, déployé dans un cluster Kubernetes, configure un Citrix ADC déployé en dehors du cluster pour équilibrer la charge du trafic entrant. Ainsi, le service est accessible via Citrix ADC VPX au lieu de l’équilibreur de charge cloud.

Vous devez spécifier le service type comme indiqué LoadBalancer dans la définition du service. Définition du champ type sur LoadBalancer pour provisionner un équilibreur de charge pour votre service sur AWS.

Le contrôleur IPAM Citrix est utilisé pour allouer automatiquement des adresses IP à des services de type LoadBalancer à partir d’une plage d’adresses IP spécifiée. Pour plus d’informations sur la solution Citrix pour les services de type LoadBalancer, consultez Exposer les services de type LoadBalancer.

Vous pouvez déployer la solution Citrix pour le service de type LoadBalancer dans AWS à l’aide de graphiques Helm ou de fichiers YAML.

Conditions préalables

  • Assurez-vous que le cluster Elastic Kubernetes Service (EKS) version 1.18 ou ultérieure est en cours d’exécution.
  • Assurez-vous que Citrix ADC VPX et EKS sont déployés et exécutés dans le même VPC. Pour plus d’informations sur la création de Citrix ADC VPX dans AWS, consultez Créer une instance Citrix ADC VPX à partir d’AWS Marketplace.

Déployer une solution Citrix pour un service de type LoadBalancer dans AWS à l’aide de graphiques Helm

Effectuez les étapes suivantes pour configurer la solution Citrix pour le service de type LoadBalancer à l’aide de graphiques Helm.

  1. Téléchargez le fichier unified-lb-values.yaml et modifiez le fichier YAML pour spécifier les détails suivants :

  2. Déployez le contrôleur IPAM Citrix et le Citrix ingress controller sur votre cluster Amazon EKS à l’aide du fichier YAML modifié. Utilisez les commandes suivantes :

    helm repo add citrix https://citrix.github.io/citrix-helm-charts/
    
    helm install serviceLB citrix/citrix-cloud-native -f values.yaml
    
  3. Déployez l’application et le service dans Amazon EKS :

    1. Ajoutez l’annotation suivante dans le manifeste de service :

      beta.kubernetes.io/aws-load-balancer-type: "external"
      
    2. Déployez l’application et le service avec l’annotation modifiée à l’aide de la commande suivante :

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

      Remarque : Le guestbook microservice est un exemple utilisé dans cette procédure. Vous pouvez déployer l’application de votre choix. Assurez-vous que le service doit être de type LoadBalancer et que le manifeste du service doit contenir l’annotation.

    3. Associez une adresse IP Elastic au VIP de Citrix ADC VPX.

    4. Accédez à l’application à l’aide d’un navigateur. Par exemple, http://EIP-associated-with-vip.

Déployer une solution Citrix pour un service de type LoadBalancer dans AWS à l’aide de YAML

Effectuez les étapes suivantes pour déployer la solution Citrix pour le service de type LoadBalancer à l’aide de YAML.

  1. Téléchargez le fichier citrix-k8s-ingress-controller.yaml et spécifiez les détails suivants.

    • NSIP de Citrix ADC VPX

    • Secret créé à l’aide des informations d’identification Citrix ADC VPX. Pour plus d’informations sur la création du secret, reportez-vous à la section Créer un secret.

    • Spécifiez l’argument pour le contrôleur IPAM Citrix :

       args:
         - --ipam
           citrix-ipam-controller
      
  2. Déployez le Citrix ingress controller à l’aide du YAML modifié.

    kubectl create -f citrix-k8s-ingress-controller.yaml
    
  3. Déployez le CRD VIP Citrix qui permet la communication entre le Citrix ingress controller et le contrôleur IPAM à l’aide de la commande suivante.

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

    Pour plus d’informations sur le déploiement du CRD VIP Citrix, consultez Déployer le CRD VIP.

  4. Déployez le contrôleur IPAM. Pour plus d’informations sur le déploiement du contrôleur IPAM, reportez-vous à la section Déployer le contrôleur IPAM.

    Remarque :

    Spécifiez la liste des VIP Citrix ADC VPX dans le champ VIP_RANGE du fichier YAML de déploiement IPAM.

  5. Déployez l’application avec le type de service LoadBalancer dans Amazon EKS en suivant les étapes suivantes :

    1. Ajoutez l’annotation suivante dans le manifeste de service.

      beta.kubernetes.io/aws-load-balancer-type: "external"
      
    2. Déployez l’application et le service avec l’annotation modifiée à l’aide de la commande suivante.

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

      Remarque :

      Le guestbook microservice est un exemple utilisé dans cette procédure. Vous pouvez déployer l’application de votre choix. Assurez-vous que le service doit être de type LoadBalancer et que le manifeste du service doit contenir l’annotation.

    3. Associez une adresse IP Elastic au VIP de Citrix ADC VPX.

    4. Accédez à l’application à l’aide d’un navigateur. Par exemple, http://EIP-associated-with-vip.

Déployer une solution Citrix pour un service de type LoadBalancer dans AWS