Installer Cloud Service Mesh pour les charges de travail Kubernetes en dehors de Google Cloud

Cette page explique comment installer Cloud Service Mesh non géré dans le cluster pour les charges de travail Kubernetes en dehors de Google Cloud:

  • Exécutez asmcli pour effectuer une nouvelle installation de Cloud Service Mesh 1.22.6-asm.2.
  • Vous pouvez éventuellement déployer une passerelle d'entrée.
  • Déployez ou redéployez vos charges de travail pour injecter des proxys side-car.

Si vous devez installer Cloud Service Mesh intégré au cluster non géré avec un plan de contrôle istiod sur GKE, consultez la section Installer Cloud Service Mesh intégré au cluster sur Google Cloud. Notez que pour les charges de travail Kubernetes sur Google Cloud, nous vous recommandons de provisionner un plan de contrôle géré.

Pour savoir comment préparer une installation hors connexion de Cloud Service Mesh, consultez la section Préparer une installation hors connexion de Cloud Service Mesh. Vous devrez spécifier les options --offline et --output_dir lorsque vous exécuterez asmcli install.

Limites

Prenez note des restrictions suivantes :

  • Pour utiliser Cloud Service Mesh, tous les clusters Cloud Service Mesh d'un maillage doivent être enregistrés à tout moment dans le même parc. Les autres clusters du projet d'un cluster Cloud Service Mesh ne doivent pas être enregistrés dans un autre parc.

  • L'outil asmcli doit avoir accès au point de terminaison Google Kubernetes Engine (GKE). Vous pouvez configurer l'accès via un serveur de saut, tel qu'une VM Compute Engine dans le cloud privé virtuel (VPC) qui offre un accès spécifique.

Avant de commencer

Avant de commencer, veillez à suivre les étapes ci-dessous :

Rôles requis pour installer Cloud Service Mesh dans le cluster

Le tableau suivant décrit les rôles requis pour installer Cloud Service Mesh dans le cluster.

Nom de rôle ID de rôle Emplacement d'attribution Description
Administrateur de GKE Hub roles/gkehub.admin Projet de parc Accès complet à GKE Hub et aux ressources associées.
Administrateur de Kubernetes Engine roles/container.admin Projet de cluster. Notez que ce rôle doit être attribué dans les projets de parc et de cluster pour les liaisons entre projets. Permet la gestion complète des clusters de conteneurs et de leurs objets API Kubernetes.
Administrateur de configuration du maillage roles/meshconfig.admin Projet de parc et de cluster Fournit les autorisations requises pour initialiser les composants gérés de Cloud Service Mesh, tels que le plan de contrôle géré et l'autorisation backend qui permettent aux charges de travail de communiquer avec Stackdriver sans qu'elles ne soient individuellement autorisées (pour les applications gérées et les plans de contrôle au sein du cluster).
Administrateur de projet IAM roles/resourcemanager.projectIamAdmin Projet de cluster Fournit des autorisations permettant d'administrer les stratégies IAM appliquées aux projets.
Administrateur de compte de service roles/iam.serviceAccountAdmin Projet de parc Authentifier en tant que compte de service.
Administrateur de gestion des services roles/servicemanagement.admin Projet de parc Contrôle complet des ressources Google Service Management.
Administrateur Service Usage roles/serviceusage.serviceUsageAdmin Projet de parc Possibilité d'activer, de désactiver et d'inspecter les états de service ; d'inspecter les opérations ; et de consommer les quotas et la facturation pour un projet destiné au consommateur(Remarque 1)
Administrateur du service CA Bêta roles/privateca.admin Projet de parc Accès complet à toutes les ressources du service CA. (Remarque 2)

Remarques :

  1. Administrateur Service Usage : ce rôle est nécessaire pour activer l'API mesh.googleapis.com lors du provisionnement initial de Cloud Service Mesh géré.
  2. Administrateur de services d'autorité de certification : ce rôle n'est requis que si vous effectuez une intégration avec le service d'autorité de certification.

Installer Cloud Service Mesh

Vous trouverez ci-dessous la procédure à suivre pour installer Cloud Service Mesh:

  1. Exécutez asmcli install pour installer le plan de contrôle intégré sur un cluster unique. Consultez les sections suivantes pour obtenir des exemples de ligne de commande. Les exemples contiennent à la fois des arguments obligatoires et des arguments facultatifs qui peuvent vous être utiles. Nous vous recommandons de toujours spécifier l'argument output_dir afin de pouvoir trouver des exemples de passerelles et d'outils tels que istioctl. Consultez la barre de navigation située à droite pour obtenir la liste des exemples.

  2. Vous pouvez également installer une passerelle d'entrée. Par défaut, asmcli n'installe pas la passerelle istio-ingressgateway. Nous vous recommandons de déployer et de gérer le plan de contrôle et les passerelles séparément. Si vous avez besoin d'installer l'option istio-ingressgateway par défaut avec le plan de contrôle au sein du cluster, incluez l'argument --option legacy-default-ingressgateway.

  3. Pour terminer la configuration de Cloud Service Mesh, vous devez activer l'injection side-car automatique et déployer ou redéployer des charges de travail.

  4. Si vous installez Cloud Service Mesh sur plusieurs clusters, exécutez asmcli install sur chaque cluster. Lorsque vous exécutez asmcli install, veillez à utiliser le même FLEET_PROJECT_ID pour chaque cluster. Une fois Cloud Service Mesh installé, consultez les instructions pour configurer un maillage multicluster en dehors de Google Cloud.

  5. Si vos clusters se trouvent sur des réseaux différents (en mode île par exemple), vous devez transmettre un nom de réseau unique à asmcli en utilisant l'option --network_id.

Installer les fonctionnalités par défaut et Mesh CA

Cette section explique comment exécuter asmcli pour installer Cloud Service Mesh avec les fonctionnalités compatibles par défaut de votre plate-forme et activer l'autorité de certification Cloud Service Mesh comme autorité de certification.

Sur site

Exécutez les commandes suivantes sur Google Distributed Cloud (logiciel uniquement) pour VMware ou Google Distributed Cloud (logiciel uniquement) pour Bare Metal afin d'installer le plan de contrôle avec les fonctionnalités par défaut et l'autorité de certification Cloud Service Mesh. Saisissez vos valeurs dans les espaces réservés fournis.

  1. Définissez le contexte actuel sur votre cluster d'utilisateur :

    kubectl config use-context CLUSTER_NAME
    
  2. Exécutez asmcli install :

    ./asmcli install \
      --fleet_id FLEET_PROJECT_ID \
      --kubeconfig KUBECONFIG_FILE \
      --output_dir DIR_PATH \
      --platform multicloud \
      --enable_all \
      --ca mesh_ca
    
    • --fleet_id : ID du projet du projet hôte du parc.
    • --kubeconfig : chemin d'accès complet au fichier kubeconfig. La variable d'environnement $PWD ne fonctionne pas ici. De plus, les emplacements de fichiers kubeconfig relatifs qui utilisent une valeur `~` ne fonctionneront pas.
    • --output_dir : incluez cette option pour spécifier un répertoire dans lequel asmcli télécharge le package anthos-service-mesh et extrait le fichier d'installation, qui contient istioctl, des exemples et des fichiers manifestes. Sinon, asmcli télécharge les fichiers dans un répertoire tmp. Vous pouvez spécifier un chemin d'accès relatif ou complet. La variable d'environnement $PWD ne fonctionne pas ici.
    • --platform multicloud spécifie que la plate-forme est une plate-forme autre que Google Cloud, par exemple une plate-forme sur site ou multicloud.
    • --enable_all : permet au script d'effectuer les opérations suivantes :
      • Accorder les autorisations IAM requises.
      • Activer les API Google requises.
      • Définir un libellé sur le cluster qui identifie le réseau maillé.
      • Enregistrer le cluster dans le parc si ce n'est déjà fait.
    • --ca mesh_ca : utiliser l'autorité de certification Cloud Service Mesh comme autorité de certification. asmcli configure l'autorité de certification Cloud Service Mesh pour utiliser l'identité de charge de travail de parc.

Pour afficher les SLO et les métriques d'infrastructure dans l'interface utilisateur de Cloud Service Mesh, vous devez également effectuer les trois premières étapes de la page Activer la journalisation et la surveillance des applications. Si la journalisation et la surveillance ne sont pas activées et ne reçoivent pas de journaux et de métriques personnalisés, le tableau de bord Cloud Service Mesh n'affiche pas les SLO, les journaux d'erreurs ni les métriques de processeur et de mémoire.

AWS

Exécutez les commandes suivantes sur GKE sur AWS pour installer le plan de contrôle avec les fonctionnalités par défaut et l'autorité de certification Cloud Service Mesh. Saisissez vos valeurs dans les espaces réservés fournis.

  1. Définissez le contexte actuel sur votre cluster d'utilisateur :

    kubectl config use-context CLUSTER_NAME
    
  2. Exécutez asmcli install :

    ./asmcli install \
      --fleet_id FLEET_PROJECT_ID \
      --kubeconfig KUBECONFIG_FILE \
      --output_dir DIR_PATH \
      --platform multicloud \
      --enable_all \
      --ca mesh_ca
    
    • --fleet_id : ID du projet du projet hôte du parc.
    • --kubeconfig : chemin d'accès complet au fichier kubeconfig. La variable d'environnement $PWD ne fonctionne pas ici. De plus, les emplacements de fichiers kubeconfig relatifs qui utilisent une valeur `~` ne fonctionneront pas.
    • --output_dir : incluez cette option pour spécifier un répertoire dans lequel asmcli télécharge le package anthos-service-mesh et extrait le fichier d'installation, qui contient istioctl, des exemples et des fichiers manifestes. Sinon, asmcli télécharge les fichiers dans un répertoire tmp. Vous pouvez spécifier un chemin d'accès relatif ou complet. La variable d'environnement $PWD ne fonctionne pas ici.
    • --platform multicloud spécifie que la plate-forme est une plate-forme autre que Google Cloud, par exemple une plate-forme sur site ou multicloud.
    • --enable_all : permet au script d'effectuer les opérations suivantes :
      • Accorder les autorisations IAM requises.
      • Activer les API Google requises.
      • Définir un libellé sur le cluster qui identifie le réseau maillé.
      • Enregistrer le cluster dans le parc si ce n'est déjà fait.
    • --ca mesh_ca : utiliser l'autorité de certification Cloud Service Mesh comme autorité de certification. asmcli configure l'autorité de certification Cloud Service Mesh pour utiliser l'identité de charge de travail de parc.

