Lorsque vous installez Anthos Service Mesh, vous spécifiez un profil de configuration. Les profils de configuration sont des fichiers YAML qui définissent et configurent les fonctionnalités installées avec Anthos Service Mesh. Les profils suivants sont fournis avec Anthos Service Mesh :
asm-gcp
: utilisez ce profil si tous vos clusters GKE se trouvent dans le même projet. Lorsque vous installez Anthos Service Mesh avec ce profil, les fonctionnalités suivantes sont activées :Télémétrie du réseau maillé, qui fournit des données aux tableaux de bord Anthos Service Mesh dans la console Google Cloud.
Les autres fonctionnalités compatibles par défaut sont répertoriées sur la page Fonctionnalités compatibles du profil de configuration
asm-gcp
.
asm-gcp-multiproject
: utilisez ce profil si votre cluster GKE se trouve dans un cloud privé virtuel partagé et que vous souhaitez ajouter des clusters de différents projets à Anthos Service Mesh. Lorsque vous installez Anthos Service Mesh à l'aide du profilasm-gcp-multiproject
:Les tableaux de bord Anthos Service Mesh de la console Google Cloud ne sont actuellement pas disponibles. Toutefois, vous pouvez toujours consulter les journaux dans Cloud Logging et les métriques dans Cloud Monitoring pour chaque projet.
Les fonctionnalités compatibles par défaut répertoriées sur la page Fonctionnalités compatibles pour le profil de configuration
asm-gcp-multiproject
sont activées.
asm-multicloud
: utilisez ce profil pour les clusters dans d'autres environnements compatibles : GKE sur VMware, GKE sur AWS, Amazon Elastic Kubernetes Service (Amazon EKS) et Microsoft Azure Kubernetes Service (Microsoft AKS). Lorsque vous installez Anthos Service Mesh à l'aide du profilasm-multicloud.yaml
, cela active les fonctionnalités compatibles par défaut répertoriées sur la page Fonctionnalités compatibles pour le profil de configurationasm-multicloud
.
Les profils se trouvent dans le sous-répertoire manifests/profiles
du répertoire racine de l'installation d'Anthos Service Mesh.
Vous pouvez remplacer le profil de configuration et activer les fonctionnalités facultatives compatibles à l'aide de l'API IstioOperator
. Spécifiez la configuration IstioOperator
dans un fichier YAML, par exemple feature.yaml
. (Le nom du fichier YAML n'a pas d'importance.)
Bien que vous puissiez modifier la configuration en modifiant le profil ou en spécifiant des paramètres de configuration dans la ligne de commande à l'aide de l'option --set
, nous vous recommandons d'utiliser un fichier YAML de configuration IstioOperator
pour pouvoir stocker le fichier dans votre système de contrôle des versions avec vos autres fichiers de configuration de ressources. Lorsque vous activez des fonctionnalités facultatives, vous pouvez spécifier plusieurs fichiers dans la ligne de commande.
Examples
Pour activer une fonctionnalité lors de l'installation ou de la mise à niveau d'Anthos Service Mesh, vous devez inclure à la fois le profil et le fichier YAML de la fonctionnalité que vous souhaitez activer. Dans ces exemples, nous partons du principe que vous avez complété toutes les étapes du guide d'installation ou de mise à niveau que vous suivez jusqu'au moment de l'installation d'Anthos Service Mesh.
Activer une passerelle de sortie
Cet exemple montre comment activer une passerelle de sortie sur GKE sur VMware.
Copiez le code YAML suivant dans un fichier
feature.yaml
et enregistrez-le :apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: components: egressGateways: - name: istio-egressgateway enabled: true
Pour installer Anthos Service Mesh sur GKE sur VMware, dans la ligne de commande suivante, remplacez
REVISION
par la version exacte d'Anthos Service Mesh que vous installez, par exemple :asm-1614-2
istioctl install \ --set profile=asm-multicloud \ --set revision=REVISION \ -f feature.yaml
Activer le traçage
Cet exemple montre comment activer Cloud Trace sur GKE.
Pour les installations et les mises à niveau sur GKE sur Google Cloud, vous devez préparer le fichier istio-operator.yaml
, qui contient des informations sur votre projet et votre cluster. Lorsque vous configurez istio-operator.yaml
, vous définissez le profil que vous souhaitez utiliser (asm-gcp
ou asm-gcp-multiproject
). Étant donné que le profil est configuré dans istio-operator.yaml
, vous n'avez pas besoin de le spécifier sur la ligne de commande dans ce cas, même si vous souhaiterez peut-être l'indiquer par souci de clarté.
Copiez le code YAML suivant dans un fichier
feature.yaml
et enregistrez-le :apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: enableTracing: true values: global: proxy: tracer: stackdriver
Pour installer Anthos Service Mesh sur GKE, dans la ligne de commande suivante :
- Remplacez
PROFILE
par le profil que vous utilisez :asm-gcp
ouasm-gcp-multiproject
. - Remplacez
REVISION
par la version exacte d'Anthos Service Mesh que vous installez, par exemple :asm-1614-2
.
istioctl install \ -f asm/cluster/istio-operator.yaml \ --set profile=PROFILE \ --set revision=REVISION \ -f feature.yaml
- Remplacez
Format YAML pour les fonctionnalités facultatives
Les sections suivantes fournissent le code YAML permettant d'activer les fonctionnalités facultatives compatibles. Lorsque vous activez une fonctionnalité facultative, vous devez inclure à la fois le profil et le fichier YAML de la fonctionnalité que vous souhaitez activer dans la ligne de commande. Pour GKE, le profil est configuré dans istio-operator.yaml
.
Mode mTLS STRICT
La configuration global.mtls.enabled
a été supprimée pour éviter les problèmes liés aux mises à niveau et fournir une installation plus flexible. Pour activer le mode TLS STRICT
, configurez une règle d'authentification des pairs à la place.
Diriger Envoy vers stdout
apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: accessLogFile: "/dev/stdout"
Pour en savoir plus, consultez la page Activer la journalisation des accès Envoy.
Cloud Trace
Pour les installations sur GKE, vous pouvez activer Cloud Trace. Pour en savoir plus sur la tarification, consultez la page des tarifs de Cloud Trace.
apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: enableTracing: true values: global: proxy: tracer: stackdriver
Le taux d'échantillonnage par défaut est de 1 %, mais vous pouvez remplacer la valeur par défaut en spécifiant une valeur traceSampling
. La valeur doit être comprise entre 0 et 100 avec une précision de 0,01. Par exemple, pour tracer cinq requêtes sur 10 000, spécifiez 0,05.
L'exemple suivant montre un taux d'échantillonnage de 100 % (ce qui n'est destiné qu'à des fins de démonstration ou de dépannage).
apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: enableTracing: true values: pilot: traceSampling: 100 global: proxy: tracer: stackdriver
Propagation du contexte de trace
Même si les proxys side-car peuvent envoyer automatiquement des délais de trace, ils ont besoin d'indications pour relier l'intégralité de la trace. Les applications doivent propager les en-têtes HTTP appropriés de sorte que, lorsque les proxys envoient des informations de délais, ceux-ci soient correctement corrélés en une seule trace.
Pour ce faire, une application doit collecter et propager les en-têtes suivants de la requête entrante vers les requêtes sortantes :
- x-request-id
- x-b3-traceid
- x-b3-spanid
- x-b3-parentspanid
- x-b3-sampled
- x-b3-flags
- x-ot-span-context
- x-cloud-trace-context
- traceparent
- grpc-trace-bin
Pour obtenir des exemples de propagation des en-têtes, consultez la page propagation du contexte de trace.
Sortie via des passerelles de sortie
apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: components: egressGateways: - name: istio-egressgateway enabled: true
Pour plus d'informations, consultez la section Passerelles de sortie.
Container Network Interface d'Istio
La procédure d'activation de l'interface CNI (Container Network Interface) d'Istio dépend de l'environnement sur lequel Anthos Service Mesh est installé. Vous devez également activer une règle de réseau.
Activer CNI sur GKE
apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: components: cni: enabled: true namespace: kube-system values: cni: cniBinDir: /home/kubernetes/bin excludeNamespaces: - istio-system - kube-system
Activer CNI sur GKE sur VMware
Pour GKE sur VMware, ajoutez gke-system
à excludeNamespaces
et values.cni.cniBinDir
.
est /opt/cni/bin
:
apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: components: cni: enabled: true namespace: kube-system values: cni: cniBinDir: /opt/cni/bin excludeNamespaces: - istio-system - kube-system - gke-system
Activer un équilibreur de charge interne
Pour les installations sur GKE, vous pouvez activer un équilibreur de charge interne pour la passerelle d'entrée Istio. Dans le code YAML suivant, remplacez PROFILE
par le profil que vous utilisez (asm-gcp
ou asm-gcp-multiproject
).
apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: profile: PROFILE components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: serviceAnnotations: cloud.google.com/load-balancer-type: "internal" service: ports: - name: status-port port: 15020 - name: http2 port: 80 - name: https port: 443
Gestion des certificats externes sur la passerelle d'entrée
Pour plus d'informations sur l'activation de la gestion des certificats externes sur la passerelle d'entrée à l'aide d'Envoy SDS, consultez la page Passerelles sécurisées.