Cette page vous explique comment préparer votre environnement et votre cluster pour installer Anthos Service Mesh.
Installer les outils nécessaires
Vous pouvez exécuter asmcli
sur Cloud Shell ou sur votre machine locale Linux. Cloud Shell préinstalle tous les outils requis.
Si vous exécutez asmcli
localement, 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
- kubectl
- jq
Configurer gcloud
Procédez comme suit même si vous utilisez Cloud Shell.
Authentifiez-vous avec Google Cloud CLI :
gcloud auth login --project PROJECT_ID
Mettez à jour les composants :
gcloud components update
Si vous installez Anthos Service Mesh sur un cluster GKE, configurez
kubectl
pour qu'il pointe vers le cluster.gcloud container clusters get-credentials CLUSTER_NAME \ --zone CLUSTER_LOCATION \ --project PROJECT_ID
Télécharger asmcli
Cette section explique comment télécharger le asmcli
.
Téléchargez la version qui installe Anthos Service Mesh 1.10.6 dans le répertoire de travail actuel :
curl https://storage.googleapis.com/csm-artifacts/asm/asmcli_alpha > asmcli
Rendez le script exécutable :
chmod +x asmcli
Accorder des autorisations d'administrateur de cluster
Basculez le contexte vers votre cluster d'utilisateur :
kubectl config use-context CLUSTER_NAME
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 create clusterrolebinding cluster-admin-binding \ --clusterrole=cluster-admin \ --user=USER_ACCOUNT
Valider le projet et le cluster
Vous pouvez exécuter asmcli validate
afin de vous assurer que votre projet et votre cluster sont configurés comme il se doit pour installer Anthos Service Mesh. Avec cette option, asmcli
n'apporte aucune modification à votre projet ou cluster et il n'installe pas Anthos Service Mesh.
Le script valide les points suivants :
Votre environnement dispose des outils nécessaires.
Le cluster répond aux exigences minimales.
Vous disposez de l'autorisation requise sur le projet spécifié.
Toutes les API Google requises sont activées dans le projet.
Par défaut, le script télécharge et extrait le fichier d'installation et télécharge le package de configuration asm
de GitHub dans un répertoire temporaire. Avant de quitter, le script génère un message indiquant le nom du répertoire temporaire.
Nous vous recommandons de spécifier un répertoire pour les téléchargements avec l'option --output_dir DIR_PATH
. L'option --output_dir
vous permet d'utiliser l'outil de ligne de commande istioctl
si vous en avez besoin. De plus, les fichiers de configuration permettant d'activer les fonctionnalités facultatives sont inclus dans le répertoire asm/istio/options
.
Exécutez la commande suivante pour valider votre configuration et télécharger le fichier d'installation et le package asm
dans le répertoire OUTPUT_DIR
.
GKE
./asmcli validate \
--project_id PROJECT_ID \
--cluster_name CLUSTER_NAME \
--cluster_location CLUSTER_LOCATION \
--output_dir DIR_PATH
--project_id
,--cluster_name
et--cluster_location
: spécifiez l'ID du projet dans lequel se trouve le cluster, son nom, ainsi que la zone ou la région du cluster.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageasm
et extrait le fichier d'installation, qui contientistioctl
, des exemples et des fichiers manifestes. Sinon,asmcli
télécharge les fichiers dans un répertoiretmp
. Vous pouvez spécifier un chemin d'accès relatif ou complet. La variable d'environnement$PWD
ne fonctionne pas ici.
Sur site
Définissez le contexte actuel sur votre cluster d'utilisateur :
kubectl config use-context CLUSTER_NAME
Exécutez la commande suivante pour valider votre configuration et télécharger le fichier d'installation et le package
asm
dans le répertoireOUTPUT_DIR
:./asmcli validate \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud
--kubeconfig
: Chemin d'accès aukubeconfig
. Vous pouvez spécifier un chemin d'accès relatif ou complet. La variable d'environnement$PWD
ne fonctionne pas ici.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageasm
et extrait le fichier d'installation, qui contientistioctl
, des exemples et des fichiers manifestes. Sinon,asmcli
télécharge les fichiers dans un répertoiretmp
. Vous pouvez spécifier un chemin d'accès relatif ou complet. La variable d'environnement$PWD
ne fonctionne pas ici.--platform multicloud
spécifie que la plate-forme sur site est utilisée.
En cas de réussite, le script génère ce qui suit :
asmcli: Setting up necessary files... asmcli: Using asm_kubeconfig as the kubeconfig... asmcli: Checking installation tool dependencies... asmcli: Fetching/writing GCP credentials to kubeconfig file... asmcli: Verifying connectivity (10s)... asmcli: kubeconfig set to asm_kubeconfig asmcli: using context gke_example-project-12345_us-central1_cluster-2 asmcli: Getting account information... asmcli: Downloading ASM.. asmcli: Downloading ASM kpt package... fetching package "/asm" from "https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages" to "asm" asmcli: Checking required APIs... asmcli: Checking for project example-project-12345... asmcli: Reading labels for us-central1/cluster-2... asmcli: Checking for istio-system namespace... asmcli: Confirming node pool requirements for example-project-12345/us-central1/cluster-2... asmcli: Checking Istio installations... asmcli: [WARNING]: There is no way to validate that the meshconfig API has been initialized. asmcli: [WARNING]: This needs to happen once per GCP project. If the API has not been initialized asmcli: [WARNING]: for example-project-12345, please re-run this tool with the --enable_gcp_components asmcli: [WARNING]: flag. Otherwise, installation will succeed but Anthos Service Mesh asmcli: [WARNING]: will not function correctly. asmcli: Successfully validated all requirements to install ASM.
Si l'un des tests échoue à la validation, le script génère un message d'erreur. Par exemple, si toutes les API Google requises ne sont pas activées pour votre projet, vous obtenez l'erreur suivante :
ERROR: One or more APIs are not enabled. Please enable them and retry, or run the script with the '--enable_gcp_apis' flag to allow the script to enable them on your behalf.
Si vous recevez un message d'erreur indiquant que vous devez exécuter le script avec une option d'activation, vous disposez des options suivantes :
Incluez l'option spécifique du message d'erreur ou l'option
--enable_all
lors de l'exécution du script pour effectuer l'installation réelle (c'est-à-dire sans--only_validate
).Si vous préférez, vous pouvez vous-même mettre à jour votre projet et votre cluster avant d'exécuter le script, comme décrit dans la section Configurer l'installation d'Anthos Service Mesh sur GKE.
Notez que asmcli
n'autorise aucune option d'activation avec --only_validate
.
Inspecter les exigences d'installation et de mise à niveau du cluster
Avant de procéder à la mise à niveau, vérifiez que votre configuration est compatible avec la nouvelle version d'Anthos Service Mesh.
Accédez au répertoire que vous avez spécifié dans
--output_dir
.Exécutez la commande suivante pour inspecter les exigences d'installation et de mise à niveau du cluster Kubernetes. Assurez-vous d'utiliser la version de
istioctl
distribuée avec la nouvelle version d'Anthos Service Mesh.istioctl experimental precheck