Pour afficher les SLO et les métriques d'infrastructure dans l'interface utilisateur de Cloud Service Mesh, vous devez également effectuer les trois premières étapes de la page Activer la journalisation et la surveillance des applications. Si la journalisation et la surveillance ne sont pas activées et ne reçoivent pas de journaux et de métriques personnalisés, le tableau de bord Cloud Service Mesh n'affiche pas les SLO, les journaux d'erreurs ni les métriques de processeur et de mémoire.

Azure

Exécutez les commandes suivantes sur GKE sur Azure pour installer le plan de contrôle avec les fonctionnalités par défaut et l'autorité de certification Cloud Service Mesh. Saisissez vos valeurs dans les espaces réservés fournis.

  1. Définissez le contexte actuel sur votre cluster d'utilisateur :

    kubectl config use-context CLUSTER_NAME
    
  2. Exécutez asmcli install :

    ./asmcli install \
      --fleet_id FLEET_PROJECT_ID \
      --kubeconfig KUBECONFIG_FILE \
      --output_dir DIR_PATH \
      --platform multicloud \
      --enable_all \
      --ca mesh_ca
    
    • --fleet_id : ID du projet du projet hôte du parc.
    • --kubeconfig : chemin d'accès complet au fichier kubeconfig. La variable d'environnement $PWD ne fonctionne pas ici. De plus, les emplacements de fichiers kubeconfig relatifs qui utilisent une valeur `~` ne fonctionneront pas.
    • --output_dir : incluez cette option pour spécifier un répertoire dans lequel asmcli télécharge le package anthos-service-mesh et extrait le fichier d'installation, qui contient istioctl, des exemples et des fichiers manifestes. Sinon, asmcli télécharge les fichiers dans un répertoire tmp. Vous pouvez spécifier un chemin d'accès relatif ou complet. La variable d'environnement $PWD ne fonctionne pas ici.
    • --platform multicloud spécifie que la plate-forme est une plate-forme autre que Google Cloud, par exemple une plate-forme sur site ou multicloud.
    • --enable_all : permet au script d'effectuer les opérations suivantes :
      • Accorder les autorisations IAM requises.
      • Activer les API Google requises.
      • Définir un libellé sur le cluster qui identifie le réseau maillé.
      • Enregistrer le cluster dans le parc si ce n'est déjà fait.
    • --ca mesh_ca : utiliser l'autorité de certification Cloud Service Mesh comme autorité de certification. asmcli configure l'autorité de certification Cloud Service Mesh pour utiliser l'identité de charge de travail de parc.

Pour afficher les SLO et les métriques d'infrastructure dans l'interface utilisateur de Cloud Service Mesh, vous devez également effectuer les trois premières étapes de la page Activer la journalisation et la surveillance des applications. Si la journalisation et la surveillance ne sont pas activées et ne reçoivent pas de journaux et de métriques personnalisés, le tableau de bord Cloud Service Mesh n'affiche pas les SLO, les journaux d'erreurs ni les métriques de processeur et de mémoire.

Amazon EKS

Exécutez les commandes suivantes sur Amazon EKS pour installer le plan de contrôle avec les fonctionnalités par défaut et l'autorité de certification Cloud Service Mesh. Saisissez vos valeurs dans les espaces réservés fournis.

  1. Définissez le contexte actuel sur votre cluster d'utilisateur :

    kubectl config use-context CLUSTER_NAME
    
  2. Exécutez asmcli install :

    ./asmcli install \
      --fleet_id FLEET_PROJECT_ID \
      --kubeconfig KUBECONFIG_FILE \
      --output_dir DIR_PATH \
      --platform multicloud \
      --enable_all \
      --option attached-cluster \
      --network_id default \
      --ca mesh_ca
    
    • --fleet_id : ID du projet du projet hôte du parc.
    • --kubeconfig : chemin d'accès complet au fichier kubeconfig. La variable d'environnement $PWD ne fonctionne pas ici. De plus, les emplacements de fichiers kubeconfig relatifs qui utilisent une valeur `~` ne fonctionneront pas.
    • --output_dir : incluez cette option pour spécifier un répertoire dans lequel asmcli télécharge le package anthos-service-mesh et extrait le fichier d'installation, qui contient istioctl, des exemples et des fichiers manifestes. Sinon, asmcli télécharge les fichiers dans un répertoire tmp. Vous pouvez spécifier un chemin d'accès relatif ou complet. La variable d'environnement $PWD ne fonctionne pas ici.
    • --platform multicloud spécifie que la plate-forme est une plate-forme autre que Google Cloud, par exemple une plate-forme sur site ou multicloud.
    • --enable_all : permet au script d'effectuer les opérations suivantes :
      • Accorder les autorisations IAM requises.
      • Activer les API Google requises.
      • Définir un libellé sur le cluster qui identifie le réseau maillé.
      • Enregistrer le cluster dans le parc si ce n'est déjà fait.
    • --option attached-cluster Définit l'utilitaire de signature par défaut sur istiod.
    • --network_id Si vous configurez un réseau maillé multiréseau, définissez --network_id sur une valeur unique pour chaque cluster du réseau maillé.
    • --ca mesh_ca : utiliser l'autorité de certification Cloud Service Mesh comme autorité de certification. asmcli configure l'autorité de certification Cloud Service Mesh pour utiliser l'identité de charge de travail de parc.

Pour afficher les SLO et les métriques d'infrastructure dans l'interface utilisateur de Cloud Service Mesh, vous devez également effectuer les trois premières étapes de la page Activer la journalisation et la surveillance des applications. Si la journalisation et la surveillance ne sont pas activées et ne reçoivent pas de journaux et de métriques personnalisés, le tableau de bord Cloud Service Mesh n'affiche pas les SLO, les journaux d'erreurs ni les métriques de processeur et de mémoire.

Microsoft AKS

Exécutez les commandes suivantes sur Microsoft AKS pour installer le plan de contrôle avec les fonctionnalités par défaut et l'autorité de certification Cloud Service Mesh. Saisissez vos valeurs dans les espaces réservés fournis.

  1. Définissez le contexte actuel sur votre cluster d'utilisateur :

    kubectl config use-context CLUSTER_NAME
    
  2. Exécutez asmcli install :

    HUB_REGISTRATION_EXTRA_FLAGS=--has-private-issuer ./asmcli install \
      --fleet_id FLEET_PROJECT_ID \
      --kubeconfig KUBECONFIG_FILE \
      --output_dir DIR_PATH \
      --platform multicloud \
      --enable_all \
      --option attached-cluster \
      --network_id default \
      --ca mesh_ca
    
    • HUB_REGISTRATION_EXTRA_FLAGS=--has-private-issuer autorise l'enregistrement avec GKE Hub.
    • --fleet_id : ID du projet du projet hôte du parc.
    • --kubeconfig : chemin d'accès complet au fichier kubeconfig. La variable d'environnement $PWD ne fonctionne pas ici. De plus, les emplacements de fichiers kubeconfig relatifs qui utilisent une valeur `~` ne fonctionneront pas.
    • --output_dir : incluez cette option pour spécifier un répertoire dans lequel asmcli télécharge le package anthos-service-mesh et extrait le fichier d'installation, qui contient istioctl, des exemples et des fichiers manifestes. Sinon, asmcli télécharge les fichiers dans un répertoire tmp. Vous pouvez spécifier un chemin d'accès relatif ou complet. La variable d'environnement $PWD ne fonctionne pas ici.
    • --platform multicloud spécifie que la plate-forme est une plate-forme autre que Google Cloud, par exemple une plate-forme sur site ou multicloud.
    • --enable_all : permet au script d'effectuer les opérations suivantes :
      • Accorder les autorisations IAM requises.
      • Activer les API Google requises.
      • Définir un libellé sur le cluster qui identifie le réseau maillé.
      • Enregistrer le cluster dans le parc si ce n'est déjà fait.
    • --option attached-cluster Définit l'utilitaire de signature par défaut sur istiod.
    • --network_id Si vous configurez un réseau maillé multiréseau, définissez --network_id sur une valeur unique pour chaque cluster du réseau maillé.
    • --ca mesh_ca : utiliser l'autorité de certification Cloud Service Mesh comme autorité de certification. asmcli configure l'autorité de certification Cloud Service Mesh pour utiliser l'identité de charge de travail de parc.

Pour afficher les SLO et les métriques d'infrastructure dans l'interface utilisateur de Cloud Service Mesh, vous devez également effectuer les trois premières étapes de la page Activer la journalisation et la surveillance des applications. Si la journalisation et la surveillance ne sont pas activées et ne reçoivent pas de journaux et de métriques personnalisés, le tableau de bord Cloud Service Mesh n'affiche pas les SLO, les journaux d'erreurs ni les métriques de processeur et de mémoire.

Installer les fonctionnalités par défaut et le service Certificate Authority (CA)

Cette section explique comment exécuter asmcli pour installer Cloud Service Mesh avec les fonctionnalités compatibles par défaut de votre plate-forme et activer le service d'autorité de certification comme autorité de certification.

