Activer les fonctionnalités facultatives

Lorsque vous installez Anthos Service Mesh, vous spécifiez le profil de configuration Anthos Service Mesh, ce qui active les fonctionnalités par défaut compatibles répertoriées sur la page Fonctionnalités compatibles. Les profils de configuration Anthos Service Mesh, asm.yaml et asm-onprem.yaml, se trouvent dans le sous-répertoire install/kubernetes/operator/profiles du répertoire racine de l'installation d'Anthos Service Mesh. Les profils de configuration définissent et configurent les fonctionnalités installées avec Anthos Service Mesh.

Vous pouvez remplacer le profil de configuration ASM et activer les fonctionnalités compatibles facultatives individuellement depuis la ligne de commande à l'aide de --set values. Si vous avez de nombreuses fonctionnalités à activer ou si la fonctionnalité comporte de nombreux paramètres, vous pouvez également créer un fichier de définition de ressource personnalisé IstioControlPlane. Vous transmettez le fichier à istioctl à l'aide de l'option -f. Pour en savoir plus, consultez la page Personnaliser la configuration.

Lorsque vous activez des fonctionnalités facultatives :

  • Assurez-vous que la fonctionnalité que vous activez est compatible.

  • Spécifiez le profil de configuration applicable à votre plate-forme :

    • Pour Google Kubernetes Engine, utilisez --set profile=asm.
    • Pour GKE sur VMware, utilisez --set profile=asm-onprem.

Options de ligne de commande permettant d'activer les fonctionnalités facultatives

Le tableau suivant présente les options de ligne de commande permettant d'activer les fonctionnalités facultatives et compatibles.

Fonctionnalité Options de ligne de commande
Mode mTLS STRICT --set values.global.mtls.enabled=true
Prometheus --set values.prometheus.enabled=true
Grafana (nécessite Prometheus) --set values.prometheus.enabled=true \
--set values.grafana.enabled=true
Diriger Envoy vers stdout --set values.global.proxy.accessLogFile="/dev/stdout"
Pour en savoir plus, consultez la page Activer la journalisation des accès Envoy.
Traçage Stackdriver --set values.tracing.enabled=true \
--set values.global.proxy.tracer="stackdriver"
Sortie via des passerelles de sortie --set values.gateways.istio-egressgateway.enabled=true
Pour en savoir plus, consultez la page consacrée aux passerelles.

Examples

Les commandes permettant d'installer Anthos Service Mesh sur GKE utilisent les variables d'environnement suivantes :

  • Définissez votre ID de projet Google Cloud:

    export PROJECT_ID=YOUR_PROJECT_ID
  • Définissez le numéro du projet :

    export PROJECT_NUMBER=$(gcloud projects describe ${PROJECT_ID} --format="value(projectNumber)")
  • Définissez le nom du cluster.

    export CLUSTER_NAME=YOUR_CLUSTER_NAME

  • Définissez CLUSTER_LOCATION sur la zone ou la région de votre cluster.

    export CLUSTER_LOCATION=YOUR_ZONE_OR_REGION

  • Définissez le pool de charges de travail.

    export WORKLOAD_POOL=${PROJECT_ID}.svc.id.goog

  • Définissez l'ID du maillage, nécessaire pour que les métriques s'affichent sur les pages Anthos Service Mesh de la console Google Cloud:

    export MESH_ID="proj-${PROJECT_NUMBER}"

Activer la passerelle de sortie

Pour installer Anthos Service Mesh en mode d'authentification TLS mutuel (mTLS) PERMISSIVE, puis activer la passerelle de sortie, procédez comme suit :

GKE

istioctl manifest apply --set profile=asm \
--set values.global.trustDomain=${WORKLOAD_POOL} \
--set values.global.sds.token.aud=${WORKLOAD_POOL} \
--set values.nodeagent.env.GKE_CLUSTER_URL=https://container.googleapis.com/v1/projects/${PROJECT_ID}/locations/${CLUSTER_LOCATION}/clusters/${CLUSTER_NAME} \
--set values.global.meshID=${MESH_ID} \
--set values.global.proxy.env.GCP_METADATA="${PROJECT_ID}|${PROJECT_NUMBER}|${CLUSTER_NAME}|${CLUSTER_LOCATION}" \
--set values.gateways.istio-egressgateway.enabled=true

GKE On-Prem

istioctl manifest apply --set profile=asm-onprem} \
--set values.gateways.istio-egressgateway.enabled=true

Activer le mode mTLS STRICT

Pour installer Anthos Service Mesh en mode mTLS STRICT :

GKE

istioctl manifest apply --set profile=asm \
--set values.global.trustDomain=${WORKLOAD_POOL} \
--set values.global.sds.token.aud=${WORKLOAD_POOL} \
--set values.nodeagent.env.GKE_CLUSTER_URL=https://container.googleapis.com/v1/projects/${PROJECT_ID}/locations/${CLUSTER_LOCATION}/clusters/${CLUSTER_NAME} \
--set values.global.meshID=${MESH_ID} \
--set values.global.proxy.env.GCP_METADATA="${PROJECT_ID}|${PROJECT_NUMBER}|${CLUSTER_NAME}|${CLUSTER_LOCATION}" \
--set values.global.mtls.enabled=true

GKE On-Prem

istioctl manifest apply --set profile=asm-onprem \
--set values.global.mtls.enabled=true

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. Les équilibreurs de charge internes ne sont pas compatibles avec GKE sur VMware. Pour en savoir plus sur la configuration de GKE sur VMware, consultez la page Configurer votre équilibreur de charge pour GKE sur VMware.

  1. Copiez le texte suivant dans un fichier et enregistrez-le sous le nom ilb.yaml :

    apiVersion: install.istio.io/v1alpha2
    kind: IstioControlPlane
    spec:
      values:
        gateways:
          istio-ingressgateway:
            serviceAnnotations:
              cloud.google.com/load-balancer-type: internal
            ports:
              - name: status-port
                port: 15020
              - name: http2
                port: 80
              - name: https
                port: 443
    
  2. Spécifiez le fichier sur la ligne de commande :

    istioctl manifest apply --set profile=asm \
    --set values.global.trustDomain=${WORKLOAD_POOL} \
    --set values.global.sds.token.aud=${WORKLOAD_POOL} \
    --set values.nodeagent.env.GKE_CLUSTER_URL=https://container.googleapis.com/v1/projects/${PROJECT_ID}/locations/${CLUSTER_LOCATION}/clusters/${CLUSTER_NAME} \
    --set values.global.meshID=${MESH_ID} \
    --set values.global.proxy.env.GCP_METADATA="${PROJECT_ID}|${PROJECT_NUMBER}|${CLUSTER_NAME}|${CLUSTER_LOCATION}" \
    -f ilb.yaml