Contrôleur d'entrée Citrix ADC

Déployer le Citrix ingress controller dans un cluster Azure Kubernetes Service avec Citrix ADC VPX

Cette rubrique explique comment déployer le Citrix ingress controller avec Citrix ADC VPX dans un cluster Azure Kubernetes Service (AKS) . Vous pouvez également configurer le cluster Kubernetes sur des machines virtuelles Azure, puis déployer le Citrix ingress controller avec Citrix ADC VPX.

La procédure de déploiement pour la machine virtuelle AKS et Azure est la même. Toutefois, si vous configurez Kubernetes sur des machines virtuelles Azure, vous devez déployer le plug-in CNI pour le cluster Kubernetes.

Conditions préalables

Vous devez effectuer les tâches suivantes avant d’effectuer les étapes de la procédure.

  • Vérifiez que vous disposez d’un cluster Kubernetes opérationnel.

    Remarque :

    Pour plus d’informations sur la création d’un cluster Kubernetes dans AKS, consultez le Guide de création d’un cluster AKS.

Topologie

Voici l’exemple de topologie utilisé dans ce déploiement.

niveau unique

Obtenez une instance Citrix ADC VPX sur Azure Marketplace

Vous pouvez créer Citrix ADC VPX à partir d’Azure Marketplace. Pour plus d’informations sur la façon de créer une instance Citrix ADC VPX à partir d’Azure Marketplace, consultez Obtenir Citrix ADC VPX à partir d’Azure Marketplace.

Obtenez le Citrix ingress controller sur Azure Marketplace

Pour déployer le Citrix ingress controller, un registre d’images doit être créé sur Azure et l’URL de l’image correspondante doit être utilisée pour récupérer l’image du Citrix ingress controller.

Pour plus d’informations sur la façon de créer un registre et d’obtenir l’URL de l’image, consultez Obtenir le Citrix ingress controller auprès d’Azure Marketplace.

Une fois qu’un registre est créé, le nom de registre du Citrix ingress controller doit être attaché au cluster AKS utilisé pour le déploiement.

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

Déployer le Ingress Controller Citrix

Effectuez les étapes suivantes pour déployer le Citrix ingress controller.

  1. Créez des informations d’identification de connexion Citrix ADC VPX à l’aide du secret Kubernetes.

    kubectl create secret  generic nslogin --from-literal=username='<azure-vpx-instance-username>' --from-literal=password='<azure-vpx-instance-password>'
    

    Remarque :

    Le nom d’utilisateur et le mot de passe Citrix ADC VPX doivent être identiques aux informations d’identification définies lors de la création de Citrix ADC VPX sur Azure.

  2. À l’aide de SSH, configurez un SNIP dans Citrix ADC VPX, qui est l’adresse IP secondaire du Citrix ADC VPX. Cette étape est requise pour que Citrix ADC interagisse avec les espaces au sein du cluster Kubernetes.

    add ns ip <snip-vpx-instance-private-ip> <vpx-instance-primary-ip-subnet>
    
    • snip-vpx-instance-private-ip est l’adresse IP privée dynamique attribuée lors de l’ajout d’un SNIP lors de la création de l’instance Citrix ADC VPX.

    • vpx-instance-primary-ip-subnet est le sous-réseau de l’adresse IP privée principale de l’instance Citrix ADC VPX.

    Pour vérifier le sous-réseau de l’adresse IP privée, entrez en SSH dans l’instance Citrix ADC VPX et utilisez la commande suivante.

      show ip <primary-private-ip-addess>
    
  3. Mettez à jour l’URL de l’image Citrix ADC VPX, l’adresse IP de gestion et l’adresse IP virtuelle dans le fichier YAML du Citrix ingress controller.

    1. Téléchargez le fichier YAML du Citrix ingress controller.

      wget https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/azure/manifest/azurecic/cic.yaml
      

      Remarque :

      Si vous n’avez pas installé wget, vous pouvez utiliser la commande fetch ou curl.

    2. Mettez à jour l’image du Citrix ingress controller avec l’URL de l’image Azure dans le fichier cic.yaml.

      - name: cic-k8s-ingress-controller
        # CIC Image from Azure
        image: "<azure-cic-image-url>"
      
    3. Mettez à jour l’adresse IP principale de Citrix ADC VPX cic.yaml dans le champ suivant avec l’adresse IP privée principale de l’instance Azure VPX.

          # Set NetScaler NSIP/SNIP, SNIP in case of HA (mgmt has to be enabled)
          - name: "NS_IP"
          value: "X.X.X.X"
      
    4. Mettez à jour l’adresse IP virtuelle Citrix ADC VPX cic.yaml dans le champ suivant avec l’adresse IP privée du VIP attribué lors de la création de l’instance VPX Azure.

      # Set NetScaler VIP for the data traffic
      - name: "NS_VIP"
        value: "X.X.X.X"
      
  4. Une fois que vous avez configuré le Citrix ingress controller avec les valeurs requises, déployez le Citrix ingress controller à l’aide de la commande suivante.

       kubectl create -f cic.yaml
    

Vérifiez le déploiement à l’aide d’un exemple d’application

  1. Déployez l’application requise dans votre cluster Kubernetes et exposez-la en tant que service dans votre cluster à l’aide de la commande suivante.

    kubectl create -f  https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/azure/manifest/azurecic/apache.yaml
    
  2. Créez la ressource Ingress à l’aide de la commande suivante.

    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/azure/manifest/azurecic/ingress.yaml
    
  3. Pour valider votre déploiement, utilisez la commande suivante.

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

    La réponse est reçue de l’exemple de microservice (Apache) qui se trouve à l’intérieur du cluster Kubernetes. Citrix ADC VPX a équilibré la charge de la demande.

Déployer le Citrix ingress controller dans un cluster Azure Kubernetes Service avec Citrix ADC VPX