Outre l'autorité de certification Cloud Service Mesh, vous pouvez configurer Cloud Service Mesh pour qu'il utilise le Certificate Authority Service. Ce guide vous offre l'occasion d'intégrer le service CA, qui est recommandé pour les cas d'utilisation suivants :

  • Vous avez besoin de plusieurs autorités de certification différentes pour signer des certificats de charge de travail sur différents clusters.
  • Vous devez sauvegarder vos clés de signature dans un HSM géré.
  • Vous travaillez dans un secteur hautement réglementé et vous êtes soumis à des exigences de conformité.
  • Vous souhaitez associer votre autorité de certification Cloud Service Mesh à un certificat racine d'entreprise personnalisé pour signer les certificats de charge de travail.

Les coûts liés à l'utilisation de l'autorité de certification Cloud Service Mesh sont inclus dans la tarification de Cloud Service Mesh. Le service d'autorité de certification n'est pas inclus dans le prix de base de Cloud Service Mesh et est facturé séparément. En outre, le service d'autorité de certification est fourni avec un contrat de niveau de service explicite, contrairement à l'autorité de certification Cloud Service Mesh.

Configurer le service d'autorité de certification

  1. Créez le pool d'autorités de certification au niveau DevOps et dans la même région que le cluster qu'il dessert, afin d'éviter des problèmes de latence excessive ou des pannes interrégionales potentielles. Pour en savoir plus, consultez la page Niveaux optimisés pour les charges de travail.
  2. Créez l'autorité de certification afin de disposer d'au moins une autorité de certification active dans le pool d'autorités de certification du même projet que le cluster GKE. Utilisez des autorités de certification subordonnées pour signer les certificats de charge de travail Cloud Service Mesh. Notez le pool d'autorités de certification correspondant à l'autorité de certification subordonnée.
  3. S'il est destiné à seuls les certificats de service pour les charges de travail Cloud Service Mesh, configurez la stratégie d'émission suivante pour le pool d'autorités de certification:

    policy.yaml

    baselineValues:
      keyUsage:
        baseKeyUsage:
          digitalSignature: true
          keyEncipherment: true
        extendedKeyUsage:
          serverAuth: true
          clientAuth: true
      caOptions:
        isCa: false
    identityConstraints:
      allowSubjectPassthrough: false
      allowSubjectAltNamesPassthrough: true
      celExpression:
        expression: subject_alt_names.all(san, san.type == URI && san.value.startsWith("spiffe://PROJECT_ID.svc.id.goog/ns/") )
    
  4. Pour mettre à jour la stratégie d'émission du pool d'autorités de certification, exécutez la commande suivante :

    gcloud privateca pools update CA_POOL --location ca_region --issuance-policy policy.yaml
    

    Pour en savoir plus sur la définition d'une stratégie sur un pool, consultez la section Utiliser une stratégie d'émission de certificat.

  5. Si vous utilisez un modèle de certificat, configurez-le maintenant. Pour plus d'informations, suivez le guide du service CA pour les certificats d'identité de charge de travail. Vérifiez que le modèle de certificat est créé dans la même région que le pool d'autorités de certification. S'il existe plusieurs régions pour les pools d'autorités de certification, créez un modèle de certificat par région.

Configurer Cloud Service Mesh pour utiliser le service CA

Exécutez les commandes suivantes sur Google Distributed Cloud (logiciel uniquement) pour VMware ou sur Google Distributed Cloud (logiciel uniquement) pour Bare Metal pour installer le plan de contrôle avec les fonctionnalités par défaut et Certificate Authority Service. Saisissez vos valeurs dans les espaces réservés fournis.

  1. Définissez le contexte actuel sur votre cluster d'utilisateur :

    kubectl config use-context CLUSTER_NAME
    
  2. Exécutez asmcli install :

    ./asmcli install \
      --kubeconfig KUBECONFIG_FILE \
      --fleet_id FLEET_PROJECT_ID \
      --output_dir DIR_PATH \
      --enable_all \
      --ca gcp_cas \
      --platform multicloud \
      --ca_pool  projects/CA_POOL_PROJECT_ID/locations/ca_region/caPools/CA_POOL
    
    • --fleet_id : ID du projet du projet hôte du parc.
    • --kubeconfig : chemin d'accès complet au fichier kubeconfig. La variable d'environnement $PWD ne fonctionne pas ici. De plus, les emplacements de fichiers kubeconfig relatifs qui utilisent une valeur `~` ne fonctionneront pas.
    • --output_dir : incluez cette option pour spécifier un répertoire dans lequel asmcli télécharge le package anthos-service-mesh et extrait le fichier d'installation, qui contient istioctl, des exemples et des fichiers manifestes. Sinon, asmcli télécharge les fichiers dans un répertoire tmp. Vous pouvez spécifier un chemin d'accès relatif ou complet. La variable d'environnement $PWD ne fonctionne pas ici.
    • --platform multicloud spécifie que la plate-forme est une plate-forme autre que Google Cloud, par exemple une plate-forme sur site ou multicloud.
    • --enable_all : permet au script d'effectuer les opérations suivantes :
      • Accorder les autorisations IAM requises.
      • Activer les API Google requises.
      • Définir un libellé sur le cluster qui identifie le réseau maillé.
      • Enregistrer le cluster dans le parc si ce n'est déjà fait.
    • --ca gcp_cas : utilisez Certificate Authority Service comme autorité de certification. La modification des autorités de certification lors d'une mise à niveau entraîne des temps d'arrêt. asmcli configure Certificate Authority Service pour utiliser l'identité de charge de travail de parc.
    • --ca_pool : identifiant complet du pool d'autorités de certification Certificate Authority Service. Si vous utilisez un modèle de certificat, ajoutez l'ID du modèle en les séparant par :. Exemple :
        --ca_pool projects/CA_POOL_PROJECT_ID/locations/ca_region/caPools/CA_POOL:projects/CA_POOL_PROJECT_ID/locations/ca_region/certificateTemplates/CERT_TEMPLATE_ID
        

    Pour afficher les SLO et les métriques d'infrastructure dans l'interface utilisateur de Cloud Service Mesh, vous devez également effectuer les trois premières étapes de la page Activer la journalisation et la surveillance des applications. Si la journalisation et la surveillance ne sont pas activées et ne reçoivent pas de journaux et de métriques personnalisés, le tableau de bord Cloud Service Mesh n'affiche pas les SLO, les journaux d'erreurs ni les métriques de processeur et de mémoire.

Installer les fonctionnalités par défaut avec Istio CA

Cette section explique comment effectuer les opérations suivantes :

  • Générez des certificats et des clés pour l'autorité de certification Istio utilisée par Cloud Service Mesh pour signer vos charges de travail.
  • Exécutez asmcli pour installer Cloud Service Mesh avec les fonctionnalités par défaut et activer Istio CA.

Par défaut, les environnements qui installent Cloud Service Mesh avec Istio CA signalent les métriques à Prometheus. Si vous souhaitez utiliser les tableaux de bord Cloud Service Mesh, vous devez activer Stackdriver. Pour en savoir plus, consultez la section Installer avec des fonctionnalités facultatives.

Pour une sécurité optimale, nous vous recommandons vivement de conserver une autorité de certification racine hors connexion et d'utiliser les autorités de certification subordonnées pour émettre des autorités de certification pour chaque cluster. Pour en savoir plus, consultez la section Utiliser des certificats CA. Dans cette configuration, toutes les charges de travail du maillage de services utilisent la même autorité de certification racine (CA). Chaque autorité de certification Cloud Service Mesh utilise une clé et un certificat de signature CA intermédiaires, signés par l'autorité de certification racine. Lorsque plusieurs autorités de certification existent dans un maillage, cela établit une hiérarchie de confiance entre les autorités de certification. Vous pouvez répéter ces étapes pour provisionner les certificats et les clés d'un nombre illimité d'autorités de certification.

