Procédures détaillées pour configurer la topologie à double niveau ou service mesh lite

Les prérequis pour déployer la topologie à double niveau ou Service Mesh Lite sont disponibles à l’adresse Configuration du graphe de service.

Configuration d’un agent NetScaler

Pour activer la communication entre le cluster Kubernetes et la console NetScaler, vous devez installer et configurer un agent. Vous pouvez configurer un agent à l’aide d’un hyperviseur, de services de cloud public (tels que Microsoft Azure, AWS) ou d’un agent intégré disponible sur les instances NetScaler (idéal pour les déploiements HA).

Suivez la procédure pour configurer un agent.

Remarque

  • Vous pouvez également utiliser un agent existant.

  • Par défaut, les agents sont automatiquement mis à niveau vers la dernière version de NetScaler Console. Vous pouvez consulter les détails de l’agent sur la page Infrastructure > Instances > Agents . Vous pouvez également spécifier l’heure à laquelle vous souhaitez que les mises à niveau des agents aient lieu. Pour plus d’informations, voir Configuration des paramètres de mise à niveau des agents.

Configurer des itinéraires statiques dans l’agent

À l’intérieur du cluster Kubernetes, tous les pods conteneurisés utilisent un réseau de superposition. Il n’est pas possible d’établir la communication en utilisant directement ces adresses IP privées. Pour activer la communication entre la console NetScaler et le cluster Kubernetes, vous devez configurer le routage statique dans l’agent.

Considérez que vous disposez des adresses IP suivantes pour votre cluster Kubernetes :

  • Kubernetes master – 101.xx.xx.112

  • Kubernetes worker 1 – 101.xx.xx.111

  • Kubernetes worker 2 – 101.xx.xx.110

Sur le maître Kubernetes, exécutez la commande suivante pour identifier le réseau de pod pour effectuer le routage statique :

kubectl get nodes -o jsonpath="{range .items[*]}{'podNetwork: '}{.spec.podCIDR}{'\t'}{'gateway: '}{.status.addresses[0].address}{'\n'}{end}"

Voici un exemple de sortie après l’exécution de la commande :

Exemple de commande

Après avoir configuré un agent avec succès :

  1. À l’aide d’un client SSH, connectez-vous à l’agent

  2. Tapez shell et appuyez sur Entrée pour passer à bash

  3. Configurez le routage statique à l’aide de la commande route add -net <public IP address range> <Kubernetes IP address>

    Par exemple :

    route add -net 192.168.0.0/24 101.xx.xx.112

    route add -net 192.168.1.0/24 101.xx.xx.111

    route add -net 192.168.2.0/24 101.xx.xx.110

  4. Vérifiez la configuration à l’aide de netstat -rn

    routage statique

  5. Ajoutez ces commandes de routage dans /mpsconfig/svm.conf le fichier.

    1. Dans l’agent NetScaler, accédez au fichier svm.conf à l’aide de la commande suivante :

      vim /mpsconfig/svm.conf

    2. Ajoutez les routes statiques dans le fichier svm.conf.

      Par exemple, route add -net 192.168.0.0/24 101.xx.xx.112.

Téléchargez les exemples de fichiers de déploiement depuis GitHub

  1. Utilisez la commande git clone https://github.com/citrix/citrix-k8s-ingress-controller.git pour cloner le dépôt git hub dans le nœud principal.

  2. Pour accéder aux YAML :

    cd citrix-k8s-ingress-controller/example/servicegraph-demo/

Ajouter des paramètres dans le fichier CPX YAML

Remarque

Si vous utilisez CPX 58.x ou une version ultérieure, vous devez utiliser un mot de passe autre que nsroot lors de votre inscription auprès de l’agent. Pour garantir la sécurité, l’agent NetScaler 61.x ou les versions ultérieures nécessitent un changement de mot de passe obligatoire. Si votre agent NetScaler est mis à niveau vers la version 61.x ou la dernière version, vous devez vous assurer d’ utiliser CPX 58.x ou une version ultérieure.

Vous devez inclure les paramètres suivants dans le fichier pour cpx.yamlgarantir l’enregistrement CPX auprès de NetScaler Console :

- name: "NS_MGMT_SERVER"
  value: "xx.xx.xx.xx"
- name: "NS_MGMT_FINGER_PRINT"
  value: "xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"
- name: "NS_HTTP_PORT"
  value: "9080"
- name: "NS_HTTPS_PORT"
  value: 9443"
- name: "NS_MGMT_USER"
  value: "nsroot"
- name: "NS_MGMT_PASS"
  value: <your password>
- name: "LOGSTREAM_COLLECTOR_IP"
  value: "xx.xx.xx.xx"

<!--NeedCopy-->

CPX YAML fichier

  • NS_MGMT_SERVER— Indique l’adresse IP de l’agent

  • NS_MGMT_FINGER_PRINT— Indique l’authentification pour CPX dans l’agent. Pour obtenir l’empreinte digitale :

    1. Dans la console NetScaler, accédez à Infrastructure > Instances > Agents

    2. Sélectionnez l’agent, puis cliquez sur Afficher l’empreinte

      Fingerprint

  • NS_HTTP_PORT — Indique le port HTTP pour la communication

  • NS_HTTPS_PORT — Indique le port HTTPS pour la communication

  • NS_MGMT_USER - Indique le nom d’utilisateur

  • NS_MGMT_PASS - Indique le mot de passe. Indiquez le mot de passe de votre choix

  • LOGSTREAM_COLLECTOR_IP— Indique l’adresse IP de l’agent, où le protocole Logstream doit être activé pour transférer les données du journal de CPX vers la console NetScaler

