Installer Anthos Service Mesh sur site

Ce guide explique comment effectuer une installation correcte d'Anthos Service Mesh version 1.10.6-asm.2 sur GKE sur VMware et sur bare metal. Si une version précédente d'Anthos Service Mesh est installée, consultez la page Mettre à niveau Anthos Service Mesh sur site. Le guide d'installation vous explique comment installer l'autorité de certification Anthos Service Mesh (Mesh CA) ou l'autorité de certification Istio (anciennement appelée Citadel). Ce guide fait référence au cluster en tant que cluster1, mais vous pouvez répéter ces étapes pour configurer plusieurs clusters.

À propos des composants du plan de contrôle

GKE sur VMware et bare metal sont fournis avec les composants Istio suivants préinstallés:

  • L'autorité de certification Istio (anciennement Citadel) est installée dans l'espace de noms kube-system.
  • La passerelle d'entrée Istio et d'autres composants Istio sont installés dans l'espace de noms gke-system.

GKE sur VMware et sur bare metal utilisent ces composants pour permettre une entrée et pour sécuriser la communication entre les composants contrôlés par Google. Si vous n'avez besoin que de la fonctionnalité d'entrée, il est inutile d'installer le logiciel Open Source Istio ou Anthos Service Mesh. Pour en savoir plus sur la configuration de l'entrée, consultez la page Activer l'entrée dans la documentation de GKE sur VMware.

Lorsque vous installez Anthos Service Mesh, ses composants sont installés dans l'espace de noms istio-system. Étant donné que les composants d'Anthos Service Mesh se trouvent dans un espace de noms différent, ils n'entrent pas en conflit avec les composants Istio préinstallés.

Avant de commencer

Passez en revue les conditions suivantes avant de commencer la configuration.

Conditions requises

  • Vous devez disposer d'un abonnement Anthos. Une option de facturation à l'usage est également disponible pour GKE Enterprise sur Google Cloud uniquement. Pour en savoir plus, consultez le guide des tarifs de GKE Enterprise.

  • Vérifiez que le cluster d'utilisateur sur lequel vous installez Anthos Service Mesh dispose d'au moins quatre processeurs virtuels, 15 Go de mémoire et quatre nœuds.

  • Vos nœuds de cluster d'utilisateur ont besoin d'Internet pour effectuer l'installation d'Anthos Service Mesh. L'accès à Internet via un proxy HTTP n'est pas possible.

  • Vous devez nommer vos ports de service à l'aide de la syntaxe suivante : name: protocol[-suffix] où les crochets indiquent un suffixe facultatif qui doit commencer par un tiret. Pour plus d'informations, consultez la section Nommer les ports de service.

  • Vérifiez que la version de votre cluster est répertoriée dans la section Environnements compatibles.

VMWare

Pour vérifier la version de votre cluster, vous pouvez utiliser l'outil de ligne de commande gkectl. Si vous n'avez pas installé gkectl, consultez la section Téléchargements de GKE sur VMware.

gkectl version

Bare Metal

Pour vérifier la version de votre cluster, vous pouvez utiliser l'outil de ligne de commande bmctl. Si vous n'avez pas installé bmctl, consultez le guide de démarrage rapide de GDCV pour Bare Metal.

bmctl version

Configurer votre environnement

Vous aurez besoin des outils suivants sur l'ordinateur sur lequel vous contrôlez le processus d'installation. Notez que vous ne pouvez installer Anthos Service Mesh que sur un cluster d'utilisateur, et non sur un cluster d'administrateur.

Après avoir installé gcloud CLI :

  1. Authentifiez-vous en utilisant gcloud CLI :

    gcloud auth login
    
  2. Mettez à jour les composants :

    gcloud components update
    
  3. Installez kubectl :

    gcloud components install kubectl
    
  4. Installez kpt :

       curl -L https://github.com/GoogleContainerTools/kpt/releases/download/v0.39.2/kpt_linux_amd64 > kpt_0_39_2
       chmod +x kpt_0_39_2
       alias kpt="$(readlink -f kpt_0_39_2)"
    

Définir des variables d'environnement

  1. Obtenez le nom de contexte du cluster en utilisant les valeurs de la colonne NAME dans le résultat de cette commande :

    kubectl config get-contexts
  2. Définissez les variables d'environnement sur le nom de contexte du cluster, qui s'affiche dans de nombreuses étapes ultérieures de ce guide :

    export CTX_CLUSTER1=CLUSTER1_CONTEXT_NAME

