Ce guide explique comment installer, migrer ou mettre à niveau vers la version 1.10.6 du service Anthos Service Mesh pour un maillage contenant un ou plusieurs clusters GKE appartenant au même projet. Vous utilisez un script fourni par Google, install_asm
, qui configure votre projet et votre cluster, puis installe Anthos Service Mesh à l'aide de istioctl install
.
Vous pouvez utiliser ce guide et le script pour les cas d'utilisation suivants :
Les nouvelles installations d'Anthos Service Mesh 1.10.6.
Mise à niveau à partir de n'importe quelle version et version de correctif 1.7 ou ultérieure vers Anthos Service Mesh 1.10.6. Les mises à niveau à partir de versions antérieures ne sont pas acceptées.
La migration du logiciel Open Source Istio vers Anthos Service Mesh. Si vous disposez d'Istio 1.6 ou d'une version antérieure, vous devez d'abord effectuer la mise à niveau avant de migrer vers Anthos Service Mesh. Si vous disposez d'Istio 1.7 ou d'une version ultérieure, vous pourrez peut-être utiliser la fonctionnalité Migrer depuis Istio 1.7 ou version ultérieure vers Anthos Service Mesh et Mesh CA. Si vous devez effectuer une mise à niveau, accédez à la page Mettre à niveau Istio dans la version d'Istio applicable. Notez que la mise à niveau d'Istio vers plusieurs versions mineures (par exemple, 1.6.x vers 1.8.x) en une seule étape n'est pas officiellement testée ni recommandée. Pour planifier votre migration, veillez à consulter la page Préparer la migration depuis Istio.
Prérequis
Ce guide suppose que vous disposez des éléments suivants :
- Un projet Google Cloud
- Un compte Cloud Billing
- Un cluster GKE répondant aux exigences.
Différences entre Anthos et Anthos Service Mesh
Anthos Service Mesh est disponible avec GKE Enterprise ou en tant que service autonome. Les API Google permettent de déterminer votre mode de facturation. Pour utiliser Anthos Service Mesh en tant que service autonome, n'activez pas l'API GKE Enterprise dans votre projet. Le script active toutes les autres API Google requises à votre place. Pour en savoir plus sur la tarification d'Anthos Service Mesh, consultez la page Tarifs.
Si vous êtes abonné à GKE Enterprise, veillez à activer l'API GKE Enterprise.
Si vous n'êtes pas abonné à GKE Enterprise, vous pouvez toujours installer Anthos Service Mesh, mais certains éléments d'interface utilisateur et fonctionnalités de la console Google Cloud ne sont disponibles que pour les abonnés GKE Enterprise. Pour en savoir plus sur ce qui est disponible pour les abonnés et les non-abonnés, consultez la section Différences entre les interfaces utilisateur de GKE Enterprise et d'Anthos Service Mesh.
Si vous avez activé l'API GKE Enterprise, mais que vous souhaitez utiliser Anthos Service Mesh en tant que service autonome, désactivez l'API GKE Enterprise.
Conditions requises
Votre cluster GKE doit répondre aux exigences suivantes :
Le cluster GKE doit être standard, car les clusters Autopilot ont des limites de webhooks qui n'autorisent pas
MutatingWebhookConfiguration
pour leistio-sidecar-injector
.Type de machine comportant au moins quatre processeurs virtuels, par exemple
e2-standard-4
. Si le type de machine de votre cluster ne comporte pas au moins quatre processeurs virtuels, modifiez le type de machine comme décrit dans la section Migrer des charges de travail vers différents types de machines.Le nombre minimal de nœuds dépend du type de machine. Anthos Service Mesh nécessite au moins huit processeurs virtuels. Si le type de machine comporte quatre processeurs virtuels, votre cluster doit comporter au moins deux nœuds. Si le type de machine comporte huit processeurs virtuels, le cluster n'a besoin que d'un nœud. Si vous devez ajouter des nœuds, consultez la page Redimensionner un cluster.
Par défaut, le script active Workload Identity sur votre cluster. Workload Identity est la méthode recommandée pour appeler les API Google. L'activation de Workload Identity modifie la manière dont les appels de vos charges de travail vers les API Google sont sécurisés, comme décrit dans la section Limites de Workload Identity.
Si vous effectuez une nouvelle installation et envisagez d'utiliser l'autorité de certification Anthos Service Mesh (Mesh CA), vous pouvez utiliser le pool d'identités de charge de travail du parc en remplacement de la fonctionnalité Workload Identity de GKE. Pour utiliser Mesh CA avec le pool d'identités de charge de travail du parc (Bêta), vous devez suivre les étapes décrites dans la section Enregistrer un cluster avant d'exécuter le script, ou bien inclure l'option
--enable_registration
lorsque vous exécutez le script afin de permettre au script d'enregistrer le cluster dans le projet qui l'héberge. Pour obtenir un exemple d'exécution du script, consultez la section Activer Mesh CA avec le pool d'identités de charge de travail du parc.Nous vous recommandons d'inscrire le cluster dans une version disponible, mais cela n'est pas obligatoire. Nous vous recommandons de vous inscrire à la version disponible standard, car d'autres versions peuvent être basées sur une version de GKE non compatible avec Anthos Service Mesh 1.10.6. Pour plus d'informations, consultez la section Environnements compatibles. Suivez les instructions de la page Enregistrer un cluster existant dans une version disponible si vous disposez d'une version GKE statique.
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 plus d'informations, consultez la section Nommer les ports de service.Si vous installez Anthos Service Mesh sur un cluster privé, vous devez ouvrir le port 15017 dans le pare-feu pour que les webhooks utilisés pour l'injection side-car automatique et la validation de la configuration fonctionnent correctement. Pour en savoir plus, consultez la page Ouvrir un port sur un cluster privé.
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.
Pour les migrations,
istiod
doit être installé dans l'espace de nomsistio-system
, ce qui est généralement le cas.Un projet Google Cloud ne peut être associé qu'à un seul réseau maillé.
Si vous souhaitez modifier les limites de ressources par défaut pour le conteneur side-car
istio-proxy
, les nouvelles valeurs doivent être supérieures aux valeurs par défaut afin d'éviter -Événements de mémoire (OOM).Pour les charges de travail Windows Server, Istio n'est pas compatible. Si votre cluster comporte à la fois des pools de nœuds Linux et Windows Server, vous pouvez toujours installer Anthos Service Mesh et l'utiliser sur vos charges de travail Linux.
Personnaliser le plan de contrôle
Les fonctionnalités compatibles avec Anthos Service Mesh diffèrent selon les plates-formes. Nous vous recommandons de consulter les fonctionnalités compatibles pour connaître les fonctionnalités compatibles avec GKE sur Google Cloud. Certaines fonctionnalités sont activées par défaut. Vous pouvez activer les autres fonctionnalités en créant un fichier de superposition IstioOperator
.
Lorsque vous exécutez le script install_asm
, vous pouvez spécifier l'option --custom_overlay
avec le fichier de superposition.
Choisir une autorité de certification
Pour les nouvelles installations et les migrations à partir d'Istio, vous pouvez utiliser l'autorité de certification Anthos Service Mesh (Mesh CA) ou Citadel d'Istio en tant qu'autorité de certification (CA) pour émettre des certificats TLS mutuels (mTLS).
À moins que vous n'ayez besoin d'une autorité de certification personnalisée, telle que HashiCorp Vault, 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.
- 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.
Pour les nouvelles installations d'Anthos Service Mesh, le script active par défaut Mesh CA.
Si vous effectuez une migration depuis Istio, vous pouvez choisir de migrer vers Mesh CA ou de continuer à utiliser Istio CA. La migration vers Mesh CA depuis Istio CA nécessite la migration de la racine de confiance. Vous disposez des options suivantes lors de la migration vers Mesh CA :
Planifiez un temps d'arrêt pour la migration. Sur le plan opérationnel, il s'agit de l'option la plus simple. Toutefois, comme le trafic mTLS est interrompu pendant la migration, vous devez planifier un temps d'arrêt. Pour obtenir un exemple d'utilisation du script dans ce cas, consultez la section Migrer vers Mesh CA avec un temps d'arrêt.
Distribuez la nouvelle racine de confiance, puis migrez vers Mesh CA. Avec cette approche, le trafic mTLS n'est pas interrompu. Vous n'avez donc pas besoin de planifier un temps d'arrêt, mais le processus de migration comporte de nombreuses étapes supplémentaires. Pour en savoir plus, consultez la section Migrer vers Mesh CA.
Si vous choisissez de continuer à utiliser Istio CA lors de la migration vers Anthos Service Mesh, le trafic mTLS n'est pas interrompu, car l'autorité de certification racine n'est pas modifiée. Bien que ce chemin de migration ne perturbe pas vos charges de travail existantes, vous êtes limité à l'utilisation du plan de contrôle au sein du cluster. Le plan de contrôle géré par Google nécessite Mesh CA.
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
Enregistrer votre cluster
Vous devez enregistrer votre cluster auprès du parc pour pouvoir 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.
Vous pouvez suivre les étapes décrites dans la section Enregistrer un cluster, ou bien inclure l'option --enable_registration
lorsque vous exécutez le script afin de permettre au script d'enregistrer le cluster dans le projet qui l'héberge.
Installer les outils requis
Vous pouvez exécuter le script sur Cloud Shell ou sur votre ordinateur local exécutant Linux. Cloud Shell préinstalle tous les outils requis.
Cloud Shell
Cloud Shell provisionne une machine virtuelle (VM) g1-small Compute Engine exécutant un système d'exploitation Linux basé sur Debian. Les avantages liés à l'utilisation de Cloud Shell sont les suivants :
Cloud Shell comprend
gcloud
,kubectl
,kpt
et les autres outils de ligne de commande dont vous avez besoin.Votre répertoire Cloud Shell $HOME dispose d'un espace de stockage persistant de 5 Go.
Nous vous proposons plusieurs éditeurs de texte :
Éditeur de code, auquel vous accédez en cliquant sur en haut de la fenêtre Cloud Shell.
Emacs, Vim ou Nano, auxquels vous accédez depuis la ligne de commande dans Cloud Shell.
Pour utiliser Cloud Shell, procédez comme suit :
- Accédez à Google Cloud Console.
- Sélectionnez votre projet Google Cloud.
Cliquez sur le bouton Activer Cloud Shell en haut de la fenêtre de la console Google Cloud.
Une session Cloud Shell s'ouvre dans un nouveau cadre en bas de la console Google Cloud et affiche une invite de ligne de commande.
Mettez à jour les composants :
gcloud components update
La commande renvoie un résultat semblable à celui-ci :
ERROR: (gcloud.components.update) You cannot perform this action because the gcloud CLI component manager is disabled for this installation. You can run the following command to achieve the same result for this installation: sudo apt-get update && sudo apt-get --only-upgrade install ...
Copiez la commande longue, puis collez-la pour mettre à jour les composants.
Ordinateur Linux local
Assurez-vous que les outils suivants sont installés :
- Google Cloud CLI
- Les outils de ligne de commande standards :
awk
,curl
,grep
,sed
ettr
- git
- kpt
- kubectl
- jq
Authentifiez-vous en utilisant gcloud CLI :
gcloud auth login
Mettez à jour les composants :
gcloud components update
Assurez-vous que
git
se trouve dans votre chemin pour quekpt
puisse le trouver.
Télécharger le script
Cette section explique comment télécharger le script, définir les paramètres obligatoires et facultatifs, et exécuter le script. Pour obtenir une explication détaillée de l'utilisation du script, consultez la section Comprendre le script.
Téléchargez la version du script qui installe Anthos Service Mesh 1.10.6 dans le répertoire de travail actuel :
curl https://storage.googleapis.com/csm-artifacts/asm/install_asm_1.10 > install_asm
Rendez le script exécutable :
chmod +x install_asm
Étapes suivantes
- Nouvelles installations d'Anthos Service Mesh
- Mettez à niveau Anthos Service Mesh vers la dernière version
- Migrer depuis Istio
- Réinstaller la même version
- Référence