Procédures détaillées pour configurer une topologie à deux niveaux ou de type service mesh lite

Exigences logicielles

Distribution Kubernetes Version de Kubernetes Interfaces réseau de conteneur (CNI) Version de CPX Version de CIC Version de NetScaler ADM Version de l’agent NetScaler
Open source v1.16.3 Flannel 13.0–41.28 1.5.25 13.0–47.22 13.0–47.22

Avant de commencer

Vous pouvez afficher le graphique de service dans les scénarios suivants :

  • NetScaler ADM et le cluster Kubernetes sur le même réseau (par exemple, NetScaler ADM et le cluster Kubernetes hébergés sur Citrix Hypervisor™).

  • NetScaler ADM et le cluster Kubernetes sur un réseau différent. Dans ce scénario, vous devez configurer un agent sur site et enregistrer l’agent sur le réseau où le cluster Kubernetes est hébergé.

Pour utiliser le graphique de service dans NetScaler® ADM, assurez-vous d’avoir :

Exigences logicielles

Distribution Kubernetes Version de Kubernetes Interfaces réseau de conteneur (CNI) Version de CPX Version de CIC Version de NetScaler ADM Version de l’agent NetScaler
Open source v1.16.3 Flannel 13.0–41.28 1.5.25 13.0–47.22 13.0–47.22

Avant de commencer

Vous pouvez afficher le graphique de service dans les scénarios suivants :

  • NetScaler ADM et le cluster Kubernetes sur le même réseau (par exemple, NetScaler ADM et le cluster Kubernetes hébergés sur Citrix Hypervisor).

  • NetScaler ADM et le cluster Kubernetes sur un réseau différent. Dans ce scénario, vous devez configurer un agent sur site et enregistrer l’agent sur le réseau où le cluster Kubernetes est hébergé.

Pour utiliser le graphique de service dans NetScaler ADM, assurez-vous d’avoir :

Configurer les routes statiques dans NetScaler ADM

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

Remarque

Si vous utilisez un agent sur site, assurez-vous de configurer les routes statiques sur l’agent. À l’aide d’un client SSH, connectez-vous à l’agent NetScaler et configurez les routes statiques.

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

  • Maître Kubernetes – 101.xx.xx.112

  • Nœud de travail Kubernetes 1 – 101.xx.xx.111

  • Nœud de travail Kubernetes 2 – 101.xx.xx.110

Sur le maître Kubernetes, exécutez la commande suivante pour identifier le réseau de pods afin d’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

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

  2. Configurez le routage statique à l’aide de la commande route add -net <plage d'adresses IP publiques> <adresse IP Kubernetes>.

    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

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

    Routage statique

  4. Ajoutez ces commandes de route dans le fichier /mpsconfig/svm.conf.

    1. Dans NetScaler ADM, 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écharger les fichiers de déploiement d’exemple depuis GitHub

  1. Utilisez la commande git clone https://github.com/citrix/citrix-k8s-ingress-controller.git pour cloner le référentiel GitHub sur le nœud maître.

  2. Pour accéder aux fichiers YAML :

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

Ajouter des paramètres dans le fichier YAML CPX

Remarque

Si vous utilisez CPX 58.x ou une version ultérieure, vous devez utiliser le mot de passe non-nsroot lors de l’enregistrement auprès de l’agent ADM. Pour des raisons de sécurité, les versions 61.x ou ultérieures de l’agent NetScaler 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 la version CPX 58.x ou ultérieure.

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

-  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-->
  • NS_MGMT_SERVER – Indique l’adresse IP de NetScaler ADM.

    Remarque

    Si l’agent ADM est utilisé, cela indique l’adresse IP de l’agent sur site.

  • NS_MGMT_FINGER_PRINT – Indique l’authentification pour CPX dans NetScaler ADM. Pour obtenir l’empreinte digitale :

    1. Dans NetScaler ADM, accédez à Paramètres > Administration.

    2. Sous Configurations système, cliquez sur Afficher l’empreinte digitale ADM.

      Empreinte digitale

      Remarque :

      Si vous avez configuré un agent sur site, accédez à Infrastructure > Instances > Agents, sélectionnez l’agent, puis cliquez sur Afficher l’empreinte digitale.

      Agent d'empreinte digitale

  • 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. Spécifiez un mot de passe de votre choix.

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

Ajouter une instance VPX, SDX, MPX ou BLX dans NetScaler ADM

Pour obtenir les analyses d’instance ADC de niveau 1 dans le graphique de service, vous devez ajouter l’instance VPX/SDX/MPX/BLX dans NetScaler ADM et activer Web Insight.

  1. Accédez à Infrastructure > Instances > NetScaler.

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

  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 les analyses sur les serveurs virtuels.

Ajouter un cluster Kubernetes dans NetScaler ADM

Pour ajouter le cluster Kubernetes :

  1. Connectez-vous à NetScaler 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 - 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 maître Kubernetes.

      1. Sur le nœud maître 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 le jeton d’authentification. 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 :

      Sur le nœud maître Kubernetes :

      1. Utilisez le fichier 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 <fichier yaml>.

        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. Exécutez kubectl describe sa <name> pour afficher 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

      Si vous utilisez un agent sur site, assurez-vous de sélectionner le même agent que celui que vous avez ajouté dans le fichier YAML CPX.

    5. Cliquez sur Créer.

      Ajouter un cluster

Déployer une application de microservice d’exemple

Sur le nœud maître :

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

  2. Déployez les microservices hotdrink, l’entrée et les 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éployer CPX et enregistrer CPX dans ADM

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

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

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

Activer la sélection automatique des serveurs virtuels pour la licence

Remarque

Assurez-vous de disposer de licences de serveur virtuel suffisantes. Pour plus d’informations, consultez Licences.

Après avoir ajouté le cluster Kubernetes dans NetScaler ADM, vous devez vous assurer de sélectionner automatiquement les serveurs virtuels pour la licence. Les serveurs virtuels doivent être licenciés pour afficher les données dans le graphique de service. Pour sélectionner automatiquement les serveurs virtuels :

  1. Accédez à Paramètres > Configuration des licences et des analyses.

  2. Sous Résumé des licences de serveurs virtuels, activez Sélection automatique des serveurs virtuels et Sélection automatique des serveurs virtuels non adressables.

    Sélection automatique du serveur virtuel

Activer les paramètres de transaction Web et de transaction TCP

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

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

    La page Paramètres d’analyse s’affiche.

  2. Cliquez sur Activer les fonctionnalités pour l’analyse.

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

  4. Sous Paramètres de transaction TCP, sélectionnez Tous.

    TCP

  5. Cliquez sur OK.

Envoyer du trafic aux microservices

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

  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 maintenant accéder au microservice à l’aide de https://hotdrink.beverages.com.