Accorder des autorisations d'administrateur de cluster

  1. Accordez des autorisations d'administrateur de cluster à votre compte utilisateur (votre adresse e-mail de connexion Google Cloud). Vous avez besoin de ces autorisations pour créer les règles de contrôle d'accès basé sur les rôles (RBAC) nécessaires pour Anthos Service Mesh :

    kubectl --context="${CTX_CLUSTER1}" create clusterrolebinding cluster-admin-binding \
      --clusterrole=cluster-admin \
      --user=USER_ACCOUNT

Télécharger le fichier d'installation

Linux

  1. Téléchargez le fichier d'installation d'Anthos Service Mesh dans votre répertoire de travail actuel :

    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.10.6-asm.2-linux-amd64.tar.gz
  2. Téléchargez le fichier de signature et utilisez openssl pour valider la signature :

    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.10.6-asm.2-linux-amd64.tar.gz.1.sig
    openssl dgst -verify /dev/stdin -signature istio-1.10.6-asm.2-linux-amd64.tar.gz.1.sig istio-1.10.6-asm.2-linux-amd64.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF

    Le résultat attendu est Verified OK.

  3. Extrayez le contenu du fichier vers n'importe quel emplacement de votre système de fichiers. Par exemple, pour extraire le contenu vers le répertoire de travail actuel :

     tar xzf istio-1.10.6-asm.2-linux-amd64.tar.gz

    Cette commande crée un répertoire d'installation dans votre répertoire de travail actuel, nommé istio-1.10.6-asm.2, qui contient les éléments suivants :

    • Des exemples d'applications dans le répertoire samples
    • L'outil de ligne de commande istioctl que vous utilisez pour installer Anthos Service Mesh et qui se trouve dans le répertoire bin
    • Les profils de configuration d'Anthos Service Mesh qui se trouvent dans le répertoire manifests/profiles
  4. Assurez-vous d'être dans le répertoire racine de l'installation Anthos Service Mesh.

    cd istio-1.10.6-asm.2

macOS

  1. Téléchargez le fichier d'installation d'Anthos Service Mesh dans votre répertoire de travail actuel :

    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.10.6-asm.2-osx.tar.gz
  2. Téléchargez le fichier de signature et utilisez openssl pour valider la signature :

    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.10.6-asm.2-osx.tar.gz.1.sig
    openssl dgst -sha256 -verify /dev/stdin -signature istio-1.10.6-asm.2-osx.tar.gz.1.sig istio-1.10.6-asm.2-osx.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF

    Le résultat attendu est Verified OK.

  3. Extrayez le contenu du fichier vers n'importe quel emplacement de votre système de fichiers. Par exemple, pour extraire le contenu vers le répertoire de travail actuel :

    tar xzf istio-1.10.6-asm.2-osx.tar.gz

    Cette commande crée un répertoire d'installation dans votre répertoire de travail actuel, nommé istio-1.10.6-asm.2, qui contient les éléments suivants :

    • Des exemples d'applications dans le répertoire samples
    • L'outil de ligne de commande istioctl que vous utilisez pour installer Anthos Service Mesh et qui se trouve dans le répertoire bin
    • Les profils de configuration d'Anthos Service Mesh qui se trouvent dans le répertoire manifests/profiles
  4. Assurez-vous d'être dans le répertoire racine de l'installation Anthos Service Mesh.

    cd istio-1.10.6-asm.2

Windows

  1. Téléchargez le fichier d'installation d'Anthos Service Mesh dans votre répertoire de travail actuel :

    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.10.6-asm.2-win.zip
  2. Téléchargez le fichier de signature et utilisez openssl pour valider la signature :

    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.10.6-asm.2-win.zip.1.sig
    openssl dgst -verify - -signature istio-1.10.6-asm.2-win.zip.1.sig istio-1.10.6-asm.2-win.zip <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF

    Le résultat attendu est Verified OK.

  3. Extrayez le contenu du fichier vers n'importe quel emplacement de votre système de fichiers. Par exemple, pour extraire le contenu vers le répertoire de travail actuel :

    tar xzf istio-1.10.6-asm.2-win.zip

    Cette commande crée un répertoire d'installation dans votre répertoire de travail actuel, nommé istio-1.10.6-asm.2, qui contient les éléments suivants :

    • Des exemples d'applications dans le répertoire samples
    • L'outil de ligne de commande istioctl que vous utilisez pour installer Anthos Service Mesh et qui se trouve dans le répertoire bin
    • Les profils de configuration d'Anthos Service Mesh qui se trouvent dans le répertoire manifests/profiles
  4. Assurez-vous d'être dans le répertoire racine de l'installation Anthos Service Mesh.

    cd istio-1.10.6-asm.2

