Installer Cloud Service Mesh
Cette page explique comment installer Cloud Service Mesh sur des plates-formes GKE et sur site:
- Exécutez
asmcli
pour installer une nouvelle fois Cloud Service Mesh . - Vous pouvez éventuellement déployer une passerelle d'entrée.
- Déployez ou redéployez vos charges de travail pour injecter des proxys side-car.
Limites
Prenez note des restrictions suivantes :
Pour que vous puissiez utiliser Cloud Service Mesh, tous les clusters Cloud Service Mesh d'un même réseau maillé doivent être enregistrés en permanence dans le même parc. Les autres clusters du projet d'un cluster Cloud Service Mesh ne doivent pas être enregistrés dans un autre parc.
L'outil
asmcli
doit avoir accès au point de terminaison Google Kubernetes Engine (GKE). Vous pouvez configurer l'accès via un serveur "jump", tel qu'une VM Compute Engine dans le cloud privé virtuel (VPC), accordant un accès spécifique.
Avant de commencer
Avant de commencer, veillez à suivre les étapes ci-dessous :
- Consultez les conditions préalables.
- Consultez les informations de la section Planifier l'installation.
- Installez les outils nécessaires.
- Téléchargez
asmcli
. - Accordez des autorisations d'administrateur de cluster.
- Validez le projet et le cluster.
Installer Anthos Service Mesh
La section suivante explique comment installer Cloud Service Mesh:
Exécutez
asmcli install
pour installer le plan de contrôle intégré sur un cluster unique. Consultez les sections suivantes pour obtenir des exemples de ligne de commande. Les exemples contiennent à la fois des arguments obligatoires et des arguments facultatifs qui peuvent vous être utiles. Nous vous recommandons de toujours spécifier l'argumentoutput_dir
afin de pouvoir facilement trouver des exemples de passerelles et d'outils tels queistioctl
. Consultez la barre de navigation située à droite pour obtenir la liste des exemples.Les clusters GKE privés nécessitent une étape de configuration de pare-feu supplémentaire pour autoriser le trafic vers
istiod
.Vous pouvez également installer une passerelle d'entrée. Par défaut,
asmcli
n'installe pas la passerelleistio-ingressgateway
. Nous vous recommandons de déployer et de gérer le plan de contrôle et les passerelles séparément. Si vous avez besoin d'installer l'optionistio-ingressgateway
par défaut avec le plan de contrôle au sein du cluster, incluez l'argument--option legacy-default-ingressgateway
.Pour terminer la configuration de Cloud Service Mesh, vous devez activer l'injection side-car automatique et déployer ou redéployer des charges de travail.
Si vous installez Cloud Service Mesh sur plusieurs clusters, exécutez
asmcli install
sur chaque cluster. Lorsque vous exécutezasmcli install
, veillez à utiliser le mêmeFLEET_PROJECT_ID
pour chaque cluster. Une fois Cloud Service Mesh installé, consultez les instructions pour configurer un maillage multicluster sur GKE ou hors Google Cloud.Si vos clusters se trouvent sur des réseaux différents (en mode île par exemple), vous devez transmettre un nom de réseau unique à
asmcli
en utilisant l'option--network_id
.
Installer les fonctionnalités par défaut et Mesh CA
Cette section explique comment exécuter asmcli
pour installer Cloud Service Mesh avec les fonctionnalités compatibles par défaut pour votre plate-forme et activer l'autorité de certification Cloud Service Mesh en tant qu'autorité de certification.
GKE
Exécutez la commande suivante pour installer le plan de contrôle avec les fonctionnalités par défaut et l'autorité de certification Cloud Service Mesh. Saisissez vos valeurs dans les espaces réservés fournis.
./asmcli install \
--project_id PROJECT_ID \
--cluster_name CLUSTER_NAME \
--cluster_location CLUSTER_LOCATION \
--fleet_id FLEET_PROJECT_ID \
--output_dir DIR_PATH \
--enable_all \
--ca mesh_ca
--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.--fleet_id
: ID du projet du projet hôte du parc. Si vous n'incluez pas cette option,asmcli
utilise le projet dans lequel le cluster a été créé lors de son enregistrement.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageanthos-service-mesh
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.--enable_all
: permet au script d'effectuer les opérations suivantes :- Accorder les autorisations IAM requises.
- Activer les API Google requises.
- Définir un libellé sur le cluster qui identifie le réseau maillé.
- Enregistrer le cluster dans le parc si ce n'est déjà fait.
--ca mesh_ca
Utilisez l'autorité de certification Cloud Service Mesh comme autorité de certification.asmcli
Elle configure l'autorité de certification de Cloud Service Mesh pour utiliser l'identité de la charge de travail du parc.
Sur site
Exécutez les commandes suivantes sur GKE sur VMware ou Google Distributed Cloud Virtual for Bare Metal afin d'installer le plan de contrôle avec les fonctionnalités par défaut et l'autorité de certification Cloud Service Mesh. Saisissez vos valeurs dans les espaces réservés fournis.
Définissez le contexte actuel sur votre cluster d'utilisateur :
kubectl config use-context CLUSTER_NAME
Exécutez
asmcli install
:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca mesh_ca
--fleet_id
: ID du projet du projet hôte du parc.--kubeconfig
: chemin d'accès complet au fichierkubeconfig
. La variable d'environnement$PWD
ne fonctionne pas ici. De plus, les emplacements de fichierskubeconfig
relatifs qui utilisent une valeur `~` ne fonctionneront pas.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageanthos-service-mesh
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.--enable_all
: permet au script d'effectuer les opérations suivantes :- Accorder les autorisations IAM requises.
- Activer les API Google requises.
- Définir un libellé sur le cluster qui identifie le réseau maillé.
- Enregistrer le cluster dans le parc si ce n'est déjà fait.
--ca mesh_ca
Utilisez l'autorité de certification Cloud Service Mesh comme autorité de certification.asmcli
Elle configure l'autorité de certification de Cloud Service Mesh pour utiliser l'identité de la charge de travail du parc.
Pour afficher les SLO et les métriques d'infrastructure dans l'interface utilisateur de Cloud Service Mesh, vous devez également effectuer les trois premières étapes de la section Activer la journalisation et la surveillance des applications. Si la journalisation et la surveillance ne sont pas activées et ne reçoivent pas de journaux ni de métriques personnalisés, le tableau de bord Cloud Service Mesh n'affiche pas les SLO, les journaux d'erreurs, ni les métriques de processeur et de mémoire.
AWS
Exécutez les commandes suivantes sur GKE sur AWS pour installer le plan de contrôle avec les fonctionnalités par défaut et l'autorité de certification Cloud Service Mesh. Saisissez vos valeurs dans les espaces réservés fournis.
Définissez le contexte actuel sur votre cluster d'utilisateur :
kubectl config use-context CLUSTER_NAME
Exécutez
asmcli install
:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca mesh_ca
--fleet_id
: ID du projet du projet hôte du parc.--kubeconfig
: chemin d'accès complet au fichierkubeconfig
. La variable d'environnement$PWD
ne fonctionne pas ici. De plus, les emplacements de fichierskubeconfig
relatifs qui utilisent une valeur `~` ne fonctionneront pas.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageanthos-service-mesh
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.--enable_all
: permet au script d'effectuer les opérations suivantes :- Accorder les autorisations IAM requises.
- Activer les API Google requises.
- Définir un libellé sur le cluster qui identifie le réseau maillé.
- Enregistrer le cluster dans le parc si ce n'est déjà fait.
--ca mesh_ca
Utilisez l'autorité de certification Cloud Service Mesh comme autorité de certification.asmcli
configure l'autorité de certification Cloud Service Mesh pour utiliser l'identité de la charge de travail du parc.
Pour afficher les SLO et les métriques d'infrastructure dans l'interface utilisateur de Cloud Service Mesh, vous devez également effectuer les trois premières étapes de la section Activer la journalisation et la surveillance des applications. Si la journalisation et la surveillance ne sont pas activées et ne reçoivent pas de journaux ni de métriques personnalisés, le tableau de bord Cloud Service Mesh n'affiche pas les SLO, les journaux d'erreurs, ni les métriques de processeur et de mémoire.
Azure
Exécutez les commandes suivantes sur GKE sur Azure (preview) pour installer le plan de contrôle avec les fonctionnalités par défaut et l'autorité de certification Cloud Service Mesh. Saisissez vos valeurs dans les espaces réservés fournis.
Définissez le contexte actuel sur votre cluster d'utilisateur :
kubectl config use-context CLUSTER_NAME
Exécutez
asmcli install
:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca mesh_ca
--fleet_id
: ID du projet du projet hôte du parc.--kubeconfig
: chemin d'accès complet au fichierkubeconfig
. La variable d'environnement$PWD
ne fonctionne pas ici. De plus, les emplacements de fichierskubeconfig
relatifs qui utilisent une valeur `~` ne fonctionneront pas.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageanthos-service-mesh
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.--enable_all
: permet au script d'effectuer les opérations suivantes :- Accorder les autorisations IAM requises.
- Activer les API Google requises.
- Définir un libellé sur le cluster qui identifie le réseau maillé.
- Enregistrer le cluster dans le parc si ce n'est déjà fait.
--ca mesh_ca
Utilisez l'autorité de certification Cloud Service Mesh comme autorité de certification.asmcli
configure l'autorité de certification Cloud Service Mesh pour utiliser l'identité de la charge de travail du parc.
Pour afficher les SLO et les métriques d'infrastructure dans l'interface utilisateur de Cloud Service Mesh, vous devez également effectuer les trois premières étapes de la section Activer la journalisation et la surveillance des applications. Si la journalisation et la surveillance ne sont pas activées et ne reçoivent pas de journaux ni de métriques personnalisés, le tableau de bord Cloud Service Mesh n'affiche pas les SLO, les journaux d'erreurs, ni les métriques de processeur et de mémoire.
Amazon EKS
Exécutez les commandes suivantes sur Amazon EKS pour installer le plan de contrôle avec les fonctionnalités par défaut et l'autorité de certification Cloud Service Mesh. Saisissez vos valeurs dans les espaces réservés fournis.
Définissez le contexte actuel sur votre cluster d'utilisateur :
kubectl config use-context CLUSTER_NAME
Exécutez
asmcli install
:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --option attached-cluster \ --network_id default \ --ca mesh_ca
--fleet_id
: ID du projet du projet hôte du parc.--kubeconfig
: chemin d'accès complet au fichierkubeconfig
. La variable d'environnement$PWD
ne fonctionne pas ici. De plus, les emplacements de fichierskubeconfig
relatifs qui utilisent une valeur `~` ne fonctionneront pas.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageanthos-service-mesh
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.--enable_all
: permet au script d'effectuer les opérations suivantes :- Accorder les autorisations IAM requises.
- Activer les API Google requises.
- Définir un libellé sur le cluster qui identifie le réseau maillé.
- Enregistrer le cluster dans le parc si ce n'est déjà fait.
--option attached-cluster
remplace l'utilitaire de signature par défaut par "istiod".--network_id
Si vous configurez un réseau maillé multiréseau, définissez--network_id
sur une valeur unique pour chaque cluster du maillage.--ca mesh_ca
Utilisez l'autorité de certification Cloud Service Mesh comme autorité de certification.asmcli
configure l'autorité de certification Cloud Service Mesh pour utiliser l'identité de la charge de travail du parc.
Pour afficher les SLO et les métriques d'infrastructure dans l'interface utilisateur de Cloud Service Mesh, vous devez également effectuer les trois premières étapes de la section Activer la journalisation et la surveillance des applications. Si la journalisation et la surveillance ne sont pas activées et ne reçoivent pas de journaux ni de métriques personnalisés, le tableau de bord Cloud Service Mesh n'affiche pas les SLO, les journaux d'erreurs, ni les métriques de processeur et de mémoire.
Microsoft AKS
Exécutez les commandes suivantes sur Microsoft AKS pour installer le plan de contrôle avec les fonctionnalités par défaut et l'autorité de certification Cloud Service Mesh. Saisissez vos valeurs dans les espaces réservés fournis.
Définissez le contexte actuel sur votre cluster d'utilisateur :
kubectl config use-context CLUSTER_NAME
Exécutez
asmcli install
:HUB_REGISTRATION_EXTRA_FLAGS=--has-private-issuer ./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --option attached-cluster \ --network_id default \ --ca mesh_ca
HUB_REGISTRATION_EXTRA_FLAGS=--has-private-issuer
autorise l'enregistrement avec GKE Hub.--fleet_id
: ID du projet du projet hôte du parc.--kubeconfig
: chemin d'accès complet au fichierkubeconfig
. La variable d'environnement$PWD
ne fonctionne pas ici. De plus, les emplacements de fichierskubeconfig
relatifs qui utilisent une valeur `~` ne fonctionneront pas.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageanthos-service-mesh
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.--enable_all
: permet au script d'effectuer les opérations suivantes :- Accorder les autorisations IAM requises.
- Activer les API Google requises.
- Définir un libellé sur le cluster qui identifie le réseau maillé.
- Enregistrer le cluster dans le parc si ce n'est déjà fait.
--option attached-cluster
remplace l'utilitaire de signature par défaut par "istiod".--network_id
Si vous configurez un réseau maillé multiréseau, définissez--network_id
sur une valeur unique pour chaque cluster du maillage.--ca mesh_ca
Utilisez l'autorité de certification Cloud Service Mesh comme autorité de certification.asmcli
configure l'autorité de certification Cloud Service Mesh pour utiliser l'identité de la charge de travail du parc.
Pour afficher les SLO et les métriques d'infrastructure dans l'interface utilisateur de Cloud Service Mesh, vous devez également effectuer les trois premières étapes de la section Activer la journalisation et la surveillance des applications. Si la journalisation et la surveillance ne sont pas activées et ne reçoivent pas de journaux ni de métriques personnalisés, le tableau de bord Cloud Service Mesh n'affiche pas les SLO, les journaux d'erreurs, ni les métriques de processeur et de mémoire.
Installer les fonctionnalités par défaut et le service Certificate Authority (CA)
Cette section explique comment exécuter asmcli
pour installer Cloud Service Mesh avec les fonctionnalités compatibles par défaut pour votre plate-forme et activer le service CA en tant qu'autorité de certification.
En plus de Mesh CA, vous pouvez configurer Cloud Service Mesh pour utiliser Certificate Authority Service. Ce guide vous offre l'occasion d'intégrer le service CA, qui est recommandé pour les cas d'utilisation suivants :
- Vous avez besoin de plusieurs autorités de certification différentes pour signer des certificats de charge de travail sur différents clusters.
- Vous souhaitez utiliser des certificats de plug-in d'autorités de certification personnalisées
istiod
. - Vous devez sauvegarder vos clés de signature dans un HSM géré.
- Vous travaillez dans un secteur hautement réglementé et vous êtes soumis à des exigences de conformité.
- Si vous souhaitez associer votre autorité de certification Cloud Service Mesh à un certificat racine d'entreprise personnalisé pour signer les certificats de charge de travail.
Le coût de Mesh CA est inclus dans les tarifs de Cloud Service Mesh. Le service CA n'est pas inclus dans le tarif de base de Cloud Service Mesh et est facturé séparément. En outre, le service d'autorité de certification est fourni avec un contrat de niveau de service explicite, contrairement à Mesh CA.
Pour cette intégration, toutes les charges de travail dans Cloud Service Mesh se voient attribuer des rôles IAM:
privateca.workloadCertificateRequester
privateca.auditor
privateca.template
(obligatoire si vous utilisez un modèle de certificat)
Configurer le service d'autorité de certification
- Créez le pool d'autorités de certification au niveau
DevOps
et dans la même région que le cluster qu'il dessert, afin d'éviter des problèmes de latence excessive ou des pannes interrégionales potentielles. Pour en savoir plus, consultez la page Niveaux optimisés pour les charges de travail. - Créez l'autorité de certification afin de disposer d'au moins une autorité de certification active dans le pool d'autorités de certification du même projet que le cluster GKE. Signez les certificats de charge de travail Cloud Service Mesh à l'aide d'autorités de certification subordonnées. Notez le pool d'autorités de certification correspondant à l'autorité de certification subordonnée.
S'il est destiné à ne desservir que les certificats pour les charges de travail Cloud Service Mesh, configurez la stratégie d'émission suivante pour le pool d'autorités de certification:
policy.yaml
baselineValues: keyUsage: baseKeyUsage: digitalSignature: true keyEncipherment: true extendedKeyUsage: serverAuth: true clientAuth: true caOptions: isCa: false identityConstraints: allowSubjectPassthrough: false allowSubjectAltNamesPassthrough: true celExpression: expression: subject_alt_names.all(san, san.type == URI && san.value.startsWith("spiffe://PROJECT_ID.svc.id.goog/ns/") )
Pour mettre à jour la stratégie d'émission du pool d'autorités de certification, exécutez la commande suivante :
gcloud privateca pools update CA_POOL --location ca_region --issuance-policy policy.yaml
Pour en savoir plus sur la définition d'une stratégie sur un pool, consultez la section Utiliser une stratégie d'émission de certificat.
Si vous utilisez un modèle de certificat, configurez-le maintenant. Pour plus d'informations, suivez le guide du service CA pour les certificats d'identité de charge de travail. Vérifiez que le modèle de certificat est créé dans la même région que le pool d'autorités de certification. S'il existe plusieurs régions pour les pools d'autorités de certification, créez un modèle de certificat par région.
Configurer Cloud Service Mesh pour utiliser CA Service
GKE
Installez le plan de contrôle Cloud Service Mesh qui utilise Certificate Authority Service comme autorité de certification:
./asmcli install \ --project_id PROJECT_ID \ --cluster_name CLUSTER_NAME \ --cluster_location CLUSTER_LOCATION \ --enable_all \ --ca gcp_cas \ --ca_pool projects/CA_POOL_PROJECT_ID/locations/ca_region/caPools/CA_POOL
--fleet_id
: ID du projet du projet hôte du parc.--kubeconfig
: chemin d'accès complet au fichierkubeconfig
. La variable d'environnement$PWD
ne fonctionne pas ici. De plus, les emplacements de fichierskubeconfig
relatifs qui utilisent une valeur `~` ne fonctionneront pas.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageanthos-service-mesh
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.--enable_all
: permet au script d'effectuer les opérations suivantes :- Accorder les autorisations IAM requises.
- Activer les API Google requises.
- Définir un libellé sur le cluster qui identifie le réseau maillé.
- Enregistrer le cluster dans le parc si ce n'est déjà fait.
--ca gcp_cas
: utilisez Certificate Authority Service comme autorité de certification. La modification des autorités de certification lors d'une mise à niveau entraîne des temps d'arrêt.asmcli
configure Certificate Authority Service pour utiliser l'identité de charge de travail de parc.--ca_pool
: identifiant complet du pool d'autorités de certification Certificate Authority Service. Si le modèle de certificat est utilisé, ajoutez l'ID de modèle en les séparant par:
.--ca_pool projects/CA_POOL_PROJECT_ID/locations/ca_region/caPools/CA_POOL:projects/CA_POOL_PROJECT_ID/locations/ca_region/certificateTemplates/CERT_TEMPLATE_ID
Installez une passerelle d'entrée pour recevoir les connexions HTTP/TCP entrantes ou sortantes. Pour en savoir plus, consultez la section Installer des passerelles.
Terminez l'installation de Cloud Service Mesh pour activer l'injection automatique du proxy side-car sur vos charges de travail. Pour en savoir plus, consultez la page Déployer et redéployer des charges de travail.
Sur site
Exécutez les commandes suivantes sur GKE sur VMware ou Google Distributed Cloud Virtual for Bare Metal afin d'installer le plan de contrôle avec les fonctionnalités par défaut et Certificate Authority Service. Saisissez vos valeurs dans les espaces réservés fournis.
Définissez le contexte actuel sur votre cluster d'utilisateur :
kubectl config use-context CLUSTER_NAME
Exécutez
asmcli install
:./asmcli install \ --kubeconfig KUBECONFIG_FILE \ --fleet_id FLEET_PROJECT_ID \ --output_dir DIR_PATH \ --enable_all \ --ca gcp_cas \ --platform multicloud \ --ca_pool projects/CA_POOL_PROJECT_ID/locations/ca_region/caPools/CA_POOL
--fleet_id
: ID du projet du projet hôte du parc.--kubeconfig
: chemin d'accès complet au fichierkubeconfig
. La variable d'environnement$PWD
ne fonctionne pas ici. De plus, les emplacements de fichierskubeconfig
relatifs qui utilisent une valeur `~` ne fonctionneront pas.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageanthos-service-mesh
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.--enable_all
: permet au script d'effectuer les opérations suivantes :- Accorder les autorisations IAM requises.
- Activer les API Google requises.
- Définir un libellé sur le cluster qui identifie le réseau maillé.
- Enregistrer le cluster dans le parc si ce n'est déjà fait.
--ca gcp_cas
: utilisez Certificate Authority Service comme autorité de certification. La modification des autorités de certification lors d'une mise à niveau entraîne des temps d'arrêt.asmcli
configure Certificate Authority Service pour utiliser l'identité de charge de travail de parc.--ca_pool
: identifiant complet du pool d'autorités de certification Certificate Authority Service. Si vous utilisez un modèle de certificat, ajoutez l'ID du modèle en les séparant par:
. Par exemple,--ca_pool projects/CA_POOL_PROJECT_ID/locations/ca_region/caPools/CA_POOL:projects/CA_POOL_PROJECT_ID/locations/ca_region/certificateTemplates/CERT_TEMPLATE_ID
:
Pour afficher les SLO et les métriques d'infrastructure dans l'interface utilisateur de Cloud Service Mesh, vous devez également effectuer les trois premières étapes de la section Activer la journalisation et la surveillance des applications. Si la journalisation et la surveillance ne sont pas activées et ne reçoivent pas de journaux ni de métriques personnalisés, le tableau de bord Cloud Service Mesh n'affiche pas les SLO, les journaux d'erreurs, ni les métriques de processeur et de mémoire.
Installer les fonctionnalités par défaut avec Istio CA
Cette section explique comment effectuer les opérations suivantes :
- Générez des certificats et des clés pour l'autorité de certification Istio que Cloud Service Mesh utilise pour signer vos charges de travail.
- Exécutez
asmcli
pour installer Cloud Service Mesh avec les fonctionnalités par défaut et activer Istio CA.
Par défaut, les environnements qui installent Cloud Service Mesh avec Istio CA signalent les métriques à Prometheus. Si vous souhaitez utiliser les tableaux de bord Cloud Service Mesh, vous devez activer Stackdriver. Pour en savoir plus, consultez la section Installer avec des fonctionnalités facultatives.
Pour une sécurité optimale, nous vous recommandons vivement de conserver une autorité de certification racine hors connexion et d'utiliser les autorités de certification subordonnées pour émettre des autorités de certification pour chaque cluster. Pour en savoir plus, consultez la section Utiliser des certificats CA. Dans cette configuration, toutes les charges de travail du maillage de services utilisent la même autorité de certification racine (CA). Chaque autorité de certification Cloud Service Mesh utilise une clé de signature et un certificat d'autorité de certification intermédiaire, signés par l'autorité de certification racine. Lorsque plusieurs autorités de certification existent dans un maillage, cela établit une hiérarchie de confiance entre les autorités de certification. Vous pouvez répéter ces étapes pour provisionner les certificats et les clés d'un nombre illimité d'autorités de certification.
Le fichier Makefile pour générer les certificats se trouve dans le sous-répertoire du répertoire
--output_dir
que vous avez spécifié dans la commande asmcli validate
. Si vous n'avez pas exécuté asmcli validate
ou si vous n'avez pas le répertoire téléchargé localement, vous pouvez obtenir le Makefile en téléchargeant le fichier d'installation de Cloud Service Mesh et en extrayant son contenu.
Accédez au répertoire
.
Créez un répertoire pour les certificats et les clés :
mkdir -p certs && \ pushd certs
Générez un certificat et une clé racine :
make -f ../tools/certs/Makefile.selfsigned.mk root-ca
Les fichiers suivants sont alors générés :
- root-cert.pem : certificat racine
- root-key.pem : clé racine
- root-ca.conf : configuration nécessaire pour qu'openssl génère le certificat racine
- root-cert.csr : demande CSR du certificat racine
Générez un certificat et une clé intermédiaires :
make -f ../tools/certs/Makefile.selfsigned.mk cluster1-cacerts
Cette opération génère les fichiers suivants dans un répertoire nommé
cluster1
:- ca-cert.pem : certificats intermédiaires
- ca-key.pem : clé intermédiaire
- cert-chain.pem : chaîne de certificats utilisée par
istiod
- root-cert.pem : certificat racine
Si vous effectuez ces étapes en utilisant un ordinateur hors connexion, copiez le répertoire généré sur un ordinateur qui a accès aux clusters.
Revenez au répertoire précédent :
popd
Exécutez
asmcli
pour installer un réseau maillé à l'aide de l'autorité de certification Istio :GKE
Exécutez la commande suivante pour installer le plan de contrôle avec les fonctionnalités par défaut et Istio CA. Saisissez vos valeurs dans les espaces réservés fournis.
./asmcli install \ --project_id PROJECT_ID \ --cluster_name CLUSTER_NAME \ --cluster_location CLUSTER_LOCATION \ --fleet_id FLEET_PROJECT_ID \ --output_dir DIR_PATH \ --enable_all \ --ca citadel \ --ca_cert CA_CERT_FILE_PATH \ --ca_key CA_KEY_FILE_PATH \ --root_cert ROOT_CERT_FILE_PATH \ --cert_chain CERT_CHAIN_FILE_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.--fleet_id
: ID du projet du projet hôte du parc. Si vous n'incluez pas cette option,asmcli
utilise le projet dans lequel le cluster a été créé lors de son enregistrement.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageanthos-service-mesh
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.--enable_all
: permet au script d'effectuer les opérations suivantes :- Accorder les autorisations IAM requises.
- Activer les API Google requises.
- Définir un libellé sur le cluster qui identifie le réseau maillé.
- Enregistrer le cluster dans le parc si ce n'est déjà fait.
-ca citadel
: utiliser l'autorité de certification Istio comme autorité de certification.--ca_cert
: le certificat intermédiaire--ca_key
: la clé du certificat intermédiaire--root_cert
: le certificat racine--cert_chain
: la chaîne de certificats
Sur site
Exécutez les commandes suivantes sur GKE sur VMware ou Google Distributed Cloud Virtual for Bare Metal afin d'installer le plan de contrôle avec les fonctionnalités par défaut et l'autorité de certification Istio. Saisissez vos valeurs dans les espaces réservés fournis.
Définissez le contexte actuel sur votre cluster d'utilisateur :
kubectl config use-context CLUSTER_NAME
Exécutez
asmcli install
:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca citadel \ --ca_cert CA_CERT_FILE_PATH \ --ca_key CA_KEY_FILE_PATH \ --root_cert ROOT_CERT_FILE_PATH \ --cert_chain CERT_CHAIN_FILE_PATH
--fleet_id
: ID du projet du projet hôte du parc.--kubeconfig
: chemin d'accès complet au fichierkubeconfig
. La variable d'environnement$PWD
ne fonctionne pas ici. De plus, les emplacements de fichierskubeconfig
relatifs qui utilisent une valeur `~` ne fonctionneront pas.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageanthos-service-mesh
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.--enable_all
: permet au script d'effectuer les opérations suivantes :- Accorder les autorisations IAM requises.
- Activer les API Google requises.
- Définir un libellé sur le cluster qui identifie le réseau maillé.
- Enregistrer le cluster dans le parc si ce n'est déjà fait.
-ca citadel
: utiliser l'autorité de certification Istio comme autorité de certification.--ca_cert
: le certificat intermédiaire--ca_key
: la clé du certificat intermédiaire--root_cert
: le certificat racine--cert_chain
: la chaîne de certificats
AWS
Exécutez les commandes suivantes sur GKE sur AWS pour installer le plan de contrôle avec les fonctionnalités par défaut et l'autorité de certification Istio. Saisissez vos valeurs dans les espaces réservés fournis. Vous pouvez choisir d'activer l'entrée du sous-réseau public ou du sous-réseau privé.
Public
Définissez le contexte actuel sur votre cluster d'utilisateur :
kubectl config use-context CLUSTER_NAME
Exécutez
asmcli install
:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca citadel \ --ca_cert CA_CERT_FILE_PATH \ --ca_key CA_KEY_FILE_PATH \ --root_cert ROOT_CERT_FILE_PATH \ --cert_chain CERT_CHAIN_FILE_PATH
--fleet_id
: ID du projet du projet hôte du parc.--kubeconfig
: chemin d'accès complet au fichierkubeconfig
. La variable d'environnement$PWD
ne fonctionne pas ici. De plus, les emplacements de fichierskubeconfig
relatifs qui utilisent une valeur `~` ne fonctionneront pas.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageanthos-service-mesh
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.--enable_all
: permet au script d'effectuer les opérations suivantes :- Accorder les autorisations IAM requises.
- Activer les API Google requises.
- Définir un libellé sur le cluster qui identifie le réseau maillé.
- Enregistrer le cluster dans le parc si ce n'est déjà fait.
-ca citadel
: utiliser l'autorité de certification Istio comme autorité de certification.--ca_cert
: le certificat intermédiaire--ca_key
: la clé du certificat intermédiaire--root_cert
: le certificat racine--cert_chain
: la chaîne de certificats
Privé
Définissez le contexte actuel sur votre cluster d'utilisateur :
kubectl config use-context CLUSTER_NAME
Enregistrez le fichier YAML suivant dans un fichier appelé
istio-operator-internal-lb.yaml
:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: components: ingressGateways: - enabled: true k8s: serviceAnnotations: service.beta.kubernetes.io/aws-load-balancer-internal: "true" name: istio-ingressgateway
Exécutez
asmcli install
:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca citadel \ --ca_cert FILE_PATH \ --ca_key FILE_PATH \ --root_cert FILE_PATH \ --cert_chain FILE_PATH \ --custom_overlay istio-operator-internal-lb.yaml
--fleet_id
: ID du projet du projet hôte du parc.--kubeconfig
: chemin d'accès complet au fichierkubeconfig
. La variable d'environnement$PWD
ne fonctionne pas ici. De plus, les emplacements de fichierskubeconfig
relatifs qui utilisent une valeur `~` ne fonctionneront pas.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageanthos-service-mesh
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.--enable_all
: permet au script d'effectuer les opérations suivantes :- Accorder les autorisations IAM requises.
- Activer les API Google requises.
- Définir un libellé sur le cluster qui identifie le réseau maillé.
- Enregistrer le cluster dans le parc si ce n'est déjà fait.
-ca citadel
: utiliser l'autorité de certification Istio comme autorité de certification.--ca_cert
: le certificat intermédiaire--ca_key
: la clé du certificat intermédiaire--root_cert
: le certificat racine--cert_chain
: la chaîne de certificats--custom_overlay
: nom du fichier de superposition créé. Pour en savoir plus sur les fichiers de superposition, consultez la page Activer des fonctionnalités facultatives sur le plan de contrôle au sein du cluster.
Azure
Exécutez les commandes suivantes sur GKE sur Azure (preview) pour installer le plan de contrôle avec les fonctionnalités par défaut et l'autorité de certification Istio. Saisissez vos valeurs dans les espaces réservés fournis. Vous pouvez choisir d'activer l'entrée du sous-réseau public ou du sous-réseau privé.
Public
Définissez le contexte actuel sur votre cluster d'utilisateur :
kubectl config use-context CLUSTER_NAME
Exécutez
asmcli install
:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --option attached-cluster \ --ca citadel \ --ca_cert CA_CERT_FILE_PATH \ --ca_key CA_KEY_FILE_PATH \ --root_cert ROOT_CERT_FILE_PATH \ --cert_chain CERT_CHAIN_FILE_PATH
--fleet_id
: ID du projet du projet hôte du parc.--kubeconfig
: chemin d'accès complet au fichierkubeconfig
. La variable d'environnement$PWD
ne fonctionne pas ici. De plus, les emplacements de fichierskubeconfig
relatifs qui utilisent une valeur `~` ne fonctionneront pas.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageanthos-service-mesh
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.--enable_all
: permet au script d'effectuer les opérations suivantes :- Accorder les autorisations IAM requises.
- Activer les API Google requises.
- Définir un libellé sur le cluster qui identifie le réseau maillé.
- Enregistrer le cluster dans le parc si ce n'est déjà fait.
--option attached-cluster
remplace l'utilitaire de signature par défaut par "istiod".-ca citadel
: utiliser l'autorité de certification Istio comme autorité de certification.--ca_cert
: le certificat intermédiaire--ca_key
: la clé du certificat intermédiaire--root_cert
: le certificat racine--cert_chain
: la chaîne de certificats
Privé
Définissez le contexte actuel sur votre cluster d'utilisateur :
kubectl config use-context CLUSTER_NAME
Enregistrez le fichier YAML suivant dans un fichier appelé
istio-operator-internal-lb.yaml
:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: components: ingressGateways: - enabled: true k8s: serviceAnnotations: service.beta.kubernetes.io/aws-load-balancer-internal: "true" name: istio-ingressgateway
Exécutez
asmcli install
:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --option attached-cluster \ --ca citadel \ --ca_cert FILE_PATH \ --ca_key FILE_PATH \ --root_cert FILE_PATH \ --cert_chain FILE_PATH \ --custom_overlay istio-operator-internal-lb.yaml
--fleet_id
: ID du projet du projet hôte du parc.--kubeconfig
: chemin d'accès complet au fichierkubeconfig
. La variable d'environnement$PWD
ne fonctionne pas ici. De plus, les emplacements de fichierskubeconfig
relatifs qui utilisent une valeur `~` ne fonctionneront pas.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageanthos-service-mesh
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.--enable_all
: permet au script d'effectuer les opérations suivantes :- Accorder les autorisations IAM requises.
- Activer les API Google requises.
- Définir un libellé sur le cluster qui identifie le réseau maillé.
- Enregistrer le cluster dans le parc si ce n'est déjà fait.
--option attached-cluster
remplace l'utilitaire de signature par défaut par "istiod".-ca citadel
: utiliser l'autorité de certification Istio comme autorité de certification.--ca_cert
: le certificat intermédiaire--ca_key
: la clé du certificat intermédiaire--root_cert
: le certificat racine--cert_chain
: la chaîne de certificats--custom_overlay
: nom du fichier de superposition créé. Pour en savoir plus sur les fichiers de superposition, consultez la page Activer des fonctionnalités facultatives sur le plan de contrôle au sein du cluster.
Amazon EKS
Exécutez les commandes suivantes sur Amazon EKS pour installer le plan de contrôle avec les fonctionnalités par défaut et Istio CA. Saisissez vos valeurs dans les espaces réservés fournis.
Définissez le contexte actuel sur votre cluster d'utilisateur :
kubectl config use-context CLUSTER_NAME
Exécutez
asmcli install
:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --option attached-cluster \ --ca citadel \ --ca_cert CA_CERT_FILE_PATH \ --ca_key CA_KEY_FILE_PATH \ --root_cert ROOT_CERT_FILE_PATH \ --cert_chain CERT_CHAIN_FILE_PATH \ --network_id default
--fleet_id
: ID du projet du projet hôte du parc.--kubeconfig
: chemin d'accès complet au fichierkubeconfig
. La variable d'environnement$PWD
ne fonctionne pas ici. De plus, les emplacements de fichierskubeconfig
relatifs qui utilisent une valeur `~` ne fonctionneront pas.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageanthos-service-mesh
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.--enable_all
: permet au script d'effectuer les opérations suivantes :- Accorder les autorisations IAM requises.
- Activer les API Google requises.
- Définir un libellé sur le cluster qui identifie le réseau maillé.
- Enregistrer le cluster dans le parc si ce n'est déjà fait.
--option attached-cluster
remplace l'utilitaire de signature par défaut par "istiod".-ca citadel
: utiliser l'autorité de certification Istio comme autorité de certification.--ca_cert
: le certificat intermédiaire--ca_key
: la clé du certificat intermédiaire--root_cert
: le certificat racine--cert_chain
: la chaîne de certificats--network_id
Si vous configurez un maillage multiréseau, définissez--network_id
sur une valeur unique pour chaque cluster du maillage.
Microsoft AKS
Exécutez les commandes suivantes sur Microsoft AKS pour installer le plan de contrôle avec les fonctionnalités par défaut et Istio CA. Saisissez vos valeurs dans les espaces réservés fournis.
Définissez le contexte actuel sur votre cluster d'utilisateur :
kubectl config use-context CLUSTER_NAME
Exécutez
asmcli install
:HUB_REGISTRATION_EXTRA_FLAGS=--has-private-issuer ./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --option attached-cluster \ --ca citadel \ --ca_cert CA_CERT_FILE_PATH \ --ca_key CA_KEY_FILE_PATH \ --root_cert ROOT_CERT_FILE_PATH \ --cert_chain CERT_CHAIN_FILE_PATH \ --network_id default
HUB_REGISTRATION_EXTRA_FLAGS=--has-private-issuer
autorise l'enregistrement avec GKE Hub.--fleet_id
: ID du projet du projet hôte du parc.--kubeconfig
: chemin d'accès complet au fichierkubeconfig
. La variable d'environnement$PWD
ne fonctionne pas ici. De plus, les emplacements de fichierskubeconfig
relatifs qui utilisent une valeur `~` ne fonctionneront pas.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageanthos-service-mesh
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.--enable_all
: permet au script d'effectuer les opérations suivantes :- Accorder les autorisations IAM requises.
- Activer les API Google requises.
- Définir un libellé sur le cluster qui identifie le réseau maillé.
- Enregistrer le cluster dans le parc si ce n'est déjà fait.
--option attached-cluster
remplace l'utilitaire de signature par défaut par "istiod".-ca citadel
: utiliser l'autorité de certification Istio comme autorité de certification.--ca_cert
: le certificat intermédiaire--ca_key
: la clé du certificat intermédiaire--root_cert
: le certificat racine--cert_chain
: la chaîne de certificats--network_id
Si vous configurez un maillage multiréseau, définissez--network_id
sur une valeur unique pour chaque cluster du maillage.
Installer avec l'autorité de certification Istio avec Google Cloud Observability activé
Si vous souhaitez utiliser des tableaux de bord Cloud Service Mesh, vous devez activer Stackdriver.
GKE
Exécutez la commande suivante pour installer le plan de contrôle avec les fonctionnalités par défaut et Istio CA. Saisissez vos valeurs dans les espaces réservés fournis.
./asmcli install \
--project_id PROJECT_ID \
--cluster_name CLUSTER_NAME \
--cluster_location CLUSTER_LOCATION \
--fleet_id FLEET_PROJECT_ID \
--output_dir DIR_PATH \
--enable_all \
--ca citadel \
--ca_cert CA_CERT_FILE_PATH \
--ca_key CA_KEY_FILE_PATH \
--root_cert ROOT_CERT_FILE_PATH \
--cert_chain CERT_CHAIN_FILE_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.--fleet_id
: ID du projet du projet hôte du parc. Si vous n'incluez pas cette option,asmcli
utilise le projet dans lequel le cluster a été créé lors de son enregistrement.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageanthos-service-mesh
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.--enable_all
: permet au script d'effectuer les opérations suivantes :- Accorder les autorisations IAM requises.
- Activer les API Google requises.
- Définir un libellé sur le cluster qui identifie le réseau maillé.
- Enregistrer le cluster dans le parc si ce n'est déjà fait.
-ca citadel
: utiliser l'autorité de certification Istio comme autorité de certification.--ca_cert
: le certificat intermédiaire--ca_key
: la clé du certificat intermédiaire--root_cert
: le certificat racine--cert_chain
: la chaîne de certificats--option stackdriver
active l'option Stackdriver. Notez que vous pouvez également activer Stackdriver et Prometheus en utilisant--option prometheus-and-stackdriver
.
Sur site
Exécutez les commandes suivantes sur GKE sur VMware ou Google Distributed Cloud Virtual for Bare Metal afin d'installer le plan de contrôle avec Stackdriver et d'autres fonctionnalités facultatives et l'autorité de certification Istio. Saisissez vos valeurs dans les espaces réservés fournis.
Définissez le contexte actuel sur votre cluster d'utilisateur :
kubectl config use-context CLUSTER_NAME
Exécutez
asmcli install
:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca citadel \ --ca_cert CA_CERT_FILE_PATH \ --ca_key CA_KEY_FILE_PATH \ --root_cert ROOT_CERT_FILE_PATH \ --cert_chain CERT_CHAIN_FILE_PATH
--fleet_id
: ID du projet du projet hôte du parc.--kubeconfig
: chemin d'accès complet au fichierkubeconfig
. La variable d'environnement$PWD
ne fonctionne pas ici. De plus, les emplacements de fichierskubeconfig
relatifs qui utilisent une valeur `~` ne fonctionneront pas.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageanthos-service-mesh
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.--enable_all
: permet au script d'effectuer les opérations suivantes :- Accorder les autorisations IAM requises.
- Activer les API Google requises.
- Définir un libellé sur le cluster qui identifie le réseau maillé.
- Enregistrer le cluster dans le parc si ce n'est déjà fait.
-ca citadel
: utiliser l'autorité de certification Istio comme autorité de certification.--ca_cert
: le certificat intermédiaire--ca_key
: la clé du certificat intermédiaire--root_cert
: le certificat racine--cert_chain
: la chaîne de certificats--option stackdriver
active l'option Stackdriver. Notez que vous pouvez également activer Stackdriver et Prometheus en utilisant--option prometheus-and-stackdriver
.
Pour afficher les SLO et les métriques d'infrastructure dans l'interface utilisateur de Cloud Service Mesh, vous devez également effectuer les trois premières étapes de la section Activer la journalisation et la surveillance des applications. Si la journalisation et la surveillance ne sont pas activées et ne reçoivent pas de journaux ni de métriques personnalisés, le tableau de bord Cloud Service Mesh n'affiche pas les SLO, les journaux d'erreurs, ni les métriques de processeur et de mémoire.
AWS
Exécutez les commandes suivantes sur GKE sur AWS pour installer le plan de contrôle avec Stackdriver, d'autres fonctionnalités facultatives et l'autorité de certification Istio. Saisissez vos valeurs dans les espaces réservés fournis. Vous pouvez choisir d'activer l'entrée du sous-réseau public ou du sous-réseau privé.
Public
Définissez le contexte actuel sur votre cluster d'utilisateur :
kubectl config use-context CLUSTER_NAME
Exécutez
asmcli install
:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca citadel \ --ca_cert CA_CERT_FILE_PATH \ --ca_key CA_KEY_FILE_PATH \ --root_cert ROOT_CERT_FILE_PATH \ --cert_chain CERT_CHAIN_FILE_PATH \ --option stackdriver
--fleet_id
: ID du projet du projet hôte du parc.--kubeconfig
: chemin d'accès complet au fichierkubeconfig
. La variable d'environnement$PWD
ne fonctionne pas ici. De plus, les emplacements de fichierskubeconfig
relatifs qui utilisent une valeur `~` ne fonctionneront pas.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageanthos-service-mesh
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.--enable_all
: permet au script d'effectuer les opérations suivantes :- Accorder les autorisations IAM requises.
- Activer les API Google requises.
- Définir un libellé sur le cluster qui identifie le réseau maillé.
- Enregistrer le cluster dans le parc si ce n'est déjà fait.
-ca citadel
: utiliser l'autorité de certification Istio comme autorité de certification.--ca_cert
: le certificat intermédiaire--ca_key
: la clé du certificat intermédiaire--root_cert
: le certificat racine--cert_chain
: la chaîne de certificats--option stackdriver
active l'option Stackdriver. Notez que vous pouvez également activer Stackdriver et Prometheus en utilisant--option prometheus-and-stackdriver
.
Privé
Définissez le contexte actuel sur votre cluster d'utilisateur :
kubectl config use-context CLUSTER_NAME
Enregistrez le fichier YAML suivant dans un fichier appelé
istio-operator-internal-lb.yaml
:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: components: ingressGateways: - enabled: true k8s: serviceAnnotations: service.beta.kubernetes.io/aws-load-balancer-internal: "true" name: istio-ingressgateway
Exécutez
asmcli install
:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca citadel \ --ca_cert FILE_PATH \ --ca_key FILE_PATH \ --root_cert FILE_PATH \ --cert_chain FILE_PATH --custom_overlay istio-operator-internal-lb.yaml \ --option stackdriver
--fleet_id
: ID du projet du projet hôte du parc.--kubeconfig
: chemin d'accès complet au fichierkubeconfig
. La variable d'environnement$PWD
ne fonctionne pas ici. De plus, les emplacements de fichierskubeconfig
relatifs qui utilisent une valeur `~` ne fonctionneront pas.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageanthos-service-mesh
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.--enable_all
: permet au script d'effectuer les opérations suivantes :- Accorder les autorisations IAM requises.
- Activer les API Google requises.
- Définir un libellé sur le cluster qui identifie le réseau maillé.
- Enregistrer le cluster dans le parc si ce n'est déjà fait.
-ca citadel
: utiliser l'autorité de certification Istio comme autorité de certification.--ca_cert
: le certificat intermédiaire--ca_key
: la clé du certificat intermédiaire--root_cert
: le certificat racine--cert_chain
: la chaîne de certificats--custom_overlay
: nom du fichier de superposition créé. Pour en savoir plus sur les fichiers de superposition, consultez la page Activer des fonctionnalités facultatives sur le plan de contrôle au sein du cluster.--option stackdriver
active l'option Stackdriver. Notez que vous pouvez également activer Stackdriver et Prometheus en utilisant--option prometheus-and-stackdriver
. Vous pouvez également activer Stackdriver en utilisant--custom_overlay stackdriver.yaml
. Vous devez télécharger le package anthos-service-mesh-package, ou créerstackdriver.yaml
à partir du fichier manifeste fourni.
Azure
Exécutez les commandes suivantes sur GKE sur Azure (preview) pour installer le plan de contrôle avec Stackdriver et d'autres fonctionnalités facultatives et Istio CA. Saisissez vos valeurs dans les espaces réservés fournis. Vous pouvez choisir d'activer Ingress pour le sous-réseau public ou le sous-réseau privé.
Public
Définissez le contexte actuel sur votre cluster d'utilisateur :
kubectl config use-context CLUSTER_NAME
Exécutez
asmcli install
:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca citadel \ --ca_cert CA_CERT_FILE_PATH \ --ca_key CA_KEY_FILE_PATH \ --root_cert ROOT_CERT_FILE_PATH \ --cert_chain CERT_CHAIN_FILE_PATH \ --option stackdriver
--fleet_id
: ID du projet du projet hôte du parc.--kubeconfig
: chemin d'accès complet au fichierkubeconfig
. La variable d'environnement$PWD
ne fonctionne pas ici. De plus, les emplacements de fichierskubeconfig
relatifs qui utilisent une valeur `~` ne fonctionneront pas.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageanthos-service-mesh
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.--enable_all
: permet au script d'effectuer les opérations suivantes :- Accorder les autorisations IAM requises.
- Activer les API Google requises.
- Définir un libellé sur le cluster qui identifie le réseau maillé.
- Enregistrer le cluster dans le parc si ce n'est déjà fait.
-ca citadel
: utiliser l'autorité de certification Istio comme autorité de certification.--ca_cert
: le certificat intermédiaire--ca_key
: la clé du certificat intermédiaire--root_cert
: le certificat racine--cert_chain
: la chaîne de certificats--option stackdriver
active l'option Stackdriver. Notez que vous pouvez également activer Stackdriver et Prometheus en utilisant--option prometheus-and-stackdriver
.
Privé
Définissez le contexte actuel sur votre cluster d'utilisateur :
kubectl config use-context CLUSTER_NAME
Enregistrez le fichier YAML suivant dans un fichier appelé
istio-operator-internal-lb.yaml
:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: components: ingressGateways: - enabled: true k8s: serviceAnnotations: service.beta.kubernetes.io/aws-load-balancer-internal: "true" name: istio-ingressgateway
Exécutez
asmcli install
:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca citadel \ --ca_cert FILE_PATH \ --ca_key FILE_PATH \ --root_cert FILE_PATH \ --cert_chain FILE_PATH --custom_overlay istio-operator-internal-lb.yaml \ --option stackdriver
--fleet_id
: ID du projet du projet hôte du parc.--kubeconfig
: chemin d'accès complet au fichierkubeconfig
. La variable d'environnement$PWD
ne fonctionne pas ici. De plus, les emplacements de fichierskubeconfig
relatifs qui utilisent une valeur `~` ne fonctionneront pas.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageanthos-service-mesh
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.--enable_all
: permet au script d'effectuer les opérations suivantes :- Accorder les autorisations IAM requises.
- Activer les API Google requises.
- Définir un libellé sur le cluster qui identifie le réseau maillé.
- Enregistrer le cluster dans le parc si ce n'est déjà fait.
-ca citadel
: utiliser l'autorité de certification Istio comme autorité de certification.--ca_cert
: le certificat intermédiaire--ca_key
: la clé du certificat intermédiaire--root_cert
: le certificat racine--cert_chain
: la chaîne de certificats--custom_overlay
: nom du fichier de superposition créé. Pour en savoir plus sur les fichiers de superposition, consultez la page Activer des fonctionnalités facultatives sur le plan de contrôle au sein du cluster.--option stackdriver
active l'option Stackdriver. Notez que vous pouvez également activer Stackdriver et Prometheus en utilisant--option prometheus-and-stackdriver
. Vous pouvez également activer Stackdriver en utilisant--custom_overlay stackdriver.yaml
. Vous devez télécharger le package anthos-service-mesh-package, ou créerstackdriver.yaml
à partir du fichier manifeste fourni.
Amazon EKS
Exécutez les commandes suivantes sur Amazon EKS pour installer le plan de contrôle avec Stackdriver, d'autres fonctionnalités facultatives et Istio CA. Saisissez vos valeurs dans les espaces réservés fournis.
Définissez le contexte actuel sur votre cluster d'utilisateur :
kubectl config use-context CLUSTER_NAME
Exécutez
asmcli install
:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca citadel \ --ca_cert CA_CERT_FILE_PATH \ --ca_key CA_KEY_FILE_PATH \ --root_cert ROOT_CERT_FILE_PATH \ --cert_chain CERT_CHAIN_FILE_PATH \ --option stackdriver \ --option attached-cluster
--fleet_id
: ID du projet du projet hôte du parc.--kubeconfig
: chemin d'accès complet au fichierkubeconfig
. La variable d'environnement$PWD
ne fonctionne pas ici. De plus, les emplacements de fichierskubeconfig
relatifs qui utilisent une valeur `~` ne fonctionneront pas.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageanthos-service-mesh
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.--enable_all
: permet au script d'effectuer les opérations suivantes :- Accorder les autorisations IAM requises.
- Activer les API Google requises.
- Définir un libellé sur le cluster qui identifie le réseau maillé.
- Enregistrer le cluster dans le parc si ce n'est déjà fait.
-ca citadel
: utiliser l'autorité de certification Istio comme autorité de certification.--ca_cert
: le certificat intermédiaire--ca_key
: la clé du certificat intermédiaire--root_cert
: le certificat racine--cert_chain
: la chaîne de certificats--option stackdriver
active l'option Stackdriver. Notez que vous pouvez également activer Stackdriver et Prometheus en utilisant--option prometheus-and-stackdriver
.--option stackdriver
remplace l'utilitaire de signature par défaut paristiod
.
Microsoft AKS
Exécutez les commandes suivantes sur Microsoft AKS pour installer le plan de contrôle avec les fonctionnalités par défaut et Istio CA. Saisissez vos valeurs dans les espaces réservés fournis.
Définissez le contexte actuel sur votre cluster d'utilisateur :
kubectl config use-context CLUSTER_NAME
Exécutez
asmcli install
:HUB_REGISTRATION_EXTRA_FLAGS=--has-private-issuer ./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca citadel \ --ca_cert CA_CERT_FILE_PATH \ --ca_key CA_KEY_FILE_PATH \ --root_cert ROOT_CERT_FILE_PATH \ --cert_chain CERT_CHAIN_FILE_PATH \ --option stackdriver \ --option attached-cluster
HUB_REGISTRATION_EXTRA_FLAGS=--has-private-issuer
autorise l'enregistrement avec GKE Hub.--fleet_id
: ID du projet du projet hôte du parc.--kubeconfig
: chemin d'accès complet au fichierkubeconfig
. La variable d'environnement$PWD
ne fonctionne pas ici. De plus, les emplacements de fichierskubeconfig
relatifs qui utilisent une valeur `~` ne fonctionneront pas.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageanthos-service-mesh
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.--enable_all
: permet au script d'effectuer les opérations suivantes :- Accorder les autorisations IAM requises.
- Activer les API Google requises.
- Définir un libellé sur le cluster qui identifie le réseau maillé.
- Enregistrer le cluster dans le parc si ce n'est déjà fait.
-ca citadel
: utiliser l'autorité de certification Istio comme autorité de certification.--ca_cert
: le certificat intermédiaire--ca_key
: la clé du certificat intermédiaire--root_cert
: le certificat racine--cert_chain
: la chaîne de certificats--option stackdriver
active l'option Stackdriver. Notez que vous pouvez également activer Stackdriver et Prometheus en utilisant--option prometheus-and-stackdriver
.--option stackdriver
remplace l'utilitaire de signature par défaut paristiod
.
Installer avec des fonctionnalités facultatives
Un fichier de superposition est un fichier YAML contenant une ressource personnalisée IstioOperator
que vous transmettez à asmcli
pour configurer le plan de contrôle. Vous pouvez ignorer la configuration par défaut du plan de contrôle et activer une fonctionnalité facultative en transmettant le fichier YAML à asmcli
. Vous pouvez effectuer plusieurs couches de superpositions. Chaque fichier de superposition remplace la configuration dans les couches précédentes. Nous vous conseillons d'enregistrer les fichiers superposés dans votre système de contrôle des versions.
Il existe deux options pour activer les fonctionnalités facultatives : --option
et --custom_overlay
.
Utilisez --option
si vous n'avez pas besoin de modifier le fichier de superposition. Cette méthode permet à asmcli
de récupérer automatiquement le fichier à partir du dépôt GitHub.
Utilisez --custom_overlay
lorsque vous devez personnaliser le fichier de superposition.
Pour en savoir plus, consultez la page Activer des fonctionnalités facultatives sur le plan de contrôle au sein du cluster.
GKE
Exécutez la commande suivante pour installer le plan de contrôle avec une fonctionnalité facultative. Pour ajouter plusieurs fichiers, spécifiez --custom_overlay
et le nom du fichier, par exemple : --custom_overlay overlay_file1.yaml
--custom_overlay overlay_file2.yaml --custom_overlay overlay_file3.yaml
. Saisissez vos valeurs dans les espaces réservés fournis.
./asmcli install \
--project_id PROJECT_ID \
--cluster_name CLUSTER_NAME \
--cluster_location CLUSTER_LOCATION \
--fleet_id FLEET_PROJECT_ID \
--output_dir DIR_PATH \
--enable_all \
--ca mesh_ca \
--custom_overlay OVERLAY_FILE
--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.--fleet_id
: ID du projet du projet hôte du parc. Si vous n'incluez pas cette option,asmcli
utilise le projet dans lequel le cluster a été créé lors de son enregistrement.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageanthos-service-mesh
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.--enable_all
: permet au script d'effectuer les opérations suivantes :- Accorder les autorisations IAM requises.
- Activer les API Google requises.
- Définir un libellé sur le cluster qui identifie le réseau maillé.
- Enregistrer le cluster dans le parc si ce n'est déjà fait.
--ca mesh_ca
Utilisez l'autorité de certification Cloud Service Mesh comme autorité de certification. Notez queasmcli
configure l'autorité de certification Cloud Service Mesh pour utiliser l'identité de charge de travail du parc.--custom_overlay
: spécifier le nom du fichier de superposition.
En dehors de Google Cloud
Exécutez les commandes suivantes sur GKE sur VMware, Google Distributed Cloud Virtual for Bare Metal, GKE sur AWS, Amazon EKS ou Microsoft AKS. Saisissez vos valeurs dans les espaces réservés fournis.
Définissez le contexte actuel sur votre cluster d'utilisateur :
kubectl config use-context CLUSTER_NAME
Exécutez
asmcli install
pour installer le plan de contrôle avec une fonctionnalité facultative. Pour ajouter plusieurs fichiers, spécifiez--custom_overlay
et le nom du fichier, par exemple :--custom_overlayoverlay_file1.yaml --custom_overlay overlay_file2.yaml --custom_overlay overlay_file3.yaml
./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca mesh_ca \ --custom_overlay OVERLAY_FILE
--fleet_id
: ID du projet du projet hôte du parc.--kubeconfig
: chemin d'accès complet au fichierkubeconfig
. La variable d'environnement$PWD
ne fonctionne pas ici. De plus, les emplacements de fichierskubeconfig
relatifs qui utilisent une valeur `~` ne fonctionneront pas.--output_dir
: incluez cette option pour spécifier un répertoire dans lequelasmcli
télécharge le packageanthos-service-mesh
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.--enable_all
: permet au script d'effectuer les opérations suivantes :- Accorder les autorisations IAM requises.
- Activer les API Google requises.
- Définir un libellé sur le cluster qui identifie le réseau maillé.
- Enregistrer le cluster dans le parc si ce n'est déjà fait.
--ca mesh_ca
Utilisez l'autorité de certification Cloud Service Mesh comme autorité de certification. Notez queasmcli
configure l'autorité de certification Cloud Service Mesh pour utiliser l'identité de charge de travail du parc.--custom_overlay
: spécifier le nom du fichier de superposition.
Installer les passerelles
Cloud Service Mesh vous permet de déployer et de gérer des passerelles dans le cadre de votre maillage de services. Une passerelle décrit un équilibreur de charge fonctionnant à la périphérie du réseau maillé recevant des connexions HTTP/TCP entrantes ou sortantes. Les passerelles sont des proxys Envoy qui vous permettent de contrôler avec précision le trafic entrant et sortant du réseau maillé.
Créez un espace de noms pour la passerelle d'entrée si vous n'en possédez pas déjà un. Les passerelles sont des charges de travail d'utilisateur. Il est déconseillé de les déployer dans l'espace de noms du plan de contrôle. Remplacez
GATEWAY_NAMESPACE
par le nom de votre espace de noms.kubectl create namespace GATEWAY_NAMESPACE
Résultat attendu :
namespace/GATEWAY_NAMESPACE created
Activez l'injection automatique sur la passerelle. Les étapes requises varient selon que vous souhaitez utiliser les étiquettes d'injection par défaut (par exemple,
istio-injection=enabled
) ou les étiquettes de révision sur l'espace de noms de la passerelle. Le tag de révision et le libellé de révision par défaut sont utilisés par le webhook d'injecteur side-car pour associer les proxys injectés à une révision spécifique du plan de contrôle.Libellés d'injection par défaut
Appliquez les libellés d'injection par défaut à l'espace de noms.
kubectl label namespace GATEWAY_NAMESPACE istio-injection=enabled istio.io/rev-
Libellé de révision
Exécutez la commande suivante pour localiser le libellé de révision sur
istiod
:kubectl get deploy -n istio-system -l app=istiod -o \ "jsonpath={.items[*].metadata.labels['istio\.io/rev']}{'\n'}"
La commande génère le libellé de révision correspondant à la version de Cloud Service Mesh, par exemple:
Appliquez l'étiquette de révision à l'espace de noms. Dans la commande suivante,
REVISION
correspond à la valeur du libellé de révisionistiod
que vous avez notée à l'étape précédente.kubectl label namespace GATEWAY_NAMESPACE \ istio.io/rev=REVISION --overwrite
Résultat attendu :
namespace/GATEWAY_NAMESPACE labeled
Vous pouvez ignorer le message
"istio.io/rev" not found
dans le résultat. Cela signifie que l'espace de noms ne portait pas l'étiquetteistio.io/rev
auparavant, ce qui est normal dans les nouvelles installations de Cloud Service Mesh ou les nouveaux déploiements. Étant donné que l'injection automatique échoue si un espace de noms possède à la fois les étiquettesistio.io/rev
etistio-injection
, toutes les commandeskubectl label
de la documentation Cloud Service Mesh spécifient explicitement les deux étiquettes.Si l'espace de noms de la passerelle ne comporte pas d'étiquette, les pods
istio-ingressgateway
échouent avec une erreurImagePullBackOff
lorsque la passerelle tente d'extraire l'imageauto
. Cette image doit être remplacée par le webhook.Téléchargez l'exemple de fichier de configuration .yaml de la passerelle d'entrée à partir du dépôt
anthos-service-mesh-packages
.Appliquez l'exemple de configuration .yaml de la passerelle d'entrée telle quelle ou modifiez-le si nécessaire.
kubectl apply -n GATEWAY_NAMESPACE \ -f CONFIG_PATH/istio-ingressgateway
Résultat attendu :
deployment.apps/istio-ingressgateway created poddisruptionbudget.policy/istio-ingressgateway created horizontalpodautoscaler.autoscaling/istio-ingressgateway created role.rbac.authorization.k8s.io/istio-ingressgateway created rolebinding.rbac.authorization.k8s.io/istio-ingressgateway created service/istio-ingressgateway created serviceaccount/istio-ingressgateway created
Découvrez les bonnes pratiques liées aux passerelles.
Déployer et redéployer des charges de travail
Cloud Service Mesh utilise des proxys side-car pour améliorer la sécurité, la fiabilité et l'observabilité du réseau. Avec Cloud Service Mesh, ces fonctions sont extraites du conteneur principal de l'application et mises en œuvre dans un proxy commun hors processus fourni sous la forme d'un conteneur distinct dans le même pod.
Votre installation n'est pas terminée tant que vous n'avez pas activé l'injection automatique du proxy side-car (injection automatique) et redémarré les pods pour toutes les charges de travail qui s'exécutaient sur votre cluster avant l'installation de Cloud Service Mesh.
Pour activer l'injection automatique, vous devez attribuer une étiquette à vos espaces de noms avec les étiquettes d'injection par défaut si le tag par défaut est configuré, ou avec une étiquette de révision définie sur istiod
lors de l'installation de Cloud Service Mesh. Le tag de révision et le libellé de révision par défaut sont utilisés par le webhook d'injecteur side-car pour associer les side-cars injectés à une révision istiod
. Après avoir ajouté le libellé, tous les pods existants dans l'espace de noms doivent être redémarrés pour que les sidecars soient injectés.
Avant de déployer de nouvelles charges de travail dans un nouvel espace de noms, veillez à configurer l'injection automatique afin que Cloud Service Mesh puisse surveiller et sécuriser le trafic.
Les étapes requises pour activer l'injection automatique varient selon que vous souhaitez utiliser les libellés d'injection par défaut ou le libellé de révision :
Libellés d'injection par défaut
Dans la commande suivante,
NAMESPACE
est le nom de l'espace de noms dans lequel vous souhaitez activer l'injection automatique.kubectl label namespace NAMESPACE istio-injection=enabled istio.io/rev-
Étant donné que les libellés d'injection par défaut injectent la révision vers laquelle le tag par défaut pointe, il n'est pas nécessaire de modifier les libellés des espaces de noms.
Libellé de révision
Exécutez la commande suivante pour localiser le libellé de révision sur
istiod
:kubectl -n istio-system get pods -l app=istiod --show-labels
La sortie ressemble à ceci :
NAME READY STATUS RESTARTS AGE LABELS istiod--5788d57586-bljj4 1/1 Running 0 23h app=istiod,istio.io/rev=,istio=istiod,pod-template-hash=5788d57586 istiod--5788d57586-vsklm 1/1 Running 1 23h app=istiod,istio.io/rev=,istio=istiod,pod-template-hash=5788d57586
Dans le résultat, sous la colonne
LABELS
, notez la valeur du libellé de révisionistiod
, qui suit le préfixeistio.io/rev=
. Dans cet exemple, la valeur est.
Appliquez le libellé de révision et supprimez le libellé
istio-injection
s'il existe. Dans la commande suivante,NAMESPACE
est le nom de l'espace de noms dans lequel vous souhaitez activer l'injection automatique, etREVISION
est le libellé de révision noté à l'étape précédente.kubectl label namespace NAMESPACE istio-injection- istio.io/rev=REVISION --overwrite
Vous pouvez ignorer le message
"istio-injection not found"
dans le résultat. Cela signifie que l'espace de noms ne portait pas l'étiquetteistio-injection
auparavant, ce qui est normal dans les nouvelles installations de Cloud Service Mesh ou les nouveaux déploiements. Étant donné que le comportement d'injection automatique n'est pas défini lorsqu'un espace de noms possède à la foisistio-injection
et le libellé de révision, toutes les commandeskubectl label
de la documentation Cloud Service Mesh garantissent explicitement qu'une seule commande est définie.
Si des charges de travail étaient en cours d'exécution sur votre cluster avant l'installation de Cloud Service Mesh, redémarrez les pods pour déclencher une réinjection.
La méthode de redémarrage des pods dépend de votre application et de l'environnement dans lequel se trouve le cluster. Par exemple, dans votre environnement de préproduction, vous pouvez simplement supprimer tous les pods, ce qui entraîne leur redémarrage. Toutefois, dans votre environnement de production, vous pouvez avoir un processus qui met en œuvre un déploiement bleu-vert afin de pouvoir redémarrer les pods en toute sécurité pour éviter toute interruption de trafic.
Vous pouvez exécuter
kubectl
pour effectuer un redémarrage progressif :kubectl rollout restart deployment -n NAMESPACE
Étapes suivantes
Découvrez comment configurer un maillage multicluster :
Si votre maillage ne comprend que des clusters GKE, consultez la page Configurer un maillage multicluster sur GKE.
Si votre maillage contient des clusters en dehors de Google Cloud, consultez la page Configurer un maillage multicluster en dehors de Google Cloud.