Gérer la configuration de Kubernetes Ingress dans Citrix ADM

Kubernetes (K8s) est un moteur d’orchestration de conteneurs open source où vous pouvez automatiser le déploiement, la mise à l’échelle et la gestion des applications conteneurisées.

Kubernetes utilise la fonction Ingress à travers laquelle le trafic client accède aux microservices d’une application. Les instances d’Citrix ADC peuvent agir en tant qu’entrée dans les applications exécutées dans un cluster Kubernetes. Les instances de Citrix ADC deviennent un équilibreur de charge et un proxy vers le trafic (Nord-Sud) entre les clients et les microservices à l’intérieur du cluster Kubernetes. Et les instances, mettez à jour les points de terminaison des microservices au fur et à mesure qu’ils changent dans l’environnement Kubernetes.

Remarque

  • Citrix ADM prend en charge la fonctionnalité Ingress sur les clusters avec Kubernetes version 1.14.
  • Citrix ADM prend en charge les appliances Citrix ADC VPX et MPX en tant que périphériques d’entrée.
  • Dans l’environnement Kubernetes, la charge de l’instance de Citrix ADC équilibre uniquement le type de service « NodePort ».

Vous pouvez configurer plusieurs instances ADC pour qu’elles agissent comme une entrée et affecter chaque ADC à différentes applications en fonction de la stratégie d’entrée. Spécifiez les éléments suivants pour déployer une configuration d’entrée :

  • Cluster : cluster Kubernetes sur lequel vous souhaitez déployer une configuration Ingress. Lors de l’ajout d’un cluster dans Citrix ADM, spécifiez les informations du serveur API Kubernetes. Et, sélectionnez un agent à partir duquel vous souhaitez gérer les configurations d’entrée.

  • Stratégies : les stratégies décident de l’instance ADC, du cluster et de l’espace de noms pour déployer une configuration d’entrée. Spécifiez les informations de cluster, de site et d’instance pour ajouter une stratégie.

  • Configuration d’entrée : cette configuration inclut les règles de commutation de contenu et les chemins d’URL correspondants des microservices et de leurs ports. Vous pouvez également spécifier les certificats SSL/TLS à l’aide d’un secret Kubernetes pour décharger le trafic HTTPS sur l’instance ADC.

Citrix ADM mappe automatiquement les configurations d’entrée et les instances ADC. Citrix ADM sélectionne l’instance ADC et héberge une configuration d’entrée en fonction des stratégies d’entrée spécifiées.

Pour chaque configuration d’entrée réussie, Citrix ADM génère un ConfigPack StyleBooks. Le ConfigPack représente la configuration ADC appliquée à l’instance ADC qui correspond à la configuration d’entrée. Pour afficher le configpack, accédez à Applications > StyleBooks > Configurations.

Avant de commencer

Pour orchestrer des instances Citrix ADC sur un cluster Kubernetes, assurez-vous que vous disposez des éléments suivants :

  • Cluster Kubernetes.

  • Agent Citrix ADM installé et configuré pour activer la communication entre Citrix ADM et les instances de cluster Kubernetes ou gérées dans votre datacenter ou cloud.

  • Cluster Kubernetes ajouté sur Citrix ADM.

Configurer l’agent Citrix ADM pour qu’il s’enregistre auprès du cluster Kubernetes

Pour activer la communication entre le cluster Kubernetes et Citrix ADM, vous devez installer et configurer un agent Citrix ADM. Vous pouvez configurer un agent à l’aide des éléments suivants :

  • Hyperviseur

  • Services de cloud public (tels que Microsoft Azure, AWS)

  • Agent intégré disponible sur les instances Citrix ADC (idéal pour les déploiements HA).

Suivez laprocédurepour configurer un agent.

Remarque

Vous pouvez également utiliser un agent existant.

Configurer Citrix ADM avec un jeton secret pour gérer un cluster Kubernetes

L’adaptateur Kubernetes est conçu pour gérer la configuration d’entrée d’un cluster Kubernetes. Cet adaptateur nécessite un accès à l’ensemble du cluster aux API Kubernetes. Pour ce faire, ajoutez un compte de service pour Citrix ADM et configurez le compte de service avec les autorisations RBAC nécessaires.

  1. Créez un compte de service pour Citrix ADM. Par exemple, le nom du compte de service peut êtrecitrixadm-sa. Pour créer un compte de service, reportez-vous à la sectionUtiliser plusieurs comptes de service.

  2. Utilisez le rôle cluster-admin pour lier le compte de service Citrix ADM. Cette liaison accorde un ClusterRole à travers le cluster à un compte de service. Voici un exemple de commande pour lier uncluster-admin rôle au compte de service.

    kubectl create clusterrolebinding citrixadm-sa-admin --clusterrole=cluster-admin --serviceaccount=default:citrixadm-sa
    

    Après avoir lié le compte de service Citrix ADM au rôle cluster-admin, le compte de service dispose de l’accès à l’échelle du cluster. Pour de plus amples informations, consultez la section kubectl create clusterrolebinding.

  3. Obtenez le jeton à partir du compte de service créé.

    Par exemple, exécutez la commande suivante pour afficher le jeton du comptecitrixadm-sa de service :

    kubectl describe sa citrixadm-sa
    
  4. Exécutez la commande suivante pour obtenir la chaîne secrète du jeton :

    kubectl describe secret <token-name>
    