Le fichier Makefile pour générer les certificats se trouve dans le sous-répertoire istio-1.22.6-asm.2 du répertoire --output_dir que vous avez spécifié dans la commande asmcli validate. Si vous n'avez pas exécuté asmcli validate, ou si vous ne disposez pas du répertoire téléchargé localement, vous pouvez obtenir le fichier Makefile en téléchargeant le fichier d'installation de Cloud Service Mesh et en extrayant le contenu.

  1. Accédez au répertoire istio-1.22.6-asm.2.

  2. Créez un répertoire pour les certificats et les clés :

    mkdir -p certs && \
    pushd certs
  3. Générez un certificat et une clé racine :

    make -f ../tools/certs/Makefile.selfsigned.mk root-ca
    

    Les fichiers suivants sont alors générés :

    • root-cert.pem : certificat racine
    • root-key.pem : clé racine
    • root-ca.conf : configuration nécessaire pour qu'openssl génère le certificat racine
    • root-cert.csr : demande CSR du certificat racine
  4. Générez un certificat et une clé intermédiaires :

    make -f ../tools/certs/Makefile.selfsigned.mk cluster1-cacerts

    Cette opération génère les fichiers suivants dans un répertoire nommé cluster1 :

    • ca-cert.pem : certificats intermédiaires
    • ca-key.pem : clé intermédiaire
    • cert-chain.pem : chaîne de certificats utilisée par istiod
    • root-cert.pem : certificat racine

    Si vous effectuez ces étapes en utilisant un ordinateur hors connexion, copiez le répertoire généré sur un ordinateur qui a accès aux clusters.

  5. Revenez au répertoire précédent :

    popd
  6. Exécutez asmcli pour installer un réseau maillé à l'aide de l'autorité de certification Istio :

    Sur site

    Exécutez les commandes suivantes sur Google Distributed Cloud (logiciel uniquement) pour VMware ou Google Distributed Cloud (logiciel uniquement) pour Bare Metal pour installer le plan de contrôle avec les fonctionnalités par défaut et l'autorité de certification Istio. Saisissez vos valeurs dans les espaces réservés fournis.

    1. Définissez le contexte actuel sur votre cluster d'utilisateur :

      kubectl config use-context CLUSTER_NAME
      
    2. Exécutez asmcli install :

      ./asmcli install \
        --fleet_id FLEET_PROJECT_ID \
        --kubeconfig KUBECONFIG_FILE \
        --output_dir DIR_PATH \
        --platform multicloud \
        --enable_all \
        --ca citadel \
        --ca_cert CA_CERT_FILE_PATH \
        --ca_key CA_KEY_FILE_PATH \
        --root_cert ROOT_CERT_FILE_PATH \
        --cert_chain CERT_CHAIN_FILE_PATH
      
      • --fleet_id : ID du projet du projet hôte du parc.
      • --kubeconfig : chemin d'accès complet au fichier kubeconfig. La variable d'environnement $PWD ne fonctionne pas ici. De plus, les emplacements de fichiers kubeconfig relatifs qui utilisent une valeur `~` ne fonctionneront pas.
      • --output_dir : incluez cette option pour spécifier un répertoire dans lequel asmcli télécharge le package anthos-service-mesh et extrait le fichier d'installation, qui contient istioctl, des exemples et des fichiers manifestes. Sinon, asmcli télécharge les fichiers dans un répertoire tmp. Vous pouvez spécifier un chemin d'accès relatif ou complet. La variable d'environnement $PWD ne fonctionne pas ici.
      • --platform multicloud spécifie que la plate-forme est une plate-forme autre que Google Cloud, par exemple une plate-forme sur site ou multicloud.
      • --enable_all : permet au script d'effectuer les opérations suivantes :
        • Accorder les autorisations IAM requises.
        • Activer les API Google requises.
        • Définir un libellé sur le cluster qui identifie le réseau maillé.
        • Enregistrer le cluster dans le parc si ce n'est déjà fait.
      • -ca citadel : utiliser l'autorité de certification Istio comme autorité de certification.
      • --ca_cert : le certificat intermédiaire
      • --ca_key : la clé du certificat intermédiaire
      • --root_cert : le certificat racine
      • --cert_chain : la chaîne de certificats

    AWS

    Exécutez les commandes suivantes sur GKE sur AWS pour installer le plan de contrôle avec les fonctionnalités par défaut et Istio CA. Saisissez vos valeurs dans les espaces réservés fournis. Vous pouvez choisir d'activer l'entrée du sous-réseau public ou du sous-réseau privé.

    Public

    1. Définissez le contexte actuel sur votre cluster d'utilisateur :

      kubectl config use-context CLUSTER_NAME
      
    2. Exécutez asmcli install :

      ./asmcli install \
        --fleet_id FLEET_PROJECT_ID \
        --kubeconfig KUBECONFIG_FILE \
        --output_dir DIR_PATH \
        --platform multicloud \
        --enable_all \
        --ca citadel \
        --ca_cert CA_CERT_FILE_PATH \
        --ca_key CA_KEY_FILE_PATH \
        --root_cert ROOT_CERT_FILE_PATH \
        --cert_chain CERT_CHAIN_FILE_PATH
      
      • --fleet_id : ID du projet du projet hôte du parc.
      • --kubeconfig : chemin d'accès complet au fichier kubeconfig. La variable d'environnement $PWD ne fonctionne pas ici. De plus, les emplacements de fichiers kubeconfig relatifs qui utilisent une valeur `~` ne fonctionneront pas.
      • --output_dir : incluez cette option pour spécifier un répertoire dans lequel asmcli télécharge le package anthos-service-mesh et extrait le fichier d'installation, qui contient istioctl, des exemples et des fichiers manifestes. Sinon, asmcli télécharge les fichiers dans un répertoire tmp. Vous pouvez spécifier un chemin d'accès relatif ou complet. La variable d'environnement $PWD ne fonctionne pas ici.
      • --platform multicloud spécifie que la plate-forme est une plate-forme autre que Google Cloud, par exemple une plate-forme sur site ou multicloud.
      • --enable_all : permet au script d'effectuer les opérations suivantes :
        • Accorder les autorisations IAM requises.
        • Activer les API Google requises.
        • Définir un libellé sur le cluster qui identifie le réseau maillé.
        • Enregistrer le cluster dans le parc si ce n'est déjà fait.
      • -ca citadel : utiliser l'autorité de certification Istio comme autorité de certification.
      • --ca_cert : le certificat intermédiaire
      • --ca_key : la clé du certificat intermédiaire
      • --root_cert : le certificat racine
      • --cert_chain : la chaîne de certificats

    Privé

    1. Définissez le contexte actuel sur votre cluster d'utilisateur :

      kubectl config use-context CLUSTER_NAME
      
    2. Enregistrez le fichier YAML suivant dans un fichier appelé istio-operator-internal-lb.yaml :

      apiVersion: install.istio.io/v1alpha1
      kind: IstioOperator
      spec:
        components:
          ingressGateways:
          - enabled: true
            k8s:
              serviceAnnotations:
                service.beta.kubernetes.io/aws-load-balancer-internal: "true"
            name: istio-ingressgateway
      
    3. Exécutez asmcli install :

      ./asmcli install \
        --fleet_id FLEET_PROJECT_ID \
        --kubeconfig KUBECONFIG_FILE \
        --output_dir DIR_PATH \
        --platform multicloud \
        --enable_all \
        --ca citadel \
        --ca_cert FILE_PATH \
        --ca_key FILE_PATH \
        --root_cert FILE_PATH \
        --cert_chain FILE_PATH \
        --custom_overlay istio-operator-internal-lb.yaml
      
      • --fleet_id : ID du projet du projet hôte du parc.
      • --kubeconfig : chemin d'accès complet au fichier kubeconfig. La variable d'environnement $PWD ne fonctionne pas ici. De plus, les emplacements de fichiers kubeconfig relatifs qui utilisent une valeur `~` ne fonctionneront pas.
      • --output_dir : incluez cette option pour spécifier un répertoire dans lequel asmcli télécharge le package anthos-service-mesh et extrait le fichier d'installation, qui contient istioctl, des exemples et des fichiers manifestes. Sinon, asmcli télécharge les fichiers dans un répertoire tmp. Vous pouvez spécifier un chemin d'accès relatif ou complet. La variable d'environnement $PWD ne fonctionne pas ici.
      • --platform multicloud spécifie que la plate-forme est une plate-forme autre que Google Cloud, par exemple une plate-forme sur site ou multicloud.
      • --enable_all : permet au script d'effectuer les opérations suivantes :
        • Accorder les autorisations IAM requises.
        • Activer les API Google requises.
        • Définir un libellé sur le cluster qui identifie le réseau maillé.
        • Enregistrer le cluster dans le parc si ce n'est déjà fait.
      • -ca citadel : utiliser l'autorité de certification Istio comme autorité de certification.
      • --ca_cert : le certificat intermédiaire
      • --ca_key : la clé du certificat intermédiaire
      • --root_cert : le certificat racine
      • --cert_chain : la chaîne de certificats
      • --custom_overlay : nom du fichier de superposition créé. Pour en savoir plus sur les fichiers de superposition, consultez la page Activer des fonctionnalités facultatives sur le plan de contrôle au sein du cluster.

    Azure

    Exécutez les commandes suivantes sur GKE sur Azure pour installer le plan de contrôle avec les fonctionnalités par défaut et Istio CA. Saisissez vos valeurs dans les espaces réservés fournis. Vous pouvez choisir d'activer l'entrée du sous-réseau public ou du sous-réseau privé.

    Public

    1. Définissez le contexte actuel sur votre cluster d'utilisateur :

      kubectl config use-context CLUSTER_NAME
      
    2. Exécutez asmcli install :

      ./asmcli install \
        --fleet_id FLEET_PROJECT_ID \
        --kubeconfig KUBECONFIG_FILE \
        --output_dir DIR_PATH \
        --platform multicloud \
        --enable_all \
        --ca citadel \
        --ca_cert CA_CERT_FILE_PATH \
        --ca_key CA_KEY_FILE_PATH \
        --root_cert ROOT_CERT_FILE_PATH \
        --cert_chain CERT_CHAIN_FILE_PATH
      
      • --fleet_id : ID du projet du projet hôte du parc.
      • --kubeconfig : chemin d'accès complet au fichier kubeconfig. La variable d'environnement $PWD ne fonctionne pas ici. De plus, les emplacements de fichiers kubeconfig relatifs qui utilisent une valeur `~` ne fonctionneront pas.
      • --output_dir : incluez cette option pour spécifier un répertoire dans lequel asmcli télécharge le package anthos-service-mesh et extrait le fichier d'installation, qui contient istioctl, des exemples et des fichiers manifestes. Sinon, asmcli télécharge les fichiers dans un répertoire tmp. Vous pouvez spécifier un chemin d'accès relatif ou complet. La variable d'environnement $PWD ne fonctionne pas ici.
      • --platform multicloud spécifie que la plate-forme est une plate-forme autre que Google Cloud, par exemple une plate-forme sur site ou multicloud.
      • --enable_all : permet au script d'effectuer les opérations suivantes :
        • Accorder les autorisations IAM requises.
        • Activer les API Google requises.
        • Définir un libellé sur le cluster qui identifie le réseau maillé.
        • Enregistrer le cluster dans le parc si ce n'est déjà fait.
      • -ca citadel : utiliser l'autorité de certification Istio comme autorité de certification.
      • --ca_cert : le certificat intermédiaire
      • --ca_key : la clé du certificat intermédiaire
      • --root_cert : le certificat racine
      • --cert_chain : la chaîne de certificats

    Privé

    1. Définissez le contexte actuel sur votre cluster d'utilisateur :

      kubectl config use-context CLUSTER_NAME
      
    2. Enregistrez le fichier YAML suivant dans un fichier appelé istio-operator-internal-lb.yaml :

      apiVersion: install.istio.io/v1alpha1
      kind: IstioOperator
      spec:
        components:
          ingressGateways:
          - enabled: true
            k8s:
              serviceAnnotations:
                service.beta.kubernetes.io/aws-load-balancer-internal: "true"
            name: istio-ingressgateway
      
    3. Exécutez asmcli install :

      ./asmcli install \
        --fleet_id FLEET_PROJECT_ID \
        --kubeconfig KUBECONFIG_FILE \
        --output_dir DIR_PATH \
        --platform multicloud \
        --enable_all \
        --ca citadel \
        --ca_cert FILE_PATH \
        --ca_key FILE_PATH \
        --root_cert FILE_PATH \
        --cert_chain FILE_PATH \
        --custom_overlay istio-operator-internal-lb.yaml
      
      • --fleet_id : ID du projet du projet hôte du parc.
      • --kubeconfig : chemin d'accès complet au fichier kubeconfig. La variable d'environnement $PWD ne fonctionne pas ici. De plus, les emplacements de fichiers kubeconfig relatifs qui utilisent une valeur `~` ne fonctionneront pas.
      • --output_dir : incluez cette option pour spécifier un répertoire dans lequel asmcli télécharge le package anthos-service-mesh et extrait le fichier d'installation, qui contient istioctl, des exemples et des fichiers manifestes. Sinon, asmcli télécharge les fichiers dans un répertoire tmp. Vous pouvez spécifier un chemin d'accès relatif ou complet. La variable d'environnement $PWD ne fonctionne pas ici.
      • --platform multicloud spécifie que la plate-forme est une plate-forme autre que Google Cloud, par exemple une plate-forme sur site ou multicloud.
      • --enable_all : permet au script d'effectuer les opérations suivantes :
        • Accorder les autorisations IAM requises.
        • Activer les API Google requises.
        • Définir un libellé sur le cluster qui identifie le réseau maillé.
        • Enregistrer le cluster dans le parc si ce n'est déjà fait.
      • -ca citadel : utiliser l'autorité de certification Istio comme autorité de certification.
      • --ca_cert : le certificat intermédiaire
      • --ca_key : la clé du certificat intermédiaire
      • --root_cert : le certificat racine
      • --cert_chain : la chaîne de certificats
      • --custom_overlay : nom du fichier de superposition créé. Pour en savoir plus sur les fichiers de superposition, consultez la page Activer des fonctionnalités facultatives sur le plan de contrôle au sein du cluster.

    Amazon EKS

    Exécutez les commandes suivantes sur Amazon EKS pour installer le plan de contrôle avec les fonctionnalités par défaut et Istio CA. Saisissez vos valeurs dans les espaces réservés fournis.

    1. Définissez le contexte actuel sur votre cluster d'utilisateur :

      kubectl config use-context CLUSTER_NAME
      
    2. Exécutez asmcli install :

      ./asmcli install \
        --fleet_id FLEET_PROJECT_ID \
        --kubeconfig KUBECONFIG_FILE \
        --output_dir DIR_PATH \
        --platform multicloud \
        --enable_all \
        --option attached-cluster \
        --ca citadel \
        --ca_cert CA_CERT_FILE_PATH \
        --ca_key CA_KEY_FILE_PATH \
        --root_cert ROOT_CERT_FILE_PATH \
        --cert_chain CERT_CHAIN_FILE_PATH \
        --network_id default
      
      • --fleet_id : ID du projet du projet hôte du parc.
      • --kubeconfig : chemin d'accès complet au fichier kubeconfig. La variable d'environnement $PWD ne fonctionne pas ici. De plus, les emplacements de fichiers kubeconfig relatifs qui utilisent une valeur `~` ne fonctionneront pas.
      • --output_dir : incluez cette option pour spécifier un répertoire dans lequel asmcli télécharge le package anthos-service-mesh et extrait le fichier d'installation, qui contient istioctl, des exemples et des fichiers manifestes. Sinon, asmcli télécharge les fichiers dans un répertoire tmp. Vous pouvez spécifier un chemin d'accès relatif ou complet. La variable d'environnement $PWD ne fonctionne pas ici.
      • --platform multicloud spécifie que la plate-forme est une plate-forme autre que Google Cloud, par exemple une plate-forme sur site ou multicloud.
      • --enable_all : permet au script d'effectuer les opérations suivantes :
        • Accorder les autorisations IAM requises.
        • Activer les API Google requises.
        • Définir un libellé sur le cluster qui identifie le réseau maillé.
        • Enregistrer le cluster dans le parc si ce n'est déjà fait.
      • --option attached-cluster Définit l'utilitaire de signature par défaut sur istiod.
      • -ca citadel : utiliser l'autorité de certification Istio comme autorité de certification.
      • --ca_cert : le certificat intermédiaire
      • --ca_key : la clé du certificat intermédiaire
      • --root_cert : le certificat racine
      • --cert_chain : la chaîne de certificats
      • --network_id Si vous configurez un réseau maillé multiréseau, définissez --network_id sur une valeur unique pour chaque cluster du réseau maillé.

    Microsoft AKS

    Exécutez les commandes suivantes sur Microsoft AKS pour installer le plan de contrôle avec les fonctionnalités par défaut et Istio CA. Saisissez vos valeurs dans les espaces réservés fournis.

    1. Définissez le contexte actuel sur votre cluster d'utilisateur :

      kubectl config use-context CLUSTER_NAME
      
    2. Exécutez asmcli install :

      HUB_REGISTRATION_EXTRA_FLAGS=--has-private-issuer ./asmcli install \
        --fleet_id FLEET_PROJECT_ID \
        --kubeconfig KUBECONFIG_FILE \
        --output_dir DIR_PATH \
        --platform multicloud \
        --enable_all \
        --option attached-cluster \
        --ca citadel \
        --ca_cert CA_CERT_FILE_PATH \
        --ca_key CA_KEY_FILE_PATH \
        --root_cert ROOT_CERT_FILE_PATH \
        --cert_chain CERT_CHAIN_FILE_PATH \
        --network_id default
      
      • HUB_REGISTRATION_EXTRA_FLAGS=--has-private-issuer autorise l'enregistrement avec GKE Hub.
      • --fleet_id : ID du projet du projet hôte du parc.
      • --kubeconfig : chemin d'accès complet au fichier kubeconfig. La variable d'environnement $PWD ne fonctionne pas ici. De plus, les emplacements de fichiers kubeconfig relatifs qui utilisent une valeur `~` ne fonctionneront pas.
      • --output_dir : incluez cette option pour spécifier un répertoire dans lequel asmcli télécharge le package anthos-service-mesh et extrait le fichier d'installation, qui contient istioctl, des exemples et des fichiers manifestes. Sinon, asmcli télécharge les fichiers dans un répertoire tmp. Vous pouvez spécifier un chemin d'accès relatif ou complet. La variable d'environnement $PWD ne fonctionne pas ici.
      • --platform multicloud spécifie que la plate-forme est une plate-forme autre que Google Cloud, par exemple une plate-forme sur site ou multicloud.
      • --enable_all : permet au script d'effectuer les opérations suivantes :
        • Accorder les autorisations IAM requises.
        • Activer les API Google requises.
        • Définir un libellé sur le cluster qui identifie le réseau maillé.
        • Enregistrer le cluster dans le parc si ce n'est déjà fait.
      • --option attached-cluster Définit l'utilitaire de signature par défaut sur istiod.
      • -ca citadel : utiliser l'autorité de certification Istio comme autorité de certification.
      • --ca_cert : le certificat intermédiaire
      • --ca_key : la clé du certificat intermédiaire
      • --root_cert : le certificat racine
      • --cert_chain : la chaîne de certificats
      • --network_id Si vous configurez un réseau maillé multiréseau, définissez --network_id sur une valeur unique pour chaque cluster du réseau maillé.