Ajouter une instance VPX ou SDX, MPX ou BLX dans la console NetScaler

Pour obtenir les analyses de l’instance NetScaler de niveau 1 dans un graphique de service, vous devez ajouter l’instance VPX/SDX/MPX/BLX dans la console NetScaler et activer Web Insight. Vous devez activer Web Insight pour NetScaler Console pour afficher les détails des transactions Web provenant de l’instance VPX/SDX/MPX/BLX.

  1. Accédez à Infrastructure > Instances > NetScaler

  2. Cliquez sur l’option Ajouter pour ajouter l’instance. Pour plus d’informations, voir Ajouter des instances dans la console NetScaler

  3. Après avoir ajouté l’instance, sélectionnez le serveur virtuel et activez Web Insight. Pour plus d’informations, consultez Gérer les licences et activer l’analyse sur les serveurs virtuels

Ajouter un cluster Kubernetes dans la console NetScaler

Pour ajouter le cluster Kubernetes :

  1. Connectez-vous à la console NetScaler à l’aide des informations d’identification de l’administrateur.

  2. Accédez à Infrastructure > 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 d’API à partir du nœud Kubernetes Master.

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

        URL du serveur d'API

      2. Entrez l’URL qui s’affiche pour « Kubernetes master is runningat ».

    3. Jeton d’authentification  : spécifiez le jeton d’authentification. 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 :

      Sur le nœud maître Kubernetes :

      1. Utilisez le YAML suivant pour créer un compte de service :

        apiVersion: v1
        kind: ServiceAccount
        metadata:
          name: <name>
          namespace: <namespace>
        <!--NeedCopy-->
        
      2. Exécutez kubectl create -f <yaml file>.

        Le compte de service est créé.

      3. Exécutez kubectl create clusterrolebinding <name> --clusterrole=cluster-admin --serviceaccount=<namespace>:<name> pour lier le rôle de cluster au compte de service.

        Le compte de service dispose désormais d’un accès à l’échelle du cluster.

        Un jeton est automatiquement généré lors de la création du compte de service.

      4. Courez kubectl describe sa <name> pour voir le jeton.

      5. Pour obtenir la chaîne secrète, exécutez kubectl describe secret <token-name>.

        Générer un jeton

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

      Remarque

      Assurez-vous de sélectionner le même agent que vous avez ajouté dans le YAML CPX.

    5. Cliquez sur Créer.

      ajouter un cluster

Déployer un exemple d’application microservice

Sur le nœud maître :

  1. Exécuter kubectl create -f namespace.yaml pour créer un espace de noms.

  2. Déployez hotdrink des microservices, des entrées et des secrets à l’aide des commandes suivantes :

    kubectl create -f team_hotdrink.yaml -n sg-demo

    kubectl create -f hotdrink-secret.yaml -n sg-demo

Déployez CPX et enregistrez CPX dans la console NetScaler

  1. Exécutez kubectl create -f rbac.yaml pour déployer le rôle de cluster et la liaison au cluster.

  2. kubectl create -f cpx.yaml -n sg-demo Exécuter pour déployer CPX.

Après le déploiement, l’enregistrement CPX est automatiquement effectué.

Activer la sélection automatique des serveurs virtuels pour les licences

Remarque

Assurez-vous d’avoir suffisamment de licences de serveur virtuel. Pour plus d’informations, voir Licences

Après avoir ajouté un cluster Kubernetes dans NetScaler Console, vous devez vous assurer de sélectionner automatiquement les serveurs virtuels pour les licences. Les serveurs virtuels CPX doivent être titulaires d’une licence pour afficher les données dans le graphique de service. Pour sélectionner automatiquement des serveurs virtuels :

  1. Accédez à Paramètres > Configuration des licences et des analyses de la console NetScaler .

  2. Sous Récapitulatif des licences du serveur virtuel, activez la sélection automatique des serveurs virtuelset la sélection automatique des serveurs virtuels non adressables.

    Sélection automatique du serveur virtuel

Activer les paramètres Transaction Web et TCP

Après avoir ajouté le cluster Kubernetes et activé les serveurs virtuels de sélection automatique, modifiez les paramètres de transaction Web et Paramètres de transactions TCP sur Tous.

  1. Accédez à Paramètres > Paramètres d’analyse.

    La page Paramètres s’affiche.

  2. Cliquez sur Activer les fonctionnalités pour Analytics.

  3. Sous Paramètres de transaction Web, sélectionnez Tout.

    web-transaction-settings

  4. Sous Paramètres des transactions TCP, sélectionnez Tout.

    TCP

  5. Cliquez sur OK.

Envoyer du trafic vers les microservices

Ensuite, vous devez envoyer du trafic vers des microservices pour que le graphique de service soit renseigné dans NetScaler Console.

  1. Exécutez kubectl get svc -n sg-demo pour exposer CPX via NodePort.

    NodePort

  2. Modifiez le fichier /etc/host et créez une entrée IP de domaine pour hotdrink.beverages.com

    Vous pouvez désormais accéder au microservice en utilisant https://hotdrink.beverages.com