Anthos Service Mesh est un framework compatible avec Istio pour connecter, surveiller et sécuriser des services exécutés sur Google Kubernetes Engine (GKE) et GKE 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.5.10 sur un nouveau cluster GKE Google Cloud. L'installation active les fonctionnalités suivantes :
- Télémétrie du réseau maillé.
- Sécurité du réseau maillé, y compris l'autorité de certification d'Anthos Service Mesh (Mesh CA).
- Fonctionnalités par défaut compatibles répertoriées sur la page Fonctionnalités compatibles.
Ce guide explique également comment enregistrer votre cluster dans le parc se trouvant dans le même projet Google Cloud que le cluster. Un parc vous permet d'organiser les clusters pour faciliter la gestion multicluster. En enregistrant vos clusters dans un parc, vous pouvez regrouper des services et d'autres infrastructures selon vos besoins pour appliquer des stratégies cohérentes.
Avant de commencer
Ce guide suppose que vous disposez des éléments suivants :
Avant de commencer l'installation :
- Configurez votre environnement. À compter de la version 1.5.10-asm.2, l'installation nécessite
kpt
. - Lisez les informations importantes suivantes.
Conditions requises
Vous devez disposer d'une licence d'essai ou d'un abonnement GKE Enterprise. Pour en savoir plus, consultez le guide des tarifs de GKE Enterprise.
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 15017. 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
-
Obtenez l'ID du projet dans lequel le cluster sera créé :
gcloud
gcloud projects list
Console
- Dans la console Google Cloud, accédez à la page Tableau de bord:
-
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.
- Créez une variable d'environnement pour l'ID de projet :
export PROJECT_ID=YOUR_PROJECT_ID
-
Définissez l'ID de projet par défaut pour l'outil de ligne de commande
gcloud
:gcloud config set project ${PROJECT_ID}
- Créez une variable d'environnement pour le numéro de projet :
export PROJECT_NUMBER=$(gcloud projects describe ${PROJECT_ID} --format="value(projectNumber)")
-
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.
- 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 :
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
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
ourapid
.export CHANNEL=YOUR_CHANNEL
Pour obtenir une description de chaque canal, consultez la section Canaux disponibles.
Définissez la zone ou la région par défaut pour Google Cloud CLI.
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 voussource
lorsque vous démarrez une nouvelle interface système. Vous pouvez également ajouter les commandesgcloud
qui définissent des valeurs par défaut pour le script, ou utilisergcloud init
pour créer et activer une configuration nomméegcloud
.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 la console Google Cloud.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.
- 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 besoin d'exécuter à nouveau la commande, mais l'exécuter à nouveau n'affectera pas votre installation.
-
Obtenez des
identifiants d'authentification pour interagir avec le cluster:
gcloud container clusters get-credentials ${CLUSTER_NAME}
-
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 continuer avec le cluster-admin-binding existant.
Enregistrer votre cluster
Vous devez enregistrer votre cluster auprès du parc du projet pour accéder à l'interface utilisateur unifiée dans la console Google Cloud. Un parc 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 :
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
Créez le compte de service :
gcloud iam service-accounts create ${SERVICE_ACCOUNT_NAME}
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
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"
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
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.
Télécharger le fichier d'installation
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 renvoie rien, revenez à la section Définir les identifiants et les autorisations et exécutez la commande curl
.
-
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.5.10-asm.2-linux.tar.gz
-
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.5.10-asm.2-linux.tar.gz.1.sig openssl dgst -verify - -signature istio-1.5.10-asm.2-linux.tar.gz.1.sig istio-1.5.10-asm.2-linux.tar.gz <<'EOF' -----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF
La sortie attendue est
Verified OK
. -
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.5.10-asm.2-linux.tar.gz
La commande crée un répertoire d'installation dans votre répertoire de travail actuel, nommé
istio-1.5.10-asm.2
, et qui contient les éléments suivants:- Des exemples d'application dans
samples
- Les outils suivants dans le répertoire
bin
:istioctl
: utilisezistioctl
pour installer Anthos Service Mesh.asmctl
: utilisezasmctl
pour valider votre configuration de sécurité après avoir installé Anthos Service Mesh. (Actuellement,asmctl
n'est pas compatible avec GKE sur VMware.)
- Des exemples d'application dans
-
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.5.10-asm.2-osx.tar.gz
-
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.5.10-asm.2-osx.tar.gz.1.sig openssl dgst -sha256 -verify /dev/stdin -signature istio-1.5.10-asm.2-osx.tar.gz.1.sig istio-1.5.10-asm.2-osx.tar.gz <<'EOF' -----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF
La sortie attendue est
Verified OK
. -
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.5.10-asm.2-osx.tar.gz
La commande crée un répertoire d'installation dans votre répertoire de travail actuel, nommé
istio-1.5.10-asm.2
, et qui contient les éléments suivants:- Des exemples d'application dans
samples
- Les outils suivants dans le répertoire
bin
:istioctl
: utilisezistioctl
pour installer Anthos Service Mesh.asmctl
: utilisezasmctl
pour valider votre configuration de sécurité après avoir installé Anthos Service Mesh. (Actuellement,asmctl
n'est pas compatible avec GKE sur VMware.)
- Des exemples d'application dans
-
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.5.10-asm.2-win.zip
-
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.5.10-asm.2-win.zip.1.sig openssl dgst -verify - -signature istio-1.5.10-asm.2-win.zip.1.sig istio-1.5.10-asm.2-win.zip <<'EOF' -----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF
La sortie attendue est
Verified OK
. -
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.5.10-asm.2-win.zip
La commande crée un répertoire d'installation dans votre répertoire de travail actuel, nommé
istio-1.5.10-asm.2
, et qui contient les éléments suivants:- Des exemples d'application dans
samples
- Les outils suivants dans le répertoire
bin
:istioctl
: utilisezistioctl
pour installer Anthos Service Mesh.asmctl
: utilisezasmctl
pour valider votre configuration de sécurité après avoir installé Anthos Service Mesh. (Actuellement,asmctl
n'est pas compatible avec GKE sur VMware.)
- Des exemples d'application dans
-
Assurez-vous d'être dans le répertoire racine de l'installation Anthos Service Mesh.
cd istio-1.5.10-asm.2
-
Pour plus de commodité, ajoutez les outils du répertoire
/bin
à votre variable PATH :export PATH=$PWD/bin:$PATH
Linux
macOS
Windows
Préparer les fichiers de configuration des ressources
Lorsque vous exécutez istioctl apply command
pour installer Anthos Service Mesh, vous spécifiez -f istio-operator.yaml
dans la ligne de commande. Ce fichier contient des informations sur le projet et le cluster nécessaires à l'activation des fonctionnalités de télémétrie et de sécurité de Service Mesh. Vous devez télécharger le fichier istio-operator.yaml
et d'autres fichiers de configuration des ressources, et définir les informations sur le projet et le cluster.
Pour préparer les fichiers de configuration des ressources, procédez comme suit :
Si ce n'est pas déjà fait, installez
kpt
:gcloud components install kpt
Vous pouvez créer un répertoire pour les fichiers de configuration des ressources du package Anthos Service Mesh (facultatif). Si vous envisagez de configurer plusieurs clusters, vous pouvez utiliser le nom du cluster comme nom de répertoire.
Accédez au répertoire dans lequel vous souhaitez télécharger le package Anthos Service Mesh.
Téléchargez le package Anthos Service Mesh dans le répertoire de travail actuel :
kpt pkg get \ https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.5-asm .
Définissez le nom du cluster :
kpt cfg set asm gcloud.container.cluster ${CLUSTER_NAME}
Vous pouvez éventuellement personnaliser les fichiers de configuration des ressources à l'aide de setters
kpt
. Par défaut, ces setters utilisent les valeurs par défaut pourgcloud config
. Si vous définissez les valeursgcloud config
par défaut ou si vous souhaitez modifier les valeurs, exécutez les commande "setter" suivantes :Définissez l'ID du projet :
kpt cfg set asm gcloud.core.project ${PROJECT_ID}
Définissez la zone ou la région par défaut :
kpt cfg set asm gcloud.compute.location ${CLUSTER_LOCATION}
Vous pouvez éventuellement vérifier les fichiers de configuration des ressources dans votre propre système de contrôle des sources, tel que Cloud Source Repositories, pour pouvoir suivre les modifications apportées aux fichiers.
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) ;
- Pipeline de données de télémétrie qui alimente les tableaux de bord Anthos Service Mesh dans la console Google Cloud.
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 \ -f asm/cluster/istio-operator.yaml
mTLS en mode STRICT
istioctl manifest apply --set profile=asm \ -f asm/cluster/istio-operator.yaml \ --set values.global.mtls.enabled=true
Valider l'installation
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 :
- que les API requises par Anthos Service Mesh sont activées sur le projet ;
- que la passerelle Istio-Ingress est correctement configurée pour appeler Mesh CA ;
- 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 :
- la communication TLS mutuelle (mTLS) est correctement configurée ;
- 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 :
Assurez-vous que les identifiants gcloud application-default sont définis :
gcloud auth application-default login
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}
Pour exécuter à la fois les tests de base et de sécurité (en supposant que
istio-1.5.10-asm.2/bin
) se trouve dans votrePATH
), 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
où 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.
Afficher les tableaux de bord 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 la console Google Cloud 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 la console Google Cloud après le déploiement des charges de travail.
L'accès à Anthos Service Mesh dans la console Google Cloud est contrôlé par IAM (Identity and Access Management). 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 la console Google Cloud.
Dans Google Cloud Console, accédez à Anthos Service Mesh.
Sélectionnez le projet Google Cloud dans la liste déroulante de la barre de menu.
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 la console Google Cloud.
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 :
Dans Google Cloud Console, accédez à la page Monitoring :
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.