Effectuer l'installation avec Istio CA et Google Cloud Observability activé

Si vous souhaitez utiliser les tableaux de bord Cloud Service Mesh, vous devez activer Stackdriver.

Sur site

Exécutez les commandes suivantes sur Google Distributed Cloud (logiciel uniquement) pour VMware ou Google Distributed Cloud (logiciel uniquement) pour Bare Metal afin d'installer le plan de contrôle avec Stackdriver, d'autres fonctionnalités facultatives et l'autorité de certification Istio. Saisissez vos valeurs dans les espaces réservés fournis.

  1. Définissez le contexte actuel sur votre cluster d'utilisateur :

    kubectl config use-context CLUSTER_NAME
    
  2. Exécutez asmcli install :

    ./asmcli install \
       --fleet_id FLEET_PROJECT_ID \
       --kubeconfig KUBECONFIG_FILE \
       --output_dir DIR_PATH \
       --platform multicloud \
       --enable_all \
       --ca citadel \
       --ca_cert CA_CERT_FILE_PATH \
       --ca_key CA_KEY_FILE_PATH \
       --root_cert ROOT_CERT_FILE_PATH \
       --cert_chain CERT_CHAIN_FILE_PATH
    
    • --fleet_id : ID du projet du projet hôte du parc.
    • --kubeconfig : chemin d'accès complet au fichier kubeconfig. La variable d'environnement $PWD ne fonctionne pas ici. De plus, les emplacements de fichiers kubeconfig relatifs qui utilisent une valeur `~` ne fonctionneront pas.
    • --output_dir : incluez cette option pour spécifier un répertoire dans lequel asmcli télécharge le package anthos-service-mesh et extrait le fichier d'installation, qui contient istioctl, des exemples et des fichiers manifestes. Sinon, asmcli télécharge les fichiers dans un répertoire tmp. Vous pouvez spécifier un chemin d'accès relatif ou complet. La variable d'environnement $PWD ne fonctionne pas ici.
    • --platform multicloud spécifie que la plate-forme est une plate-forme autre que Google Cloud, par exemple une plate-forme sur site ou multicloud.
    • --enable_all : permet au script d'effectuer les opérations suivantes :
      • Accorder les autorisations IAM requises.
      • Activer les API Google requises.
      • Définir un libellé sur le cluster qui identifie le réseau maillé.
      • Enregistrer le cluster dans le parc si ce n'est déjà fait.
    • -ca citadel : utiliser l'autorité de certification Istio comme autorité de certification.
    • --ca_cert : le certificat intermédiaire
    • --ca_key : la clé du certificat intermédiaire
    • --root_cert : le certificat racine
    • --cert_chain : la chaîne de certificats
    • --option stackdriver active l'option Stackdriver. Notez que vous pouvez également activer Stackdriver et Prometheus en utilisant --option prometheus-and-stackdriver.

    Pour afficher les SLO et les métriques d'infrastructure dans l'interface utilisateur de Cloud Service Mesh, vous devez également effectuer les trois premières étapes de la page Activer la journalisation et la surveillance des applications. Si la journalisation et la surveillance ne sont pas activées et ne reçoivent pas de journaux et de métriques personnalisés, le tableau de bord Cloud Service Mesh n'affiche pas les SLO, les journaux d'erreurs ni les métriques de processeur et de mémoire.