Installer Anthos Service Mesh avec Mesh CA

Cette section explique comment installer Anthos Service Mesh avec Mesh CA et enregistrer le cluster dans le parc. Nous vous recommandons d'utiliser Mesh CA pour les raisons suivantes :

  • Mesh CA est un service hautement fiable et évolutif, optimisé pour les charges de travail à scaling dynamique sur Google Cloud et sur site.
  • Avec Mesh CA, Google gère la sécurité et la disponibilité du backend CA.
  • Mesh CA vous permet de dépendre d'une seule racine de confiance dans les clusters.

Si vous souhaitez utiliser l'autorité de certification Istio avec votre propre autorité de certification racine, consultez la section Configurer l'autorité de certification d'Istio.

La fonctionnalité Mesh CA dépend de l'enregistrement du parc. Par défaut, votre cluster est enregistré sur un parc. Pour vérifier l'état de votre cluster, consultez la page Afficher les clusters enregistrés.

  1. Activez les API suivantes :

    gcloud services enable \
      anthos.googleapis.com \
      cloudtrace.googleapis.com \
      cloudresourcemanager.googleapis.com \
      container.googleapis.com \
      compute.googleapis.com \
      gkeconnect.googleapis.com \
      gkehub.googleapis.com \
      iam.googleapis.com \
      iamcredentials.googleapis.com \
      logging.googleapis.com \
      meshca.googleapis.com \
      meshtelemetry.googleapis.com \
      meshconfig.googleapis.com \
      monitoring.googleapis.com \
      stackdriver.googleapis.com \
      sts.googleapis.com
    
  2. Initialisez la configuration du maillage :

    IDENTITY_PROVIDER="$(kubectl get memberships.hub.gke.io membership -o=jsonpath='{.spec.identity_provider}')"
    
    IDENTITY="$(echo "${IDENTITY_PROVIDER}" | sed 's/^https:\/\/gkehub.googleapis.com\/projects\/\(.*\)\/locations\/global\/memberships\/\(.*\)$/\1 \2/g')"
    
    read -r ENVIRON_PROJECT_ID HUB_MEMBERSHIP_ID <<EOF
    ${IDENTITY}
    EOF
    
    POST_DATA='{"workloadIdentityPools":["'${ENVIRON_PROJECT_ID}'.hub.id.goog","'${ENVIRON_PROJECT_ID}'.svc.id.goog"]}'
    
    curl --request POST \
      --header "Content-Type: application/json" \
      --header "Authorization: Bearer $(gcloud auth print-access-token)" \
      --data "${POST_DATA}" \
    https://meshconfig.googleapis.com/v1alpha1/projects/${ENVIRON_PROJECT_ID}:initialize
    
  3. Configurez l'installation :

    kpt pkg get \
    https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.10-asm asm
    
    ENVIRON_PROJECT_NUMBER=$(gcloud projects describe "${ENVIRON_PROJECT_ID}" --format="value(projectNumber)")
    
    CLUSTER_NAME="${HUB_MEMBERSHIP_ID}"
    
    CLUSTER_LOCATION="global"
    
    HUB_IDP_URL="$(kubectl get memberships.hub.gke.io membership -o=jsonpath='{.spec.identity_provider}')"
    
    kpt cfg set asm gcloud.core.project ${ENVIRON_PROJECT_ID}
    kpt cfg set asm gcloud.container.cluster ${CLUSTER_NAME}
    kpt cfg set asm gcloud.compute.location ${CLUSTER_LOCATION}
    kpt cfg set asm anthos.servicemesh.hub gcr.io/gke-release/asm
    kpt cfg set asm anthos.servicemesh.rev asm-1106-2
    kpt cfg set asm anthos.servicemesh.tag 1.10.6-asm.2
    kpt cfg set asm gcloud.project.environProjectNumber ${ENVIRON_PROJECT_NUMBER}
    kpt cfg set asm anthos.servicemesh.hubTrustDomain ${ENVIRON_PROJECT_ID}.svc.id.goog
    kpt cfg set asm anthos.servicemesh.hub-idp-url "${HUB_IDP_URL}"
    
  4. Si nécessaire, basculez vers le répertoire istio-1.10.6-asm.2. Le client istioctl dépend de la version. Veillez à utiliser la version dans le répertoire istio-1.10.6-asm.2/bin.

  5. Exécutez la commande suivante pour installer Anthos Service Mesh.

    bin/istioctl install \
      -f asm/istio/istio-operator.yaml \
      -f asm/istio/options/hub-meshca.yaml --revision=asm-1106-2
    

    Si vous souhaitez activer une fonctionnalité facultative compatible, incluez -f et le nom de fichier YAML dans la ligne de commande suivante, après -f cluster.yaml. Pour en savoir plus, consultez la page Activer les fonctionnalités facultatives.

