Installer les outils dépendants et vérifier le cluster
Cette page vous explique comment préparer votre environnement et votre cluster pour installer Cloud Service Mesh dans le cluster pour les charges de travail Kubernetes en dehors de Google Cloud.
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
- (Facultatif, pour tester la connectivité) netcat (
nc
)
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
Définissez le contexte actuel sur votre cluster d'utilisateur :
Définissez le contexte kubectl
pour qu'il pointe vers votre cluster hors Google Cloud, conformément aux instructions spécifiques à la plate-forme.
Télécharger asmcli
Cette section explique comment télécharger le asmcli
.
Téléchargez la version qui installe Cloud Service Mesh 1.22.6 dans le répertoire de travail actuel:
curl https://storage.googleapis.com/csm-artifacts/asm/asmcli_1.22 > asmcli
Résultat attendu :
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 167k 100 167k 0 0 701k 0 --:--:-- --:--:-- --:--:-- 701k
Rendez le script exécutable :
chmod +x asmcli
Accorder des autorisations d'administrateur de cluster
Assurez-vous d'avoir défini le contexte de votre cluster d'utilisateur :
kubectl config use-context CONTEXT
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'contrôle des accès basé sur les rôles (RBAC) nécessaires pour Cloud 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 Cloud Service Mesh. Avec cette option, asmcli
n'apporte aucune modification à votre projet ou cluster et n'installe pas Cloud Service Mesh.
asmcli
vérifie que :
Votre environnement dispose des outils nécessaires.
Le cluster répond aux exigences minimales.
Vous disposez des autorisations requises sur le projet spécifié.
Toutes les API Google requises sont activées dans le projet.
Par défaut, asmcli
télécharge et extrait le fichier d'installation, puis télécharge le package de configuration asm
de GitHub dans un répertoire temporaire. Avant de quitter, asmcli
génère un message qui fournit 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
facilite l'utilisation de l'outil de ligne de commande istioctl
. Vous aurez peut-être besoin de istioctl
pour résoudre les problèmes de configuration.
De plus, les fichiers de configuration permettant d'activer les fonctionnalités facultatives à l'aide de asmcli
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
.
Exécutez la commande suivante pour exécuter asmcli validate
sur les plates-formes suivantes : Google Distributed Cloud (logiciel uniquement) pour VMware, Google Distributed Cloud (logiciel uniquement) pour Bare Metal, GKE sur AWS, GKE sur Azure, Amazon EKS et Microsoft AKS.
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 \ --fleet_id FLEET_PROJECT_ID \ --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.--fleet_id
: ID du projet du projet hôte du parc.asmcli validate
vérifie que le cluster est enregistré dans le parc spécifié.--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 est une plate-forme autre que Google Cloud, par exemple une plate-forme sur site ou multicloud.
En cas de réussite, asmcli
génère les éléments suivants :
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, asmcli
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 `asmcli` with the '--enable_gcp_apis' flag to allow `asmcli` to enable them on your behalf.
Si vous recevez un message d'erreur indiquant que vous devez exécuter asmcli
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 deasmcli
pour effectuer l'installation réelle.Si vous préférez, vous pouvez mettre à jour vous-même votre projet et votre cluster avant d'exécuter
asmcli
, comme décrit dans la section Configurer votre projet et votre cluster GKE vous-même.
Notez que asmcli validate
n'autorise aucune option d'activation, car il vérifie simplement que votre projet et votre cluster sont prêts à être installés.
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 de Cloud 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 de Cloud Service Mesh.istioctl experimental precheck