AWS

Exécutez les commandes suivantes sur GKE sur AWS pour installer le plan de contrôle avec Stackdriver, d'autres fonctionnalités facultatives et Istio CA. Saisissez vos valeurs dans les espaces réservés fournis. Vous pouvez choisir d'activer l'entrée du sous-réseau public ou du sous-réseau privé.

Public

  1. Définissez le contexte actuel sur votre cluster d'utilisateur :

    kubectl config use-context CLUSTER_NAME
    
  2. Exécutez asmcli install :

    ./asmcli install \
      --fleet_id FLEET_PROJECT_ID \
      --kubeconfig KUBECONFIG_FILE \
      --output_dir DIR_PATH \
      --platform multicloud \
      --enable_all \
      --ca citadel \
      --ca_cert CA_CERT_FILE_PATH \
      --ca_key CA_KEY_FILE_PATH \
      --root_cert ROOT_CERT_FILE_PATH \
      --cert_chain CERT_CHAIN_FILE_PATH \
      --option stackdriver
    
    • --fleet_id : ID du projet du projet hôte du parc.
    • --kubeconfig : chemin d'accès complet au fichier kubeconfig. La variable d'environnement $PWD ne fonctionne pas ici. De plus, les emplacements de fichiers kubeconfig relatifs qui utilisent une valeur `~` ne fonctionneront pas.
    • --output_dir : incluez cette option pour spécifier un répertoire dans lequel asmcli télécharge le package anthos-service-mesh et extrait le fichier d'installation, qui contient istioctl, des exemples et des fichiers manifestes. Sinon, asmcli télécharge les fichiers dans un répertoire tmp. Vous pouvez spécifier un chemin d'accès relatif ou complet. La variable d'environnement $PWD ne fonctionne pas ici.
    • --platform multicloud spécifie que la plate-forme est une plate-forme autre que Google Cloud, par exemple une plate-forme sur site ou multicloud.
    • --enable_all : permet au script d'effectuer les opérations suivantes :
      • Accorder les autorisations IAM requises.
      • Activer les API Google requises.
      • Définir un libellé sur le cluster qui identifie le réseau maillé.
      • Enregistrer le cluster dans le parc si ce n'est déjà fait.
    • -ca citadel : utiliser l'autorité de certification Istio comme autorité de certification.
    • --ca_cert : le certificat intermédiaire
    • --ca_key : la clé du certificat intermédiaire
    • --root_cert : le certificat racine
    • --cert_chain : la chaîne de certificats
    • --option stackdriver active l'option Stackdriver. Notez que vous pouvez également activer Stackdriver et Prometheus en utilisant --option prometheus-and-stackdriver.

Privé

  1. Définissez le contexte actuel sur votre cluster d'utilisateur :

    kubectl config use-context CLUSTER_NAME
    
  2. Enregistrez le fichier YAML suivant dans un fichier appelé istio-operator-internal-lb.yaml :

    apiVersion: install.istio.io/v1alpha1
    kind: IstioOperator
    spec:
      components:
        ingressGateways:
        - enabled: true
          k8s:
            serviceAnnotations:
              service.beta.kubernetes.io/aws-load-balancer-internal: "true"
          name: istio-ingressgateway
    
  3. Exécutez asmcli install :

    ./asmcli install \
      --fleet_id FLEET_PROJECT_ID \
      --kubeconfig KUBECONFIG_FILE \
      --output_dir DIR_PATH \
      --platform multicloud \
      --enable_all \
      --ca citadel \
      --ca_cert FILE_PATH \
      --ca_key FILE_PATH \
      --root_cert FILE_PATH \
      --cert_chain FILE_PATH
      --custom_overlay istio-operator-internal-lb.yaml \
      --option stackdriver
    
    • --fleet_id : ID du projet du projet hôte du parc.
    • --kubeconfig : chemin d'accès complet au fichier kubeconfig. La variable d'environnement $PWD ne fonctionne pas ici. De plus, les emplacements de fichiers kubeconfig relatifs qui utilisent une valeur `~` ne fonctionneront pas.
    • --output_dir : incluez cette option pour spécifier un répertoire dans lequel asmcli télécharge le package anthos-service-mesh et extrait le fichier d'installation, qui contient istioctl, des exemples et des fichiers manifestes. Sinon, asmcli télécharge les fichiers dans un répertoire tmp. Vous pouvez spécifier un chemin d'accès relatif ou complet. La variable d'environnement $PWD ne fonctionne pas ici.
    • --platform multicloud spécifie que la plate-forme est une plate-forme autre que Google Cloud, par exemple une plate-forme sur site ou multicloud.
    • --enable_all : permet au script d'effectuer les opérations suivantes :
      • Accorder les autorisations IAM requises.
      • Activer les API Google requises.
      • Définir un libellé sur le cluster qui identifie le réseau maillé.
      • Enregistrer le cluster dans le parc si ce n'est déjà fait.
    • -ca citadel : utiliser l'autorité de certification Istio comme autorité de certification.
    • --ca_cert : le certificat intermédiaire
    • --ca_key : la clé du certificat intermédiaire
    • --root_cert : le certificat racine
    • --cert_chain : la chaîne de certificats
    • --custom_overlay : nom du fichier de superposition créé. Pour en savoir plus sur les fichiers de superposition, consultez la page Activer des fonctionnalités facultatives sur le plan de contrôle au sein du cluster.
    • --option stackdriver active l'option Stackdriver. Notez que vous pouvez également activer Stackdriver et Prometheus en utilisant --option prometheus-and-stackdriver. Vous pouvez également activer Stackdriver en utilisant --custom_overlay stackdriver.yaml. Vous devez télécharger le package anthos-service-mesh-package, ou créer stackdriver.yaml à partir du fichier manifeste fourni.

Azure

Exécutez les commandes suivantes sur GKE sur Azure pour installer le plan de contrôle avec Stackdriver, d'autres fonctionnalités facultatives et Istio CA. Saisissez vos valeurs dans les espaces réservés fournis. Vous pouvez choisir d'activer Ingress du sous-réseau public ou du sous-réseau privé.

Public

  1. Définissez le contexte actuel sur votre cluster d'utilisateur :

    kubectl config use-context CLUSTER_NAME
    
  2. Exécutez asmcli install :

    ./asmcli install \
      --fleet_id FLEET_PROJECT_ID \
      --kubeconfig KUBECONFIG_FILE \
      --output_dir DIR_PATH \
      --platform multicloud \
      --enable_all \
      --ca citadel \
      --ca_cert CA_CERT_FILE_PATH \
      --ca_key CA_KEY_FILE_PATH \
      --root_cert ROOT_CERT_FILE_PATH \
      --cert_chain CERT_CHAIN_FILE_PATH \
      --option stackdriver
    
    • --fleet_id : ID du projet du projet hôte du parc.
    • --kubeconfig : chemin d'accès complet au fichier kubeconfig. La variable d'environnement $PWD ne fonctionne pas ici. De plus, les emplacements de fichiers kubeconfig relatifs qui utilisent une valeur `~` ne fonctionneront pas.
    • --output_dir : incluez cette option pour spécifier un répertoire dans lequel asmcli télécharge le package anthos-service-mesh et extrait le fichier d'installation, qui contient istioctl, des exemples et des fichiers manifestes. Sinon, asmcli télécharge les fichiers dans un répertoire tmp. Vous pouvez spécifier un chemin d'accès relatif ou complet. La variable d'environnement $PWD ne fonctionne pas ici.
    • --platform multicloud spécifie que la plate-forme est une plate-forme autre que Google Cloud, par exemple une plate-forme sur site ou multicloud.
    • --enable_all : permet au script d'effectuer les opérations suivantes :
      • Accorder les autorisations IAM requises.
      • Activer les API Google requises.
      • Définir un libellé sur le cluster qui identifie le réseau maillé.
      • Enregistrer le cluster dans le parc si ce n'est déjà fait.
    • -ca citadel : utiliser l'autorité de certification Istio comme autorité de certification.
    • --ca_cert : le certificat intermédiaire
    • --ca_key : la clé du certificat intermédiaire
    • --root_cert : le certificat racine
    • --cert_chain : la chaîne de certificats
    • --option stackdriver active l'option Stackdriver. Notez que vous pouvez également activer Stackdriver et Prometheus en utilisant --option prometheus-and-stackdriver.

