Procédures détaillées pour configurer la topologie de maillage de service

Procédures détaillées pour configurer la topologie de maillage de service

Les conditions préalables au déploiement de la topologie du maillage de service sont disponibles sur Configuration du graphe de service.

Configurer des itinéraires statiques dans Citrix ADM

À 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 Citrix ADM et le cluster Kubernetes, vous devez configurer le routage statique dans Citrix ADM.

Remarque

Si vous utilisez un agent sur site, assurez-vous de configurer des itinéraires statiques sur l’agent. À l’aide d’un client SSH, connectez-vous à l’agent Citrix ADM et configurez les itinéraires statiques.

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

  1. À l’aide d’un client SSH, ouvrez une session sur Citrix ADM

  2. 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

  3. Vérifiez la configuration en utilisantnetstat -rn

    routage statique

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

    1. Dans Citrix 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.

Configurer les paramètres requis

Dans le maître Kubernetes :

  1. Créez un secret avec les informations d’identification de l’agent ADM dans chaque espace de noms où CPX en tant que passerelle d’entrée /sidecar est déployé.

    kubectl create secret generic admlogin --from-literal=username=<username> --from-literal=password=<password> -n <namespace>

  2. helm repo add citrix https://citrix.github.io/citrix-helm-charts/

  3. Déployer Citrix ADC CPX en tant que passerelle d’entrée

    helm install citrix-adc-istio-ingress-gateway citrix/citrix-adc-istio-ingress-gateway --version 1.2.1 --namespace <namespace> --set ingressGateway.EULA=YES,citrixCPX=true,ADMSettings.ADMFingerPrint=XX:00:X1:00:XX:0X:X0,ADMSettings.ADMIP=<xx.xx.xx.xx>, ingressGateway.image=quay.io/citrix/citrix-k8s-cpx-ingress,ingressGateway.tag=13.0-58.30

    Le tableau suivant répertorie les paramètres configurables du graphique Helm et ses valeurs par défaut :

    Paramètre Description Défaut Facultatif/Obligatoire (barre)
    citrixCPX Citrix ADC CPX FALSE Obligatoire pour Citrix ADC CPX
    xDSAdaptor.image Image du conteneur de l’adaptateur XDS Citrix quay.io/citrix/citrix-istio-adaptor:1.2.1 Obligatoire
    ADMSettings.ADMIP Adresse IP Citrix ADM null Obligatoire pour Citrix ADC CPX
    ADMSettings.ADMFingerPrint L’empreinte digitale Citrix ADM. Accédez à Paramètres > Administration, puis cliquez sur Afficher l’empreinte digitale sous Configurations système null Facultatif
    ingressGateway.EULA Conditions générales du Contrat de Licence Utilisateur Final (CLUF). Si oui, l’utilisateur accepte les termes et conditions du CLUF. NON Obligatoire pour Citrix ADC CPX
    ingressGateway.image Image de Citrix ADC CPX désignée pour s’exécuter en tant que passerelle d’entrée quay.io/citrix/citrix-k8s-cpx-ingress:13.0–58.30 Obligatoire pour Citrix ADC CPX
  4. Déployez l’injecteur Citrix SidEcar.

    helm install cpx-sidecar-injector citrix/citrix-cpx-istio-sidecar-injector --version 1.2.1 --namespace <namespace> set cpxProxy.EULA=YES,ADMSettings.ADMFingerPrint=xx:xx:xx:xx,ADMSettings.ADMIP=<xx.xx.xx.xx>,cpxProxy.image=quay.io/citrix/citrix-k8s-cpx-ingress,cpxProxy.tag=13.0-58.30

    Le tableau suivant répertorie les paramètres configurables du graphique Helm et ses valeurs par défaut :

    Paramètre Description Valeur par défaut
    ADMSettings.ADMIP Adresse IP Citrix ADM NIL
    cpxProxy.image Image Citrix ADC CPX utilisée comme proxy sidecar quay.io/citrix/citrix-k8s-cpx-ingress:13.0–58.30
    cpxProxy.imagePullPolicy Stratégie d’extraction d’image pour Citrix ADC IfNotPresent
    cpxProxy.EULA Conditions générales du Contrat de Licence Utilisateur Final (CLUF). Si oui, l’utilisateur accepte les termes et conditions du CLUF. NON
    cpxProxy.cpxSidecarMode Variable d’environnement pour Citrix ADC CPX. Il indique que Citrix ADC CPX s’exécute en mode sidecar ou non. OUI
  5. Définissez l’étiquette sur n’importe quel espace de noms qui requiert CPX Sidecar Injection.

    kubectl label namespace <app-namespace> cpx-injection=enabled

    Après avoir effectué les étapes 3 et 5, vous pouvez voir que Citrix ADC CPX est enregistré dans Citrix ADM.

