Contrôleur d'entrée Citrix ADC

Comment configurer un déploiement à deux niveaux

Dans un déploiement à deux niveaux, Citrix ADC VPX ou MPX est déployé en dehors du cluster Kubernetes (niveau 1) et les Citrix ADC CPX sont déployés à l’intérieur du cluster Kubernetes (niveau 2).

Les appareils Citrix ADC MPX ou VPX de niveau 1 proxy le trafic (nord-sud) du client vers les Citrix ADC CPX de niveau 2. Le Citrix ADC CPX de niveau 2 achemine ensuite le trafic vers les microservices du cluster Kubernetes. Le Citrix ingress controller déployé en tant qu’espace autonome configure le Citrix ADC de niveau 1. De plus, le Citrix ingress controller annexe dans un ou plusieurs espaces Citrix ADC CPX configure le Citrix ADC CPX associé dans le même espace.

Le déploiement à deux niveaux peut être configuré sur Kubernetes dans un environnement bare metal ou sur des clouds publics tels qu’AWS, GCP ou Azure.

Le schéma suivant illustre un déploiement à deux niveaux :

Déploiement à deux niveaux

Processus d’installation

Le référentiel du Citrix ingress controller fournit un exemple de microservice Apache et des manifestes pour Citrix ADC CPX pour le niveau 2, un objet d’entrée pour Citrix ADC CPX de niveau 2, un Citrix ingress controller et un objet d’entrée pour Citrix ADC de niveau 1 à des fins de démonstration. Ces exemples sont utilisés dans le processus de configuration pour déployer une topologie à deux niveaux.

Procédez comme suit :

  1. Créez un cluster Kubernetes dans le cloud ou sur site. Le cluster Kubernetes dans le cloud peut être un Kubernetes géré (par exemple : GKE, EKS ou AKS) ou un déploiement Kubernetes personnalisé.

  2. Déployez Citrix ADC MPX ou VPX sur un mode de déploiement multi-cartes réseau en dehors du cluster Kubernetes.

    Effectuez les opérations suivantes après avoir déployé Citrix ADC VPX ou MPX :

    1. Configurez une adresse IP du sous-réseau du cluster Kubernetes en tant que SNIP sur Citrix ADC. Pour plus d’informations sur la configuration des SNIP dans Citrix ADC, consultez Configuration des adresses IP de sous-réseau (SNIP).

    2. Activez l’accès à la gestion pour le SNIP qui est le même sous-réseau du cluster Kubernetes. Le SNIP doit être utilisé comme variable NS_IP dans le fichier YAML du Citrix ingress controller pour permettre au Citrix ingress controller de configurer Citrix ADC de niveau 1.

      Remarque :

      Il n’est pas obligatoire d’utiliser SNIP en tant que NS_IP. Si l’adresse IP de gestion de Citrix ADC est accessible à partir du Citrix ingress controller, vous pouvez utiliser l’adresse IP de gestion en tant que NS_IP.

    3. Dans les déploiements cloud, activez le mode de transfert basé sur Mac sur le Citrix ADC VPX de niveau 1. Étant donné que Citrix ADC VPX est déployé en mode multi-cartes réseau, il n’aurait pas la route de retour pour atteindre le réseau CNI POD ou le réseau client. Par conséquent, vous devez activer le mode de transfert basé sur Mac sur Citrix ADC VPX de niveau 1 pour gérer ce scénario.

    4. Créez un compte utilisateur du système Citrix ADC spécifique au Citrix ingress controller. Le Citrix ingress controller utilise le compte d’utilisateur système pour configurer automatiquement Citrix ADC de niveau 1.

    5. Configurez votre pare-feu local ou vos groupes de sécurité sur votre cloud pour autoriser le trafic entrant vers les ports requis pour Citrix ADC. Le processus d’installation utilise les ports 80 et 443, vous pouvez modifier ces ports en fonction de vos besoins.

  3. Déployez un exemple de microservice. Utilisez la commande suivante :

    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/dual-tier/manifest/apache.yaml
    
  4. Déployez Citrix ADC CPX en tant qu’entrée de niveau 2. Utilisez la commande suivante :

    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/dual-tier/manifest/tier-2-cpx.yaml
    
  5. Créez un objet d’entrée pour le Citrix ADC CPX de niveau 2. Utilisez la commande suivante :

    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/dual-tier/manifest/ingress-tier-2-cpx.yaml
    
  6. Déployez le Citrix ingress controller pour Citrix ADC de niveau 1. Procédez comme suit :

    1. Téléchargez le fichier manifeste du Citrix ingress controller. Utilisez la commande suivante :

      wget https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/dual-tier/manifest/tier-1-vpx-cic.yaml
      
    2. Modifiez le fichier manifeste du Citrix ingress controller et entrez les valeurs des variables d’environnement suivantes :

      Variable d’environnement Obligatoire ou facultatif Description
      NS_IP Obligatoire L’adresse IP de l’appliance Citrix ADC. Pour plus de détails, consultez la section Prérequis.
      NS_USER et NS_PASSWORD Obligatoire Le nom d’utilisateur et le mot de passe de l’appliance Citrix ADC VPX ou MPX utilisée comme périphérique d’entrée. Pour plus de détails, consultez la section Prérequis.
      CONTRAT DE LICENCE Obligatoire Le contrat de licence de l’utilisateur final. Spécifiez la valeur comme Yes.
      NIVEAU DE JOURNAL Facultatif Les niveaux de journal pour contrôler les journaux générés par le Citrix ingress controller. Par défaut, la valeur est définie sur DEBUG. Les valeurs prises en charge sont : CRITICAL, ERROR, WARNING, INFO et DEBUG. Pour plus d’informations, voir Niveaux de journalisation
      NS_PROTOCOL et NS_PORT Facultatif Définit le protocole et le port qui doivent être utilisés par le Citrix ingress controller pour communiquer avec Citrix ADC. Par défaut, le Citrix ingress controller utilise HTTPS sur le port 443. Vous pouvez également utiliser HTTP sur le port 80.
      classes d’entrée Facultatif Si plusieurs équilibreurs de charge d’entrée sont utilisés pour équilibrer la charge de différentes ressources d’entrée. Vous pouvez utiliser cette variable d’environnement pour spécifier le Citrix ingress controller afin de configurer Citrix ADC associé à une classe d’entrée spécifique. Pour plus d’informations sur les classes Ingress, voir Prise en charge des classes Ingress
      NS_VIP Facultatif Le Citrix ingress controller utilise l’adresse IP fournie dans cette variable d’environnement pour configurer une adresse IP virtuelle pour Citrix ADC qui reçoit le trafic entrant. Remarque : NS_VIP est prioritaire sur l’annotation frontend-ip .
    3. Déployez le fichier manifeste du Citrix ingress controller mis à jour. Utilisez la commande suivante :

      kubectl create -f tier-1-vpx-cic.yaml
      
  7. Créez un objet d’entrée pour Citrix ADC de niveau 1. Utilisez la commande suivante :

    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/dual-tier/manifest/ingress-tier-1-vpx.yaml
    
  8. Mettez à jour les détails du serveur DNS dans le cloud ou sur site pour pointer votre site Web vers l’adresse IP virtuelle du Citrix ADC de niveau 1.

    Pa exemple : citrix-ingress.com 192.250.9.1

    Où se 192.250.9.1 trouve l’adresse IP virtuelle du Citrix ADC de niveau 1 et citrix-ingress.com le microservice exécuté dans votre cluster Kubernetes.

  9. Accédez à l’URL du microservice pour vérifier le déploiement.