Privé

  1. Définissez le contexte actuel sur votre cluster d'utilisateur :

    kubectl config use-context CLUSTER_NAME
    
  2. Enregistrez le fichier YAML suivant dans un fichier appelé istio-operator-internal-lb.yaml :

    apiVersion: install.istio.io/v1alpha1
    kind: IstioOperator
    spec:
      components:
        ingressGateways:
        - enabled: true
          k8s:
            serviceAnnotations:
              service.beta.kubernetes.io/aws-load-balancer-internal: "true"
          name: istio-ingressgateway
    
  3. Exécutez asmcli install :

    ./asmcli install \
      --fleet_id FLEET_PROJECT_ID \
      --kubeconfig KUBECONFIG_FILE \
      --output_dir DIR_PATH \
      --platform multicloud \
      --enable_all \
      --ca citadel \
      --ca_cert FILE_PATH \
      --ca_key FILE_PATH \
      --root_cert FILE_PATH \
      --cert_chain FILE_PATH
      --custom_overlay istio-operator-internal-lb.yaml \
      --option stackdriver
    
    • --fleet_id : ID du projet du projet hôte du parc.
    • --kubeconfig : chemin d'accès complet au fichier kubeconfig. La variable d'environnement $PWD ne fonctionne pas ici. De plus, les emplacements de fichiers kubeconfig relatifs qui utilisent une valeur `~` ne fonctionneront pas.
    • --output_dir : incluez cette option pour spécifier un répertoire dans lequel asmcli télécharge le package anthos-service-mesh et extrait le fichier d'installation, qui contient istioctl, des exemples et des fichiers manifestes. Sinon, asmcli télécharge les fichiers dans un répertoire tmp. Vous pouvez spécifier un chemin d'accès relatif ou complet. La variable d'environnement $PWD ne fonctionne pas ici.
    • --platform multicloud spécifie que la plate-forme est une plate-forme autre que Google Cloud, par exemple une plate-forme sur site ou multicloud.
    • --enable_all : permet au script d'effectuer les opérations suivantes :
      • Accorder les autorisations IAM requises.
      • Activer les API Google requises.
      • Définir un libellé sur le cluster qui identifie le réseau maillé.
      • Enregistrer le cluster dans le parc si ce n'est déjà fait.
    • -ca citadel : utiliser l'autorité de certification Istio comme autorité de certification.
    • --ca_cert : le certificat intermédiaire
    • --ca_key : la clé du certificat intermédiaire
    • --root_cert : le certificat racine
    • --cert_chain : la chaîne de certificats
    • --custom_overlay : nom du fichier de superposition créé. Pour en savoir plus sur les fichiers de superposition, consultez la page Activer des fonctionnalités facultatives sur le plan de contrôle au sein du cluster.
    • --option stackdriver active l'option Stackdriver. Notez que vous pouvez également activer Stackdriver et Prometheus en utilisant --option prometheus-and-stackdriver. Vous pouvez également activer Stackdriver en utilisant --custom_overlay stackdriver.yaml. Vous devez télécharger le package anthos-service-mesh-package, ou créer stackdriver.yaml à partir du fichier manifeste fourni.

Amazon EKS

Exécutez les commandes suivantes sur Amazon EKS pour installer le plan de contrôle avec Stackdriver, d'autres fonctionnalités facultatives et Istio CA. Saisissez vos valeurs dans les espaces réservés fournis.

  1. Définissez le contexte actuel sur votre cluster d'utilisateur :

    kubectl config use-context CLUSTER_NAME
    
  2. Exécutez asmcli install :

    ./asmcli install \
      --fleet_id FLEET_PROJECT_ID \
      --kubeconfig KUBECONFIG_FILE \
      --output_dir DIR_PATH \
      --platform multicloud \
      --enable_all \
      --ca citadel \
      --ca_cert CA_CERT_FILE_PATH \
      --ca_key CA_KEY_FILE_PATH \
      --root_cert ROOT_CERT_FILE_PATH \
      --cert_chain CERT_CHAIN_FILE_PATH \
      --option stackdriver \
      --option attached-cluster
    
    • --fleet_id : ID du projet du projet hôte du parc.
    • --kubeconfig : chemin d'accès complet au fichier kubeconfig. La variable d'environnement $PWD ne fonctionne pas ici. De plus, les emplacements de fichiers kubeconfig relatifs qui utilisent une valeur `~` ne fonctionneront pas.
    • --output_dir : incluez cette option pour spécifier un répertoire dans lequel asmcli télécharge le package anthos-service-mesh et extrait le fichier d'installation, qui contient istioctl, des exemples et des fichiers manifestes. Sinon, asmcli télécharge les fichiers dans un répertoire tmp. Vous pouvez spécifier un chemin d'accès relatif ou complet. La variable d'environnement $PWD ne fonctionne pas ici.
    • --platform multicloud spécifie que la plate-forme est une plate-forme autre que Google Cloud, par exemple une plate-forme sur site ou multicloud.
    • --enable_all : permet au script d'effectuer les opérations suivantes :
      • Accorder les autorisations IAM requises.
      • Activer les API Google requises.
      • Définir un libellé sur le cluster qui identifie le réseau maillé.
      • Enregistrer le cluster dans le parc si ce n'est déjà fait.
    • -ca citadel : utiliser l'autorité de certification Istio comme autorité de certification.
    • --ca_cert : le certificat intermédiaire
    • --ca_key : la clé du certificat intermédiaire
    • --root_cert : le certificat racine
    • --cert_chain : la chaîne de certificats
    • --option stackdriver active l'option Stackdriver. Notez que vous pouvez également activer Stackdriver et Prometheus en utilisant --option prometheus-and-stackdriver.
    • --option stackdriver Définit l'utilitaire de signature par défaut sur istiod.

Microsoft AKS

Exécutez les commandes suivantes sur Microsoft AKS pour installer le plan de contrôle avec les fonctionnalités par défaut et Istio CA. Saisissez vos valeurs dans les espaces réservés fournis.

  1. Définissez le contexte actuel sur votre cluster d'utilisateur :

    kubectl config use-context CLUSTER_NAME
    
  2. Exécutez asmcli install :

    HUB_REGISTRATION_EXTRA_FLAGS=--has-private-issuer ./asmcli install \
      --fleet_id FLEET_PROJECT_ID \
      --kubeconfig KUBECONFIG_FILE \
      --output_dir DIR_PATH \
      --platform multicloud \
      --enable_all \
      --ca citadel \
      --ca_cert CA_CERT_FILE_PATH \
      --ca_key CA_KEY_FILE_PATH \
      --root_cert ROOT_CERT_FILE_PATH \
      --cert_chain CERT_CHAIN_FILE_PATH \
      --option stackdriver \
      --option attached-cluster
    
    • HUB_REGISTRATION_EXTRA_FLAGS=--has-private-issuer autorise l'enregistrement avec GKE Hub.
    • --fleet_id : ID du projet du projet hôte du parc.
    • --kubeconfig : chemin d'accès complet au fichier kubeconfig. La variable d'environnement $PWD ne fonctionne pas ici. De plus, les emplacements de fichiers kubeconfig relatifs qui utilisent une valeur `~` ne fonctionneront pas.
    • --output_dir : incluez cette option pour spécifier un répertoire dans lequel asmcli télécharge le package anthos-service-mesh et extrait le fichier d'installation, qui contient istioctl, des exemples et des fichiers manifestes. Sinon, asmcli télécharge les fichiers dans un répertoire tmp. Vous pouvez spécifier un chemin d'accès relatif ou complet. La variable d'environnement $PWD ne fonctionne pas ici.
    • --platform multicloud spécifie que la plate-forme est une plate-forme autre que Google Cloud, par exemple une plate-forme sur site ou multicloud.
    • --enable_all : permet au script d'effectuer les opérations suivantes :
      • Accorder les autorisations IAM requises.
      • Activer les API Google requises.
      • Définir un libellé sur le cluster qui identifie le réseau maillé.
      • Enregistrer le cluster dans le parc si ce n'est déjà fait.
    • -ca citadel : utiliser l'autorité de certification Istio comme autorité de certification.
    • --ca_cert : le certificat intermédiaire
    • --ca_key : la clé du certificat intermédiaire
    • --root_cert : le certificat racine
    • --cert_chain : la chaîne de certificats
    • --option stackdriver active l'option Stackdriver. Notez que vous pouvez également activer Stackdriver et Prometheus en utilisant --option prometheus-and-stackdriver.
    • --option stackdriver Définit l'utilitaire de signature par défaut sur istiod.

Installer avec des fonctionnalités facultatives

Un fichier de superposition est un fichier YAML contenant une ressource personnalisée IstioOperator que vous transmettez à asmcli pour configurer le plan de contrôle. Vous pouvez ignorer la configuration par défaut du plan de contrôle et activer une fonctionnalité facultative en transmettant le fichier YAML à asmcli. Vous pouvez effectuer plusieurs couches de superpositions. Chaque fichier de superposition remplace la configuration dans les couches précédentes. Nous vous conseillons d'enregistrer les fichiers superposés dans votre système de contrôle des versions.

Il existe deux options pour activer les fonctionnalités facultatives : --option et --custom_overlay.

Utilisez --option si vous n'avez pas besoin de modifier le fichier de superposition. Avec cette méthode, asmcli extrait automatiquement le fichier du dépôt GitHub.

Utilisez --custom_overlay lorsque vous devez personnaliser le fichier de superposition.

Pour en savoir plus, consultez la page Activer des fonctionnalités facultatives sur le plan de contrôle au sein du cluster.

Exécutez les commandes suivantes sur Google Distributed Cloud (logiciel uniquement) pour VMware, Google Distributed Cloud (logiciel uniquement) pour Bare Metal, GKE sur AWS, GKE sur Azure, Amazon EKS ou Microsoft AKS. Saisissez vos valeurs dans les espaces réservés fournis.

  1. Définissez le contexte actuel sur votre cluster d'utilisateur :

    kubectl config use-context CLUSTER_NAME
    
  2. Exécutez asmcli install pour installer le plan de contrôle avec une fonctionnalité facultative. Pour ajouter plusieurs fichiers, spécifiez --custom_overlay et le nom du fichier, par exemple : --custom_overlayoverlay_file1.yaml --custom_overlay overlay_file2.yaml --custom_overlay overlay_file3.yaml

    ./asmcli install \
    --fleet_id FLEET_PROJECT_ID \
    --kubeconfig KUBECONFIG_FILE \
    --output_dir DIR_PATH \
    --platform multicloud \
    --enable_all \
    --ca mesh_ca \
    --custom_overlay OVERLAY_FILE
    
    • --fleet_id : ID du projet du projet hôte du parc.
    • --kubeconfig : chemin d'accès complet au fichier kubeconfig. La variable d'environnement $PWD ne fonctionne pas ici. De plus, les emplacements de fichiers kubeconfig relatifs qui utilisent une valeur `~` ne fonctionneront pas.
    • --output_dir : incluez cette option pour spécifier un répertoire dans lequel asmcli télécharge le package anthos-service-mesh et extrait le fichier d'installation, qui contient istioctl, des exemples et des fichiers manifestes. Sinon, asmcli télécharge les fichiers dans un répertoire tmp. Vous pouvez spécifier un chemin d'accès relatif ou complet. La variable d'environnement $PWD ne fonctionne pas ici.
    • --platform multicloud spécifie que la plate-forme est une plate-forme autre que Google Cloud, par exemple une plate-forme sur site ou multicloud.
    • --enable_all : permet au script d'effectuer les opérations suivantes :
      • Accorder les autorisations IAM requises.
      • Activer les API Google requises.
      • Définir un libellé sur le cluster qui identifie le réseau maillé.
      • Enregistrer le cluster dans le parc si ce n'est déjà fait.
    • --ca mesh_ca : utiliser l'autorité de certification Cloud Service Mesh comme autorité de certification. Notez que asmcli configure l'autorité de certification Cloud Service Mesh pour utiliser l'identité de charge de travail de parc.
    • --custom_overlay : spécifier le nom du fichier de superposition.

