Application Delivery Management

Gérez la configuration de Kubernetes Ingress dans la console NetScaler

Kubernetes (K8s) est une plate-forme 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é d’entrée qui permet au trafic client en dehors du cluster d’accéder aux microservices d’une application exécutée au sein du cluster Kubernetes. Les instances NetScaler peuvent servir d’entrée aux applications exécutées au sein d’un cluster Kubernetes. Les instances NetScaler peuvent équilibrer la charge et acheminer le contenu du trafic nord-sud depuis les clients vers tous les microservices du cluster Kubernetes.

Remarque

  • NetScaler Console prend en charge la fonctionnalité Ingress sur les clusters dotés des versions 1.14 à 1.21 de Kubernetes.
  • La console NetScaler prend en charge les appliances NetScaler VPX et MPX en tant que périphériques d’entrée.
  • Dans l’environnement Kubernetes, l’instance NetScaler équilibre uniquement la charge du type de service « NodePort ».

Vous pouvez configurer plusieurs instances NetScaler pour qu’elles agissent en tant que périphériques d’entrée sur le même cluster ou sur différents clusters ou espaces de noms. Après avoir configuré les instances, vous pouvez affecter chaque instance à différentes applications en fonction de la stratégie d’entrée.

Vous pouvez créer et déployer une configuration d’entrée à l’aide de Kubernetes kubectl ou d’API. Vous pouvez également configurer et déployer une entrée depuis la console NetScaler.

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

  • Cluster : vous pouvez enregistrer ou annuler l’enregistrement des clusters Kubernetes pour lesquels NetScaler Console peut déployer des configurations Ingress. Lorsque vous enregistrez un cluster dans la console NetScaler, spécifiez les informations du serveur API Kubernetes. Sélectionnez ensuite un agent capable d’accéder au cluster Kubernetes et de déployer des configurations Ingress.

  • Stratégies : les politiques d’entrée sont utilisées pour sélectionner l’instance NetScaler en fonction du cluster ou de l’espace de noms afin de déployer une configuration d’entrée. Spécifiez les informations relatives au cluster, au site et à l’instance lorsque vous ajoutez une stratégie.

Avant de commencer

Pour utiliser des instances NetScaler comme appareils d’entrée sur des clusters Kubernetes, assurez-vous de disposer des éléments suivants :

  • Cluster Kubernetes en place.

  • Cluster Kubernetes enregistré dans la console NetScaler.

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

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

  1. Créez un compte de service pour la console NetScaler. Par exemple, le nom du compte de service peut être citrixadm-sa. Pour créer un compte de service, reportez-vous à la section Utiliser plusieurs comptes de service.

  2. Utilisez le cluster-admin rôle pour lier le compte de service de la console NetScaler. Cette liaison octroie un ClusterRole à un compte de service à travers le cluster. 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 Console au rôle, cluster-admin le compte de service dispose d’un accès à l’échelle du cluster. Pour plus d’informations, consultez la section kubectl Créer clusterrolebinding.

  3. Obtenez le jeton à partir 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 la console NetScaler

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

Pour enregistrer le cluster Kubernetes :

  1. Connectez-vous à la console NetScaler à l’aide des 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 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 d'API

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

    3. Jetond’authentification : spécifiez la chaîne du jeton d’authentification obtenue lors de la configuration de la console NetScaler pour gérer un cluster Kubernetes. Le jeton d’authentification est requis pour valider l’accès aux communications entre le cluster Kubernetes et la console NetScaler. 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 en tant que 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érez la configuration de Kubernetes Ingress dans la console NetScaler