Installer Anthos Service Mesh avec Istio CA

Cette section explique comment générer des certificats et des clés pour l'autorité de certification Istio qu'Anthos Service Mesh sur site utilise pour signer vos charges de travail. Si vous avez déjà installé Anthos Service Mesh avec Mesh CA, vous pouvez passer à la section Définir le réseau par défaut.

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

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

    mkdir -p certs && \
    pushd certs
  2. 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
  3. 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.

  4. Créez un secret cacerts contenant tous les fichiers d'entrée ca-cert.pem, ca- key.pem, root-cert.pem et cert-chain.pem :

    kubectl --context="${CTX_CLUSTER1}" create namespace istio-system
    kubectl --context="${CTX_CLUSTER1}" create secret generic cacerts -n istio-system \
      --from-file=cluster1/ca-cert.pem \
      --from-file=cluster1/ca-key.pem \
      --from-file=cluster1/root-cert.pem \
      --from-file=cluster1/cert-chain.pem

    Anthos Service Mesh sur site détecte la présence de ces certificats/clés et les utilise lors du processus d'installation lors des étapes suivantes.

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

    popd

Configurer et installer Anthos Service Mesh avec Istio CA

Cette section explique comment installer Anthos Service Mesh avec l'autorité de certification Istio (anciennement appelée Citadel) que vous avez générée précédemment. Si vous avez déjà installé Anthos Service Mesh avec Mesh CA, vous pouvez passer à la section Définir le réseau par défaut.

  1. Créez une variable d'environnement pour l'ID de projet :

    export PROJECT_ID=YOUR_PROJECT_ID
  2. Créez une variable d'environnement pour le numéro de projet :

    export PROJECT_NUMBER=$(gcloud projects describe ${PROJECT_ID} --format="value(projectNumber)")
  3. Créez une variable d'environnement pour l'identifiant de maillage : Il peut s'agir de n'importe quelle chaîne, mais elle doit s'afficher dans un format cohérent entre vos clusters.

    export MESH_ID="proj-${PROJECT_NUMBER}"
  4. Créez la configuration pour le plan de contrôle du cluster, qui installera Anthos Service Mesh à l'aide du profil asm-multicloud. Si vous souhaitez activer une fonctionnalité facultative compatible, incluez -f et le nom de fichier YAML dans la ligne de commande suivante. Pour plus d'informations, consultez la page Activer les fonctionnalités facultatives.

    Dans l'exemple suivant :

    • Utilisez la valeur MESH_ID définie lors des étapes précédentes.

    • NETWORK_ID peut être n'importe quelle chaîne identifiant le réseau d'un cluster. Dans cette configuration sur site, chaque cluster se trouve sur son propre réseau et chaque cluster doit donc avoir une valeur différente. NETWORK_ID présente les mêmes limites de chaîne qu'un libellé Kubernetes, décrites dans la section Syntaxe et jeu de caractères.

    cat <<EOF > cluster.yaml
    apiVersion: install.istio.io/v1alpha1
    kind: IstioOperator
    spec:
      profile: asm-multicloud
      revision: asm-1106-2
      values:
        global:
          meshID: ${MESH_ID}
          multiCluster:
            clusterName: CLUSTER_NAME
          network: NETWORK_ID
    EOF
    
  5. Si nécessaire, basculez vers le répertoire istio-1.10.6-asm.2. Le client istioctl dépend de la version. Veillez à utiliser la version dans le répertoire istio-1.10.6-asm.2/bin.

  6. Exécutez la commande suivante pour installer Anthos Service Mesh. Si vous souhaitez activer une fonctionnalité facultative compatible, incluez -f et le nom de fichier YAML dans la ligne de commande suivante, après -f cluster.yaml. Pour plus d'informations, consultez la page Activer les fonctionnalités facultatives.

    bin/istioctl install \
      --context="${CTX_CLUSTER1}" \
      -f cluster.yaml
    

Définir le réseau par défaut

Définissez le réseau par défaut sur l'espace de noms istio-system.

 kubectl --context="${CTX_CLUSTER1}" label \
 namespace istio-system topology.istio.io/network=NETWORK_ID

Configurer le webhook de validation