Configurer un déploiement à deux niveaux à l’aide du fichier manifeste de déploiement en une étape

Pour faciliter le déploiement, le dépôt du Citrix ingress controller inclut un manifeste de déploiement tout-en-un. Vous pouvez télécharger le fichier et le mettre à jour avec des valeurs pour les variables environnementales suivantes et déployer le fichier manifeste.

Remarque :

Vérifiez que vous avez terminé les étapes 1 à 2 du processus d’installation.

Procédez comme suit :

  1. Téléchargez le fichier manifeste de déploiement tout-en-un. Utilisez la commande suivante :

    wget https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/dual-tier/manifest/all-in-one-dual-tier-demo.yaml
    
  2. Modifiez le fichier manifeste de déploiement tout-en-un et entrez les valeurs des variables d’environnement suivantes :

    Variable d’environnement Obligatoire ou facultatif Description
    NS_IP Obligatoire L’adresse IP de l’appliance Citrix ADC. Pour plus de détails, consultez la section Prérequis.
    NS_USER et NS_PASSWORD Obligatoire Le nom d’utilisateur et le mot de passe de l’appliance Citrix ADC VPX ou MPX utilisée comme périphérique d’entrée. Pour plus de détails, consultez la section Prérequis.
    CONTRAT DE LICENCE Obligatoire Le contrat de licence de l’utilisateur final. Spécifiez la valeur comme Yes.
    NIVEAU DE JOURNAL Facultatif Les niveaux de journal pour contrôler les journaux générés par le Citrix ingress controller. Par défaut, la valeur est définie sur DEBUG. Les valeurs prises en charge sont : CRITICAL, ERROR, WARNING, INFO et DEBUG. Pour plus d’informations, voir Niveaux de journalisation
    NS_PROTOCOL et NS_PORT Facultatif Définit le protocole et le port qui doivent être utilisés par le Citrix ingress controller pour communiquer avec Citrix ADC. Par défaut, le Citrix ingress controller utilise HTTPS sur le port 443. Vous pouvez également utiliser HTTP sur le port 80.
    classes d’entrée Facultatif Si plusieurs équilibreurs de charge d’entrée sont utilisés pour équilibrer la charge de différentes ressources d’entrée. Vous pouvez utiliser cette variable d’environnement pour spécifier le Citrix ingress controller afin de configurer Citrix ADC associé à une classe d’entrée spécifique. Pour plus d’informations sur les classes Ingress, voir [Prise en charge de la classe Ingress](/en-us/citrix-k8s-ingress-controller/configure/ingress-classes.html
    NS_VIP Facultatif Le Citrix ingress controller utilise l’adresse IP fournie dans cette variable d’environnement pour configurer une adresse IP virtuelle pour Citrix ADC qui reçoit le trafic entrant. Remarque : NS_VIP agit en tant que solution de secours lorsque l’annotation frontend-ip n’est pas fournie dans Ingress yaml. Non pris en charge pour le service Type LoadBalancer.
  3. Déployez le manifeste de déploiement tout-en-un mis à jour. Utilisez la commande suivante :

    kubectl create -f all-in-one-dual-tier-demo.yaml
    
Comment configurer un déploiement à deux niveaux