Ajouter le cluster Kubernetes dans Citrix ADM

Après avoir configuré un agent Citrix ADM et configuré des routes statiques, vous devez ajouter le cluster Kubernetes dans Citrix ADM.

Pour ajouter le cluster Kubernetes :

  1. Connectez-vous à Citrix ADM avec les informations d’identification de l’administrateur.

  2. Accédez à Orchestration > Kubernetes > Cluster . La page Clusters s’affiche.

  3. Cliquez sur Ajouter.

  4. Dans la page Ajouter un cluster, spécifiez les paramètres suivants :

    1. Nom - Indiquez le nom de votre choix.

    2. API Server URL - Vous pouvez obtenir les détails de l’URL API Server à partir du nœud Master Kubernetes.

      1. Sur le nœud maître Kubernetes, exécutez la commandekubectl cluster-info.

        URL du serveur API

      2. Entrez l’URL qui s’affiche pour “Kubernetes master est en cours d’exécution à.”

    3. Jeton d’authentification : spécifiez le jeton d’authentification. Le jeton d’authentification est requis pour valider l’accès pour la communication entre le cluster Kubernetes et Citrix ADM. Pour générer un jeton d’authentification :

      1. Sur le nœud maître Kubernetes, exécutez les commandes suivantes :

        kubectl get secrets | grep ^default

        kubectl describe secret <SECRET_NAME>

        Remarque

        Vous pouvez également créer des YAML de rôle et de compte de service RBAC pour votre cluster Kubernetes, et créer un jeton d’authentification pour l’utilisateur administrateur.

      2. Copiez le jeton généré.

        Pour de plus amples informations, consultez la documentation de Kubernetes.

    4. Sélectionnez l’agent dans la liste.

    5. Cliquez sur Créer.

      ajouter un cluster

      Vous pouvez déployer la configuration Ingress, après avoir activé la sélection automatique des serveurs virtuels pour l’octroi de licences.

Définir une stratégie d’entrée

La stratégie Ingress décide que le cluster Kubernetes et les instances VPX doivent déployer la configuration Ingress. Définissez les conditions dans la stratégie Ingress et spécifiez les détails de l’infrastructure pour exécuter la stratégie.

  1. Accédez à Orchestration > Kubernetes > Stratégie.

  2. Cliquez sur Ajouter pour créer une stratégie.

    1. Spécifiez le nom de la stratégie.

    2. Définissez des conditions pour déployer la configuration Ingress sur un cluster Kubernetes.

    3. Dans le cadre du groupe Infrastructure,

      • Site - Sélectionnez un site dans la liste.

      • Instance : sélectionnez une instance dans la liste.

      Les listes Site et Instance renseignent les options en fonction de la sélection du cluster dans le panneau Conditions .

      Ces listes affichent les sites ou instances associés à l’agent Citrix ADM configuré avec le cluster Kubernetes.

    4. Cliquez sur Créer.

Déployer la configuration d’entrée

Spécifiez les détails nécessaires au déploiement d’une configuration d’entrée.

  1. Accédez à Orchestration > Kubernetes > Ingress.

  2. Cliquez sur Ajouter.

  3. Dans le champ Créer une entrée, spécifiez les détails suivants :

    1. Spécifiez le nom de l’entrée.

    2. Dans Cluster, sélectionnez le cluster Kubernetes sur lequel vous souhaitez déployer une entrée.

    3. Sélectionnez l’ espace de noms de cluster dans la liste. Ce champ répertorie les espaces de noms présents dans le cluster Kubernetes spécifié.

    4. Dans le champ Adresse IP frontend, spécifiez l’adresse IP virtuelle du périphérique d’entrée.

    5. Si vous souhaitez gérer le trafic HTTPS sur le cluster Kubernetes :

      1. Sélectionnez Oui dans le champ Activer TLS .

      2. Dans le champ secret TLS, sélectionnez les informations secrètes dans la liste.

      Une entrée HTTPS nécessite un secret basé sur TLS configuré sur le cluster Kubernetes. Spécifiez lestls.crt champstls.key et à inclure respectivement le certificat de serveur et la clé de certificat.

    6. Spécifiez les chemins d’URL, son service Kubernetes et ses ports. Cliquez sur Ajouter pour ajouter d’autres chemins d’URL et ports à la configuration Ingress.

      Après le déploiement, la configuration Ingress redirige le trafic client vers les services spécifiques lorsque les chemins d’URL définis sont demandés.

    7. Facultatif, spécifiez une description d’entrée et cliquez sur Déployer .

      si vous souhaitez revoir la configuration avant de déployer, cliquez sur Générer la spécification d’entrée. La configuration d’entrée spécifiée apparaît au format YAML. Après avoir examiné la configuration, cliquez sur Déployer.