Application Delivery Management

Gérer la configuration Ingress de Kubernetes dans NetScaler® ADM

Kubernetes (K8s) est une plateforme d’orchestration de conteneurs open source qui automatise le déploiement, la mise à l’échelle et la gestion des applications cloud natives.

Kubernetes fournit la fonctionnalité Ingress qui permet au trafic client externe au cluster d’accéder aux microservices d’une application exécutée à l’intérieur du cluster Kubernetes. Les instances ADC peuvent agir comme Ingress pour les applications exécutées à l’intérieur d’un cluster Kubernetes. Les instances ADC peuvent équilibrer la charge et acheminer le contenu du trafic Nord-Sud des clients vers n’importe quel microservice à l’intérieur du cluster Kubernetes.

Remarque

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

Vous pouvez configurer plusieurs instances ADC pour qu’elles agissent comme des périphériques Ingress sur le même cluster ou sur différents clusters ou espaces de noms. Après avoir configuré les instances, vous pouvez attribuer chaque instance à différentes applications en fonction de la stratégie Ingress.

Vous pouvez créer et déployer une configuration Ingress à l’aide de kubectl ou des API Kubernetes. Vous pouvez également configurer et déployer un Ingress à partir de NetScaler ADM.

Vous pouvez spécifier les aspects suivants de l’intégration de Kubernetes dans ADM :

  • Cluster – Vous pouvez enregistrer ou désenregistrer les clusters Kubernetes pour lesquels ADM peut déployer des configurations Ingress. Lorsque vous enregistrez un cluster dans NetScaler ADM, spécifiez les informations du serveur API Kubernetes. Ensuite, sélectionnez un agent ADM qui peut atteindre le cluster Kubernetes et déployer des configurations Ingress.

  • Stratégies – Les stratégies Ingress sont utilisées pour sélectionner l’instance ADC en fonction du cluster ou de l’espace de noms afin de déployer une configuration Ingress. Spécifiez les informations de cluster, de site et d’instance lorsque vous ajoutez une stratégie.

Avant de commencer

Pour utiliser les instances NetScaler comme périphériques Ingress sur les clusters Kubernetes, assurez-vous de disposer des éléments suivants :

  • Un cluster Kubernetes en place.

  • Un cluster Kubernetes enregistré dans NetScaler ADM.

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

Pour que NetScaler ADM puisse recevoir des événements de Kubernetes, vous devez créer un compte de service dans Kubernetes pour NetScaler ADM. Et, configurez le compte de service avec les autorisations RBAC nécessaires dans le cluster.

  1. Créez un compte de service pour NetScaler ADM. Par exemple, le nom du compte de service peut être citrixadm-sa. Pour créer un compte de service, consultez Utiliser plusieurs comptes de service.

  2. Utilisez le rôle cluster-admin pour lier le compte de service NetScaler ADM. Cette liaison accorde un ClusterRole à l’échelle du cluster à un compte de service. Voici un exemple de commande pour lier un rôle cluster-admin au compte de service.

    kubectl create clusterrolebinding citrixadm-sa-admin --clusterrole=cluster-admin --serviceaccount=default:citrixadm-sa
    <!--NeedCopy-->
    

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

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

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

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

    kubectl describe secret <token-name>
    <!--NeedCopy-->
    

Ajouter le cluster Kubernetes dans NetScaler ADM

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

Pour enregistrer le cluster Kubernetes :

  1. Connectez-vous à NetScaler ADM avec les informations d’identification d’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 - Spécifiez un nom de votre choix.

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

      1. Sur le nœud principal Kubernetes, exécutez la commande kubectl cluster-info.

        URL du serveur API

      2. Saisissez l’URL qui s’affiche pour « Kubernetes master is running at. »

    3. Jeton d’authentification - Spécifiez la chaîne du jeton d’authentification obtenue lorsque vous configurez NetScaler ADM pour gérer un cluster Kubernetes. Le jeton d’authentification est requis pour valider l’accès à la communication entre le cluster Kubernetes et NetScaler ADM. Pour générer un jeton d’authentification :

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

        kubectl describe secret <token-name>
        <!--NeedCopy-->
        
      2. Copiez le jeton généré et collez-le comme jeton d’authentification.

        Pour plus d’informations, consultez la documentation Kubernetes.

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

    5. Cliquez sur Créer.

      ajouter un cluster

Gérer la configuration Ingress de Kubernetes dans NetScaler® ADM