Ce guide explique comment installer, migrer ou mettre à niveau vers la version 1.8.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, 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.8.6.
La mise à niveau à partir d'Anthos Service Mesh 1.7.3+ or a 1.8 patch release. Les mises à niveau à partir de versions antérieures ne sont pas acceptées.
La migration du logiciel Open Source Istio 1.7 or 1.8 vers Anthos Service Mesh. La migration depuis une version antérieure d'Istio n'est pas accepté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
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. Pour en savoir plus sur la tarification d'Anthos Service Mesh pour les non-abonnés, consultez la page Tarifs.
Le script active toutes les autres API Google requises à votre place.
Conditions requises
Votre cluster GKE doit répondre aux exigences suivantes :
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.8.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 le webhook utilisé avec l'injection side-car automatique fonctionne 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é.
Choisir une autorité de certification
Pour les nouvelles installations et les migrations, vous pouvez utiliser l'autorité de certification Anthos Service Mesh (Mesh CA) ou Citadel (désormais intégrée à istiod
) en tant qu'autorité de certification (CA) pour émettre des certificats TLS mutuels (mTLS).
Nous vous recommandons généralement 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.
Vous pouvez cependant envisager d'utiliser Citadel dans certains cas :
- Si vous disposez d'une autorité de certification personnalisée.
Si vous migrez depuis Istio.
Si vous choisissez Citadel, il n'y a presque pas d'interruption car le trafic mTLS n'est pas interrompu pendant la migration. Si vous choisissez Mesh CA, vous devez planifier un temps d'arrêt pour la migration, car la racine de confiance passe de Citadel à Mesh CA. Pour migrer vers la racine de confiance de Mesh CA, vous devez redémarrer l'ensemble des pods dans tous les espaces de noms. Pendant ce processus, les anciens pods ne peuvent pas établir de connexions mTLS avec les nouveaux pods.
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. Notez que macOS n'est pas compatible, car il est fourni avec une ancienne version de bash.
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
,sha256sum
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.8.6 dans le répertoire de travail actuel :
curl https://storage.googleapis.com/csm-artifacts/asm/install_asm_1.8 > install_asm
Téléchargez le hachage SHA-256 du fichier dans le répertoire de travail actuel :
curl https://storage.googleapis.com/csm-artifacts/asm/install_asm_1.8.sha256 > install_asm.sha256
Une fois les deux fichiers dans le même répertoire, validez le téléchargement avec la commande suivante :
sha256sum -c --ignore-missing install_asm.sha256
Si la validation réussit, la commande affiche le résultat suivant :
install_asm: OK
Pour assurer la compatibilité, le fichier
install_asm.sha256
inclut la somme de contrôle deux fois pour permettre de renommer n'importe quelle version du script eninstall_asm
. Si vous obtenez une erreur indiquant que--ignore-missing
n'existe pas, réexécutez la commande précédente sans l'option--ignore-missing
.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