Déployer un exemple d’application

Considérez que vous souhaitez déployer les applications suivantes :

Déployer des applications exemples

Effectuez la procédure suivante pour déployer un exemple d’application :

  1. kubectl create namespace citrix-system

  2. kubectl create namespace bookinfo

  3. kubectl label namespace bookinfo cpx-injection=enabled

  4. kubectl create secret generic admlogin --from-literal=username=<uername> --from-literal=password=<password> -n citrix-system

    Remarque

    Vous pouvez donner un nom d’utilisateur et un mot de passe de votre choix.

  5. kubectl create secret generic admlogin --from-literal=username=<username> --from-literal=password=<password> -n bookinfo

    Remarque

    Vous pouvez donner un nom d’utilisateur et un mot de passe de votre choix.

  6. helm install citrix-adc-istio-ingress-gateway citrix/citrix-adc-istio-ingress-gateway --version 1.2.1 --namespace citrix-system --set ingressGateway.EULA=YES,citrixCPX=true,ADMSettings.ADMFingerPrint=xx:xx:xx:xx,ADMSettings.ADMIP=<ADM agent IP address>,ingressGateway.image=quay.io/citrix/citrix-k8s-cpx-ingress,ingressGateway.tag=13.0-58.30

    Remarque

    Vous devez donner votre empreinte digitale ADM et l’adresse IP de l’agent ADM ou de ADM

  7. helm install cpx-sidecar-injector citrix/citrix-cpx-istio-sidecar-injector --namespace citrix-system --set cpxProxy.EULA=YES,ADMSettings.ADMFingerPrint=xx:xx:xx:xx,ADMSettings.ADMIP=<ADM agent IP address>,cpxProxy.image=quay.io/citrix/citrix-k8s-cpx-ingress,cpxProxy.tag=13.0-58.30

    Remarque

    Vous devez donner votre empreinte digitale ADM et l’adresse IP de l’agent ADM ou de ADM

  8. helm install bookinfo bookinfo/ --namespace bookinfo --set citrixIngressGateway.namespace=citrix-system

Ajouter un cluster Kubernetes dans Citrix ADM

Pour ajouter le cluster Kubernetes :

  1. Ouvrez une session sur 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 commande kubectl cluster-info.

        URL du serveur API

      2. Entrez l’URL qui s’affiche pour « Le maître de Kubernetes 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 :

      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 de l’accès à l’échelle du cluster.

        Un jeton est généré automatiquement 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, courez kubectl describe secret <token-name>.

        Générer un jeton

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

      Remarque

      Si vous utilisez un agent ADM, veillez à sélectionner le même agent que vous avez ajouté dans le YAML CPX.

    5. Cliquez sur Créer.

      ajouter un cluster

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é le cluster Kubernetes dans Citrix ADM, vous devez vous assurer de sélectionner automatiquement les serveurs virtuels pour les licences. Les serveurs virtuels doivent être sous licence pour afficher les données dans Service Graph. Pour sélectionner automatiquement des serveurs virtuels :

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

  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 d’analyse s’affiche.

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

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

    paramètres de transaction-web

  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 aux microservices pour que le graphique de service soit renseigné dans Citrix ADM.

  1. Déterminez l’adresse IP et le port d’entrée

    export INGRESS_HOST=$(kubectl get pods -l app=citrix-ingressgateway -n citrix-system -o 'jsonpath={.items[0].status.hostIP}')

    export INGRESS_PORT=$(kubectl -n citrix-system get service citrix-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')

    export SECURE_INGRESS_PORT=$(kubectl -n citrix-system get service citrix-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="https")].nodePort}')

  2. Accédez à l’application frontale Bookinfo à l’aide de cURL. Le service productpage doit retourner une réponse 200 OK.

    curl -kv https://$INGRESS_HOST:$SECURE_INGRESS_PORT/productpage

    curl -v http://$INGRESS_HOST:$INGRESS_PORT/productpage

  3. Visitez https://$INGRESS_HOST:$SECURE_INGRESS_PORT/productpage à partir d’un navigateur.

    La page Bookinfo s’affiche.

  4. Assurez-vous que $INGRESS_HOST et $SECURE_INGRESS_PORT sont remplacés par une adresse IP et une valeur de port.

Après avoir envoyé du trafic vers des microservices, le graphique de service est renseigné approximativement en 10 minutes.

Échantillon

À l’aide du graphique de service, vous pouvez analyser divers détails de service tels que des mesures, des erreurs, etc. Pour plus d’informations, reportez-vous à la section Graphique de service.