Installer les passerelles

Cloud Service Mesh vous permet de déployer et de gérer des passerelles avec votre maillage de services. Une passerelle décrit un équilibreur de charge fonctionnant à la périphérie du réseau maillé recevant des connexions HTTP/TCP entrantes ou sortantes. Les passerelles sont des proxys Envoy qui vous permettent de contrôler avec précision le trafic entrant et sortant du réseau maillé.

  1. Créez un espace de noms pour la passerelle d'entrée si vous n'en possédez pas déjà un. Les passerelles sont des charges de travail d'utilisateur. Il est déconseillé de les déployer dans l'espace de noms du plan de contrôle. Remplacez GATEWAY_NAMESPACE par le nom de votre espace de noms.

    kubectl create namespace GATEWAY_NAMESPACE
    

    Résultat attendu :

    namespace/GATEWAY_NAMESPACE created
    
  2. Activez l'injection automatique sur la passerelle. Les étapes requises varient selon que vous souhaitez utiliser des libellés d'injection par défaut (par exemple, istio-injection=enabled) ou le libellé de révision sur l'espace de noms de la passerelle. Le tag de révision et le libellé de révision par défaut sont utilisés par le webhook d'injecteur side-car pour associer les proxys injectés à une révision spécifique du plan de contrôle.

    1. Si vous avez utilisé une révision de tag par défaut pour activer l'injection automatique sur la passerelle, vérifiez que le tag par défaut existe dans le répertoire que vous avez spécifié dans --output_dir et qu'il pointe vers la révision récemment installée.

      DIR_PATH/istioctl tag list
      
    2. Appliquez les libellés d'injection par défaut à l'espace de noms.

      kubectl label namespace GATEWAY_NAMESPACE istio-injection=enabled istio.io/rev-
      

    Libellé de révision

    1. Exécutez la commande suivante pour localiser le libellé de révision sur istiod :

      kubectl get deploy -n istio-system -l app=istiod -o \
        "jsonpath={.items[*].metadata.labels['istio\.io/rev']}{'\n'}"
      

      La commande génère le libellé de révision correspondant à la version de Cloud Service Mesh, par exemple: asm-1226-2

    2. Appliquez le libellé de révision à l'espace de noms. Dans la commande suivante, REVISION correspond à la valeur du libellé de révision istiod que vous avez notée à l'étape précédente.

      kubectl label namespace GATEWAY_NAMESPACE \
        istio.io/rev=REVISION --overwrite
      

      Résultat attendu :

      namespace/GATEWAY_NAMESPACE labeled
      

    Vous pouvez ignorer le message "istio.io/rev" not found dans le résultat. Cela signifie que l'espace de noms ne portait pas précédemment le libellé istio.io/rev, auquel on s'attend dans de nouvelles installations de Cloud Service Mesh ou de nouveaux déploiements. Étant donné que l'injection automatique échoue si un espace de noms possède à la fois le libellé istio.io/rev et le libellé istio-injection, toutes les commandes kubectl label de la documentation Cloud Service Mesh spécifient explicitement les deux libellés.

    Si l'espace de noms de la passerelle n'est pas libellé, les pods istio-ingressgateway échouent avec une erreur ImagePullBackOff lorsque la passerelle tente de récupérer l'image auto. Cette image doit être remplacée par le webhook.

  3. Téléchargez l'exemple de fichier de configuration .yaml de la passerelle d'entrée à partir du dépôt anthos-service-mesh-packages.

  4. Appliquez l'exemple de configuration .yaml de la passerelle d'entrée tel quel ou modifiez-le si nécessaire.

    kubectl apply -n GATEWAY_NAMESPACE \
      -f CONFIG_PATH/istio-ingressgateway
    

    Résultat attendu :

    deployment.apps/istio-ingressgateway created
    poddisruptionbudget.policy/istio-ingressgateway created
    horizontalpodautoscaler.autoscaling/istio-ingressgateway created
    role.rbac.authorization.k8s.io/istio-ingressgateway created
    rolebinding.rbac.authorization.k8s.io/istio-ingressgateway created
    service/istio-ingressgateway created
    serviceaccount/istio-ingressgateway created
    

Découvrez les bonnes pratiques liées aux passerelles.

Déployer et redéployer des charges de travail

Cloud Service Mesh utilise des proxys side-car pour améliorer la sécurité, la fiabilité et l'observabilité du réseau. Avec Cloud Service Mesh, ces fonctions sont extraites du conteneur principal de l'application et mises en œuvre dans un proxy commun hors processus fourni par un conteneur séparé dans le même pod.

L'installation n'est terminée qu'une fois que vous avez activé l'injection automatique du proxy side-car (injection automatique) et que vous avez redémarré les pods de toutes les charges de travail exécutées sur votre cluster avant d'avoir installé Cloud Service Mesh.

Pour activer l'injection automatique, vous devez ajouter un libellé à vos espaces de noms en utilisant les libellés d'injection par défaut, si le tag par défaut est configuré, ou bien un libellé de révision, qui a été défini sur istiod lorsque vous avez installé Cloud Service Mesh. Le tag de révision et le libellé de révision par défaut sont utilisés par le webhook d'injecteur side-car pour associer les side-cars injectés à une révision istiod. Après avoir ajouté le libellé, tous les pods existants dans l'espace de noms doivent être redémarrés pour que les sidecars soient injectés.

Avant de déployer de nouvelles charges de travail dans un espace de noms que vous venez de créer, veillez à configurer l'injection automatique afin que Cloud Service Mesh puisse surveiller et sécuriser le trafic.

  1. Les étapes requises pour activer l'injection automatique varient selon que vous souhaitez utiliser les libellés d'injection par défaut ou le libellé de révision :

    1. Si vous avez utilisé une révision de tag par défaut pour activer l'injection automatique sur la passerelle, vérifiez que le tag par défaut existe dans le répertoire que vous avez spécifié dans --output_dir et qu'il pointe vers la révision récemment installée.

      DIR_PATH/istioctl tag list
      
    2. Exécutez la commande suivante : NAMESPACE est le nom de l'espace de noms dans lequel vous souhaitez activer l'injection automatique.

      kubectl label namespace NAMESPACE istio-injection=enabled istio.io/rev-
      

    Les libellés d'injection par défaut injectent la révision vers laquelle le tag par défaut pointe.

    Libellé de révision

    1. Exécutez la commande suivante pour localiser le libellé de révision sur istiod :

      kubectl -n istio-system get pods -l app=istiod --show-labels
      

      La sortie ressemble à ceci :

      NAME                                READY   STATUS    RESTARTS   AGE   LABELS
      istiod-asm-1226-2-5788d57586-bljj4   1/1     Running   0          23h   app=istiod,istio.io/rev=asm-1226-2,istio=istiod,pod-template-hash=5788d57586
      istiod-asm-1226-2-5788d57586-vsklm   1/1     Running   1          23h   app=istiod,istio.io/rev=asm-1226-2,istio=istiod,pod-template-hash=5788d57586

      Dans le résultat, sous la colonne LABELS, notez la valeur du libellé de révision istiod, qui suit le préfixe istio.io/rev=. Dans cet exemple, la valeur est asm-1226-2.

    2. Appliquez le libellé de révision et supprimez le libellé istio-injection s'il existe. Dans la commande suivante, NAMESPACE est le nom de l'espace de noms dans lequel vous souhaitez activer l'injection automatique, et REVISION est le libellé de révision noté à l'étape précédente.

      kubectl label namespace NAMESPACE istio-injection- istio.io/rev=REVISION --overwrite
      

      Vous pouvez ignorer le message "istio-injection not found" dans le résultat. Cela signifie que l'espace de noms ne portait pas précédemment le libellé istio-injection, auquel on s'attend dans de nouvelles installations de Cloud Service Mesh ou de nouveaux déploiements. Étant donné que le comportement d'injection automatique n'est pas défini lorsqu'un espace de noms possède à la fois le istio-injection et le libellé de révision, toutes les commandes kubectl label de la documentation Cloud Service Mesh s'assurent explicitement qu'un seul est défini.

  2. Si des charges de travail étaient en cours d'exécution sur votre cluster avant d'installer Cloud Service Mesh, redémarrez les pods pour déclencher une réinjection.

    La méthode de redémarrage des pods dépend de votre application et de l'environnement dans lequel se trouve le cluster. Par exemple, dans votre environnement de préproduction, vous pouvez simplement supprimer tous les pods, ce qui entraîne leur redémarrage. Toutefois, dans votre environnement de production, vous pouvez peut-être mettre en œuvre un déploiement bleu-vert afin de pouvoir redémarrer des pods en toute sécurité pour éviter l'interruption du trafic.

    Vous pouvez exécuter kubectl pour effectuer un redémarrage progressif :

    kubectl rollout restart deployment -n NAMESPACE
    

Étape suivante