Lorsque vous installez Anthos Service Mesh, vous définissez un libellé de révision sur istiod. Vous devez définir la même révision sur le webhook de validation.

  1. Copiez le fichier YAML suivant dans un fichier appelé istiod-service.yaml :

    cat <<EOF > istiod-service.yaml
    apiVersion: v1
    kind: Service
    metadata:
     name: istiod
     namespace: istio-system
     labels:
       istio.io/rev: asm-1106-2
       app: istiod
       istio: pilot
       release: istio
    spec:
     ports:
       - port: 15010
         name: grpc-xds # plaintext
         protocol: TCP
       - port: 15012
         name: https-dns # mTLS with k8s-signed cert
         protocol: TCP
       - port: 443
         name: https-webhook # validation and injection
         targetPort: 15017
         protocol: TCP
       - port: 15014
         name: http-monitoring # prometheus stats
         protocol: TCP
     selector:
       app: istiod
       istio.io/rev: asm-1106-2
    EOF
    
  2. Configurez le webhook de sorte qu'il puisse localiser le service istiod avec le libellé de révision :

    kubectl --context="${CTX_CLUSTER1}" apply -f istiod-service.yaml
    

    Cette commande crée une entrée de service qui permet au webhook de validation de vérifier automatiquement les configurations avant leur application.

L'authentification TLS mutuelle (auto mTLS) est activée par défaut. L'authentification mutuelle mTLS permet à un proxy side-car client de détecter automatiquement si le serveur possède un side-car. Le side-car client envoie l'authentification mTLS aux charges de travail avec des side-cars, et envoie du trafic en texte brut aux charges de travail sans side-car.

Vérifier les composants du plan de contrôle

Vérifiez que les pods du plan de contrôle dans istio-system sont opérationnels :

kubectl --context="${CTX_CLUSTER1}" get pod -n istio-system

Le résultat attendu ressemble à ce qui suit :

NAME                                      READY   STATUS      RESTARTS   AGE
istio-ingressgateway-74cc894bfd-786rg     1/1     Running     0          7m19s
istiod-78cdbbbdb-d7tps                    1/1     Running     0          7m36s
promsd-576b8db4d6-lqf64                   2/2     Running     1          7m19s

Injecter des proxys side-car

Anthos Service Mesh utilise des proxys side-car pour améliorer la sécurité, la fiabilité et l'observabilité du réseau. Avec Anthos 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é Anthos Service Mesh.

Pour activer l'injection automatique, vous devez étiqueter vos espaces de noms avec le même libellé de révision que vous avez défini sur istiod lors de l'installation d'Anthos Service Mesh. Le libellé de révision est utilisé par le webhook d'injecteur side-car pour associer les side-cars injectés à une révision istiod particulière. Après avoir ajouté le libellé, tous les pods existants dans l'espace de noms doivent être redémarrés pour que les side-cars 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 qu'Anthos Service Mesh puisse surveiller et sécuriser le trafic.

Pour activer l'injection automatique, procédez comme suit :

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

    kubectl --context=${CTX_CLUSTER1} \
      -n istio-system get pods -l app=istiod --show-labels
    

    La sortie ressemble à ceci :

    NAME                                READY   STATUS    RESTARTS   AGE   LABELS
    istiod-asm-1106-2-5788d57586-bljj4   1/1     Running   0          23h   app=istiod,istio.io/rev=asm-1106-2,istio=istiod,pod-template-hash=5788d57586
    istiod-asm-1106-2-5788d57586-vsklm   1/1     Running   1          23h   app=istiod,istio.io/rev=asm-1106-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-1106-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 --context=${CTX_CLUSTER1} \
      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 d'Anthos Service Mesh ou de nouveaux déploiements. Étant donné que l'injection automatique échoue si 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 Anthos Service Mesh incluent la suppression du libellé istio-injection.

  3. Si les charges de travail étaient en cours d'exécution sur votre cluster avant d'installer Anthos 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  --context=${CTX_CLUSTER1} \
      rollout restart deployment -n NAMESPACE
    
  4. Vérifiez que vos pods sont configurés pour pointer vers la nouvelle version de istiod.

    kubectl --context=${CTX_CLUSTER1} \
      get pods -n NAMESPACE -l istio.io/rev=REVISION
    

Étape suivante

Si vous envisagez d'utiliser plusieurs clusters pour votre maillage de services sur site, consultez la page Installer Anthos Service Mesh sur site sur plusieurs clusters et réseaux.

Sinon, la prochaine étape consiste à configurer des adresses IP externes.