Anthos Service Mesh 1.4 est arrivé en fin de vie et n'est plus pris en charge. Pour en savoir plus sur la mise à niveau, consultez la section Mettre à niveau depuis des versions antérieures. Accédez à la documentation la plus récente ou sélectionnez une autre version :

Installer Anthos Service Mesh sur un nouveau cluster

Anthos Service Mesh est un framework compatible avec Istio permettant de connecter, surveiller et sécuriser les services exécutés sur Google Kubernetes Engine (GKE) et sur des clusters Anthos sur VMware. Grâce à lui, vous pouvez créer un réseau de services déployés avec équilibrage de charge, authentification de service à service, surveillance et bien plus, sans avoir à modifier le code des services. Anthos Service Mesh injecte automatiquement un proxy side-car pour chacun des pods de votre application. Le proxy side-car intercepte tout le trafic réseau en provenance et à destination des pods. Anthos Service Mesh configure une passerelle d'entrée pour gérer le trafic entrant vers le maillage. Vous pouvez utiliser des API Istio Open Source pour configurer des règles appliquées à l'aide de side-cars et de passerelles.

Ce guide explique comment installer Anthos Service Mesh version 1.4.10-asm.18 sur un nouveau cluster GKE Google Cloud avec les fonctionnalités suivantes activées :

Avant de commencer

Ce guide suppose que vous disposez des éléments suivants :

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

Conditions requises

  • Vous devez disposer d'une licence d'essai ou d'un abonnement Anthos. Pour en savoir plus, consultez le guide des tarifs Anthos.

  • Votre cluster GKE doit répondre aux exigences suivantes :

    • Au moins quatre nœuds.
    • Le type de machine minimal est e2-standard-4, qui comporte quatre processeurs virtuels.
    • Utilisez une version disponible plutôt qu'une version statique de GKE.
  • Pour être inclus dans le maillage de services, les ports de service doivent être nommés et le nom de protocole du port doit respecter la syntaxe suivante : name: protocol[-suffix], où les crochets indiquent un suffixe facultatif qui doit commencer par un tiret. Pour en savoir plus, consultez la section Attribuer des noms aux ports du service.

  • Si vous installez Anthos Service Mesh sur un cluster privé et que vous souhaitez utiliser l'injection side-car automatique, vous devez ajouter une règle de pare-feu pour ouvrir le port 9443. Si vous n'ajoutez pas la règle de pare-feu et que l'injection side-car automatique est activée, le déploiement des charges de travail génère une erreur. Pour plus d'informations sur l'ajout d'une règle de pare-feu, consultez la section Ajouter des règles de pare-feu pour des cas d'utilisation spécifiques.

  • Si vous avez créé un périmètre de service dans votre organisation, vous devrez peut-être ajouter le service Mesh CA au périmètre. Pour en savoir plus, consultez la section Ajouter l'autorité de certification Mesh CA à un périmètre de service.

Restrictions

Une seule installation d'Anthos Service Mesh par projet Google Cloud est acceptée. Les déploiements de plusieurs réseaux maillés dans un seul projet ne sont pas acceptés.

Données de certificat

Les certificats émis par l'autorité de certification d'Anthos Service Mesh (Mesh CA) incluent les données suivantes sur les services de votre application :

  • L'ID de projet Google Cloud
  • L'espace de noms GKE
  • Le nom du compte de service GKE

Configurer le projet

  1. Obtenez l'ID du projet dans lequel le cluster sera créé :

    gcloud

    gcloud projects list

    Console

    1. Dans Cloud Console, accédez à la page Tableau de bord :

      Accéder à la page "Tableau de bord"

    2. Cliquez sur la liste déroulante de sélection du projet située en haut de la page. Sélectionnez votre projet dans la fenêtre Sélectionnez une organisation qui vous est présentée.

      L'ID du projet est affiché sur la fiche Informations sur le projet du tableau de bord du projet.

  2. Créez une variable d'environnement pour l'ID de projet :
    export PROJECT_ID=YOUR_PROJECT_ID
    
  3. Définissez l'ID de projet par défaut pour l'outil de ligne de commande gcloud :
    gcloud config set project ${PROJECT_ID}
  4. Créez une variable d'environnement pour le numéro de projet :
    export PROJECT_NUMBER=$(gcloud projects describe ${PROJECT_ID} --format="value(projectNumber)")

  5. Définissez les rôles IAM (gestion de l'authentification et des accès). Si vous êtes un propriétaire de projet, vous disposez de toutes les autorisations nécessaires pour terminer l'installation et enregistrer votre cluster avec votre environnement. Si vous n'êtes pas un propriétaire de projet, quelqu'un doit vous accorder les rôles IAM spécifiques suivants. Dans la commande suivante, remplacez GCP_EMAIL_ADDRESS par le compte que vous utilisez pour vous connecter à Google Cloud.
    gcloud projects add-iam-policy-binding ${PROJECT_ID} \
         --member user:GCP_EMAIL_ADDRESS \
         --role=roles/editor \
         --role=roles/compute.admin \
         --role=roles/container.admin \
         --role=roles/resourcemanager.projectIamAdmin \
         --role=roles/iam.serviceAccountAdmin \
         --role=roles/iam.serviceAccountKeyAdmin \
         --role=roles/gkehub.admin

    Pour en savoir plus sur l'attribution de rôles IAM, consultez la page Accorder, modifier et révoquer les accès à des ressources. Pour obtenir une description de ces rôles, consultez la section Autorisations requises pour installer Anthos Service Mesh.

  6. Activez les API suivantes :
    gcloud services enable \
        container.googleapis.com \
        compute.googleapis.com \
        monitoring.googleapis.com \
        logging.googleapis.com \
        cloudtrace.googleapis.com \
        meshca.googleapis.com \
        meshtelemetry.googleapis.com \
        meshconfig.googleapis.com \
        iamcredentials.googleapis.com \
        anthos.googleapis.com \
        gkeconnect.googleapis.com \
        gkehub.googleapis.com \
        cloudresourcemanager.googleapis.com

    L'activation des API peut prendre une minute ou plus. Lorsque les API sont activées, un résultat semblable au suivant s'affiche :

    Operation "operations/acf.601db672-88e6-4f98-8ceb-aa3b5725533c" finished
    successfully.
    

Configurer un nouveau cluster GKE

Cette section explique les bases de la création d'un cluster GKE avec les options requises pour Anthos Service Mesh. Pour en savoir plus, consultez la page Créer un cluster.

Pour configurer un nouveau cluster, procédez comme suit :

  1. Sélectionnez une zone ou une région, un type de machine et une version disponible GKE pour le nouveau cluster. Le type de machine minimal requis par Anthos Service Mesh est e2-standard-4. Vous pouvez utiliser n'importe quelle version disponible.

    • Si vous allez créer un cluster à zone unique, exécutez la commande suivante pour obtenir la liste des zones GCP disponibles :

      gcloud compute zones list
      
    • Si vous souhaitez créer un cluster régional, exécutez la commande suivante pour obtenir la liste des régions disponibles :

      gcloud compute regions list
      
    • Pour obtenir une liste des types de machines :

      gcloud compute machine-types list | more
      
  2. Créez les variables d'environnement suivantes :

    • Définissez le nom du cluster :

      export CLUSTER_NAME=YOUR_CLUSTER_NAME

      Le nom du cluster ne doit contenir que des caractères alphanumériques minuscules et "-". Il doit également commencer par une lettre et se terminer par un caractère alphanumérique, et ne pas dépasser 40 caractères.

    • Définissez le paramètre CLUSTER_LOCATION sur la zone ou la région de votre cluster :

      export CLUSTER_LOCATION=YOUR_ZONE_OR_REGION
    • Définissez le pool de charges de travail :

      export WORKLOAD_POOL=${PROJECT_ID}.svc.id.goog
    • Définissez l'ID du réseau maillé :

      export MESH_ID="proj-${PROJECT_NUMBER}"
    • Définissez la version disponible. Remplacez YOUR_CHANNEL par l'un des éléments suivants : regular, stable ou rapid.

      export CHANNEL=YOUR_CHANNEL

      Pour obtenir une description de chaque canal, consultez la section Canaux disponibles.

  3. Définissez la zone ou la région par défaut pour l'outil de ligne de commande gcloud.

    • Pour un cluster à zone unique, définissez la zone par défaut :

      gcloud config set compute/zone ${CLUSTER_LOCATION}
    • Pour un cluster régional, définissez la région par défaut :

      gcloud config set compute/region ${CLUSTER_LOCATION}

    Conseil : Pour faciliter la configuration de votre environnement shell à l'avenir, vous pouvez copier et coller les instructions export de chaque variable d'environnement dans un script shell simple que vous source lorsque vous démarrez une nouvelle interface système. Vous pouvez également ajouter les commandes gcloud qui définissent des valeurs par défaut pour le script, ou utiliser gcloud init pour créer et activer une configuration nommée gcloud.

  4. Créez le cluster avec les options requises par Anthos Service Mesh. La commande suivante crée un cluster contenant quatre nœuds de type de machine e2-standard-4, qui possède quatre processeurs virtuels. Il s'agit du type de machine minimal et du nombre de nœuds requis pour Anthos Service Mesh. Vous pouvez spécifier un autre type de machine tant qu'il possède au moins quatre processeurs virtuels. Vous pouvez également augmenter le nombre de nœuds en fonction des besoins de votre système.

    gcloud beta container clusters create ${CLUSTER_NAME} \
        --machine-type=e2-standard-4 \
        --num-nodes=4 \
        --workload-pool=${WORKLOAD_POOL} \
        --enable-stackdriver-kubernetes \
        --subnetwork=default \
        --labels=mesh_id=${MESH_ID} \
        --release-channel=${CHANNEL}

    La commande clusters create inclut les éléments suivants :

    • workload-pool=${WORKLOAD_POOL} : active Workload Identity, la méthode recommandée pour accéder en toute sécurité aux services Google Cloud à partir d'applications GKE.

    • enable-stackdriver-kubernetes : active Cloud Monitoring et Cloud Logging sur GKE.

    • subnetwork=default : crée un sous-réseau par défaut.

    • labels mesh_id=${MESH_ID} : définit le libellé mesh_id sur le cluster, qui est nécessaire pour que les métriques s'affichent sur les pages Anthos Service Mesh de Cloud Console.

    • release-channel ${CHANNEL} : enregistre le cluster dans la version disponible spécifiée.

Définir des identifiants et des autorisations

Avant de continuer, assurez-vous d'avoir activé toutes les API requises. En cas de doute, il n'est pas grave d'exécuter à nouveau la commande gcloud services enable.

  1. Initialisez votre projet afin de le préparer pour l'installation. Cette commande crée, entre autres, un compte de service pour permettre aux composants Istio, tels que le proxy side-car, d'accéder en toute sécurité aux données et aux ressources du projet :
    curl --request POST \
      --header "Authorization: Bearer $(gcloud auth print-access-token)" \
      --data '' \
      https://meshconfig.googleapis.com/v1alpha1/projects/${PROJECT_ID}:initialize

    La commande renvoie des accolades vides : {}

    Si vous installez une nouvelle version d'Anthos Service Mesh sur ce cluster à l'avenir, vous n'aurez pas à exécuter de nouveau la commande, mais le fait d'exécuter à nouveau la commande n'affectera pas votre installation.

  2. Obtenez des identifiants d'authentification pour interagir avec le cluster :
    gcloud container clusters get-credentials ${CLUSTER_NAME}
  3. Accordez des autorisations d'administrateur de cluster à l'utilisateur actuel. 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 create clusterrolebinding cluster-admin-binding \
      --clusterrole=cluster-admin \
      --user="$(gcloud config get-value core/account)"

    Si l'erreur "cluster-admin-binding" already exists s'affiche, vous pouvez l'ignorer en toute sécurité et poursuivre avec le cluster-admin-binding existant.

Enregistrer votre cluster

Vous devez enregistrer votre cluster auprès de l'Environ du projet pour accéder à l'interface utilisateur unifiée dans Cloud Console. Un Environ constitue un moyen unifié d'afficher et de gérer les clusters et leurs charges de travail, y compris les clusters extérieurs à Google Cloud.

Créer un compte de service et un fichier de clé Google Cloud

Un fichier JSON contenant des identifiants de compte de service est requis pour enregistrer un cluster. Pour respecter le principe du moindre privilège, nous vous recommandons de créer un compte de service distinct pour chaque cluster que vous enregistrez.

Pour créer un compte de service et un fichier de clé, procédez comme suit :

  1. Sélectionnez un nom pour le compte de service et créez une variable d'environnement pour celui-ci :

    export SERVICE_ACCOUNT_NAME=SERVICE_ACCOUNT_NAME
    
  2. Créez le compte de service :

    gcloud iam service-accounts create ${SERVICE_ACCOUNT_NAME}
  3. Répertoriez tous les comptes de service d'un projet pour confirmer que le compte de service a été créé :

    gcloud iam service-accounts list
  4. Liez le rôle IAM gkehub.connect au compte de service :

    gcloud projects add-iam-policy-binding ${PROJECT_ID} \
       --member="serviceAccount:${SERVICE_ACCOUNT_NAME}@${PROJECT_ID}.iam.gserviceaccount.com" \
       --role="roles/gkehub.connect"
  5. Créez une variable d'environnement pour le chemin d'accès local à l'emplacement où vous souhaitez enregistrer le fichier JSON. Nous vous recommandons de nommer le fichier en utilisant le nom du compte de service et votre ID de projet, par exemple : /tmp/creds/${SERVICE_ACCOUNT_NAME}-${PROJECT_ID}.json

    export SERVICE_ACCOUNT_KEY_PATH=LOCAL_KEY_PATH
  6. Téléchargez le fichier JSON contenant la clé privée du compte de service :

    gcloud iam service-accounts keys create ${SERVICE_ACCOUNT_KEY_PATH} \
       --iam-account=${SERVICE_ACCOUNT_NAME}@${PROJECT_ID}.iam.gserviceaccount.com

Enregistrer le cluster

Dans la commande suivante, remplacez MEMBERSHIP_NAME par un nom qui représente de manière unique le cluster enregistré sur le Hub.

gcloud container hub memberships register MEMBERSHIP_NAME \
    --gke-cluster=${CLUSTER_LOCATION}/${CLUSTER_NAME} \
    --service-account-key-file=${SERVICE_ACCOUNT_KEY_PATH}

La commande renvoie un résultat semblable à celui-ci :

kubeconfig entry generated for CLUSTER_NAME.
Waiting for membership to be created...done.
Created a new membership [projects/PROJECT_ID/locations/global/memberships/MEMBERSHIP_NAME] for the cluster [MEMBERSHIP_NAME]
Generating the Connect Agent manifest...
Deploying the Connect Agent on cluster [MEMBERSHIP_NAME] in namespace [gke-connect]...
Deployed the Connect Agent on cluster [MEMBERSHIP_NAME] in namespace [gke-connect].
Finished registering the cluster [MEMBERSHIP_NAME] with the Hub.

Cette clé de compte de service est stockée sous la forme d'un secret nommé creds-gcp dans l'espace de noms gke-connect.

Pour en savoir plus sur l'enregistrement des clusters, consultez la page Enregistrer un cluster dans la documentation de Connect.

Préparer l'installation d'Anthos Service Mesh

Avant de continuer, vérifiez que le compte de service du plan de données ASM de maillage est membre du projet :

gcloud projects get-iam-policy ${PROJECT_ID} | grep -B 1 'roles/meshdataplane.serviceAgent'

Si la commande précédente ne génère aucun résultat, revenez à la section Définir les identifiants et les autorisations et exécutez la commande curl.

    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.4.10-asm.18-linux.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.4.10-asm.18-linux.tar.gz.1.sig
    openssl dgst -verify - -signature istio-1.4.10-asm.18-linux.tar.gz.1.sig istio-1.4.10-asm.18-linux.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF

    La sortie attendue est Verified OK.

  3. macOS

  4. 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.4.10-asm.18-osx.tar.gz
  5. 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.4.10-asm.18-osx.tar.gz.1.sig
    openssl dgst -sha256 -verify /dev/stdin -signature istio-1.4.10-asm.18-osx.tar.gz.1.sig istio-1.4.10-asm.18-osx.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF

    La sortie attendue est Verified OK.

  6. Windows

  7. 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.4.10-asm.18-win.zip
  8. 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.4.10-asm.18-win.zip.1.sig
    openssl dgst -verify - -signature istio-1.4.10-asm.18-win.zip.1.sig istio-1.4.10-asm.18-win.zip <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF

    La sortie attendue est Verified OK.

  9. 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.4.10-asm.18-linux.tar.gz

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

    • Des exemples d'application dans samples
    • Les outils suivants dans le répertoire bin :
      • istioctl : utilisez istioctl pour installer Anthos Service Mesh.
      • asmctl : utilisez asmctl pour valider votre configuration de sécurité après avoir installé Anthos Service Mesh. (Actuellement, asmctl n'est pas compatible avec les clusters Anthos sur VMware.)

  10. Assurez-vous d'être dans le répertoire racine de l'installation d'Anthos Service Mesh.
    cd istio-1.4.10-asm.18
  11. Pour plus de simplicité, ajoutez les outils du répertoire /bin à votre PATH.
    export PATH=$PWD/bin:$PATH

Installer Anthos Service Mesh

Cette section explique comment installer Anthos Service Mesh et activer :

  • Fonctionnalités par défaut compatibles répertoriées sur la page Fonctionnalités compatibles.
  • l'autorité de certification Anthos Service Mesh (Mesh CA) ;
  • le pipeline de données de télémétrie qui alimente les tableaux de bord Anthos Service Mesh dans Google Cloud Console.

Pour plus d'informations sur l'activation des fonctionnalités facultatives compatibles, consultez Activer des fonctionnalités facultatives.

Pour installer Anthos Service Mesh, procédez comme suit :

Choisissez l'une des commandes suivantes pour configurer Anthos Service Mesh en mode d'authentification TLS mutuel (mTLS) PERMISSIVE ou en mode mTLS STRICT.

mTLS en mode PERMISSIVE

istioctl manifest apply --set profile=asm \
  --set values.global.trustDomain=${WORKLOAD_POOL} \
  --set values.global.sds.token.aud=${WORKLOAD_POOL} \
  --set values.nodeagent.env.GKE_CLUSTER_URL=https://container.googleapis.com/v1/projects/${PROJECT_ID}/locations/${CLUSTER_LOCATION}/clusters/${CLUSTER_NAME} \
  --set values.global.meshID=${MESH_ID} \
  --set values.global.proxy.env.GCP_METADATA="${PROJECT_ID}|${PROJECT_NUMBER}|${CLUSTER_NAME}|${CLUSTER_LOCATION}"

mTLS en mode STRICT

istioctl manifest apply --set profile=asm \
  --set values.global.trustDomain=${WORKLOAD_POOL} \
  --set values.global.sds.token.aud=${WORKLOAD_POOL} \
  --set values.nodeagent.env.GKE_CLUSTER_URL=https://container.googleapis.com/v1/projects/${PROJECT_ID}/locations/${CLUSTER_LOCATION}/clusters/${CLUSTER_NAME} \
  --set values.global.meshID=${MESH_ID} \
  --set values.global.proxy.env.GCP_METADATA="${PROJECT_ID}|${PROJECT_NUMBER}|${CLUSTER_NAME}|${CLUSTER_LOCATION}" \
  --set values.global.mtls.enabled=true

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 get pod -n istio-system

Un résultat semblable aux lignes suivantes doit s'afficher :

NAME                                      READY   STATUS      RESTARTS   AGE
istio-galley-5c65896ff7-m2pls             2/2     Running     0          18m
istio-ingressgateway-587cd459f-q6hqt      2/2     Running     0          18m
istio-nodeagent-74w69                     1/1     Running     0          18m
istio-nodeagent-7524w                     1/1     Running     0          18m
istio-nodeagent-7652w                     1/1     Running     0          18m
istio-nodeagent-7948w                     1/1     Running     0          18m
istio-pilot-9db77b99f-7wfb6               2/2     Running     0          18m
istio-sidecar-injector-69c4d9f875-dt8rn   1/1     Running     0          18m
promsd-55f464d964-lqs7w                   2/2     Running     0          18m

Une instance de istio-nodeagent doit s'afficher pour chaque nœud de votre cluster. Mesh CA, qui remplace le composant Istio Citadel OSS, crée les agents de nœuds pour émettre des certificats mTLS pour les charges de travail exécutées dans votre maillage de services.

Valider les fonctionnalités de sécurité

Nous vous recommandons d'utiliser l'outil d'analyse asmctl pour valider la configuration de base de votre projet, de votre cluster et de vos charges de travail. Si un test asmctl échoue, asmctl recommande des solutions, si possible. La commande asmctl validate exécute des tests de base qui vérifient :

  1. que les API requises par Anthos Service Mesh sont activées sur le projet ;
  2. que la passerelle Istio-Ingress est correctement configurée pour appeler Mesh CA ;
  3. l'état général d'Istiod et de la passerelle Istio-Ingress.

Si vous exécutez la commande asmctl validate avec l'option facultative --with-testing-workloads, en plus des tests de base, asmctl exécute les tests de sécurité qui vérifient que :

  1. la communication TLS mutuelle (mTLS) est correctement configurée ;
  2. Mesh CA peut émettre des certificats.

Pour exécuter les tests de sécurité, asmctl déploie des charges de travail sur votre cluster dans un espace de noms de test, exécute les tests de communication mTLS, fournit les résultats et supprime l'espace de noms de test.

Pour exécuter asmctl, procédez comme suit :

  1. Assurez-vous que les identifiants gcloud application-default sont définis :

     gcloud auth application-default login
    
  2. Si vous ne l'avez pas déjà fait, obtenez des identifiants d'authentification pour interagir avec le cluster :

     gcloud container clusters get-credentials ${CLUSTER_NAME}
    
  3. Pour exécuter à la fois les tests de base et de sécurité (en supposant que istio-1.4.10-asm.18/bin) se trouve dans votre PATH), procédez comme suit :

    asmctl validate --with-testing-workloads
    

    Si l'opération réussit, la commande renvoie une sortie semblable à ce qui suit :

    [asmctl version 0.3.0]
    Using Kubernetes context: example-project_us-central1-example-cluster
    To change the context, use the --context flag
    Validating enabled APIs
    OK
    Validating ingressgateway configuration
    OK
    Validating istio system
    OK
    Validating sample traffic
    Launching example services...
    Sent traffic to example service http code: 200
    verified mTLS configuration
    OK
    Validating issued certs
    OK
    

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.

Avant de déployer des charges de travail, assurez-vous de configurer l'injection du proxy side-car afin qu'Anthos Service Mesh puisse surveiller et sécuriser le trafic.

Vous pouvez activer l'injection side-car automatique avec une seule commande, par exemple :

kubectl label namespace NAMESPACE istio-injection=enabled --overwrite

NAMESPACE est le nom de l'espace de noms pour les services de votre application ou default si vous n'avez pas créé explicitement d'espace de noms.

Pour en savoir plus, consultez la section Injecter des proxys side-car.

Activer les règles de sécurité des pods

Pour une sécurité optimale sur votre maillage de services, nous vous recommandons d'activer les règles de sécurité des pods.

Afficher les pages Anthos Service Mesh

Une fois que les charges de travail sont déployées sur votre cluster et que les proxys side-car ont été injectés, vous pouvez explorer les pages Anthos Service Mesh de Cloud Console pour consulter toutes les fonctionnalités d'observabilité offertes par Anthos Service Mesh. Notez qu'il faut environ une à deux minutes pour que les données de télémétrie soient affichées dans Cloud Console après le déploiement des charges de travail.

L'accès à Anthos Service Mesh dans Cloud Console est contrôlé par la gestion de l'authentification et des accès (IAM). Pour permettre l'accès aux pages Anthos Service Mesh, un propriétaire de projet doit accorder aux utilisateurs le rôle éditeur ou lecteur de projet, ou les rôles plus restrictifs décrits dans la section Contrôler l'accès à Anthos Service Mesh dans Cloud Console.

  1. Dans Google Cloud Console, accédez à Anthos Service Mesh.

    Accéder à Anthos Service Mesh

  2. Sélectionnez le projet sur le cloud dans la liste déroulante de la barre de menu.

  3. Si vous avez plusieurs maillages de services, sélectionnez le maillage dans la liste déroulante Maillage de services.

Pour en savoir plus, consultez la page Explorer Anthos Service Mesh dans Cloud Console.

Outre les pages Anthos Service Mesh, les métriques liées à vos services (telles que le nombre de requêtes reçues par un service particulier) sont envoyées à Cloud Monitoring, où elles apparaissent dans l'explorateur de métriques.

Pour afficher les métriques, procédez comme suit :

  1. Dans Google Cloud Console, accédez à la page Monitoring :

    Accéder à Monitoring

  2. Sélectionnez Ressources > Explorateur de métriques.

Pour obtenir la liste complète des métriques, consultez la section Métriques Istio dans la documentation Cloud Monitoring.

Étape suivante