Attivazione di funzionalità facoltative

Quando installi Anthos Service Mesh, specifichi il profilo di configurazione di Anthos Service Mesh, che attiva le funzionalità predefinite supportate elencate nella pagina Funzionalità supportate. I profili di configurazione di Anthos Service Mesh, asm.yaml e asm-onprem.yaml, si trovano nella sottodirectory install/kubernetes/operator/profiles all'interno della directory principale dell'installazione di Anthos Service Mesh. I profili di configurazione definiscono e configurano le funzionalità installate con Anthos Service Mesh.

Puoi eseguire l'override del profilo di configurazione di ASM e attivare singolarmente le funzionalità facoltative supportate dalla riga di comando utilizzando --set values. In alternativa, se devi abilitare molte funzionalità o se la funzionalità ha numerose impostazioni, puoi creare un file di definizione delle risorse personalizzate di IstioControlPlane. Passi il file a istioctl utilizzando l'opzione -f. Per ulteriori informazioni, vedi Personalizzazione della configurazione.

Quando attivi le funzionalità facoltative:

  • Assicurati che la funzionalità che abiliti sia supportata.

  • Specifica il profilo di configurazione applicabile per la tua piattaforma:

    • Per Google Kubernetes Engine, utilizza --set profile=asm
    • Per GKE su VMware, utilizza --set profile=asm-onprem

Opzioni della riga di comando per abilitare le funzionalità facoltative

La tabella seguente fornisce le opzioni della riga di comando per abilitare le funzionalità facoltative e supportate.

Funzionalità Opzioni della riga di comando
Modalità mTLS STRICT --set values.global.mtls.enabled=true
Prometheus --set values.prometheus.enabled=true
Grafana (che richiede Prometheus) --set values.prometheus.enabled=true \
--set values.grafana.enabled=true
Indirizzare Envoy a stdout --set values.global.proxy.accessLogFile="/dev/stdout"
Per ulteriori informazioni, vedi Abilita il logging degli accessi di Envoy.
Stackdriver Tracing --set values.tracing.enabled=true \
--set values.global.proxy.tracer="stackdriver"
In uscita tramite gateway in uscita --set values.gateways.istio-egressgateway.enabled=true
Per ulteriori informazioni, consulta Gateway.

Esempi

I comandi per installare Anthos Service Mesh su GKE utilizzano le seguenti variabili di ambiente:

  • Imposta l'ID progetto Google Cloud:

    export PROJECT_ID=YOUR_PROJECT_ID
  • Imposta il numero del progetto:

    export PROJECT_NUMBER=$(gcloud projects describe ${PROJECT_ID} --format="value(projectNumber)")
  • Imposta il nome del cluster.

    export CLUSTER_NAME=YOUR_CLUSTER_NAME

  • Imposta CLUSTER_LOCATION sulla zona o sulla regione del cluster.

    export CLUSTER_LOCATION=YOUR_ZONE_OR_REGION

  • Imposta il pool di carichi di lavoro.

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

  • Imposta l'ID mesh, necessario per visualizzare le metriche nelle pagine Anthos Service Mesh nella console Google Cloud:

    export MESH_ID="proj-${PROJECT_NUMBER}"

Abilita il gateway in uscita

Per installare Anthos Service Mesh in PERMISSIVE modalità di autenticazione mTLS (mutual TLS) e abilitare il gateway in uscita:

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

Attiva la modalità mTLS di STRICT

Per installare Anthos Service Mesh in modalità 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

Abilita un bilanciatore del carico interno

Per le installazioni su GKE, puoi abilitare un bilanciatore del carico interno per il gateway in entrata Istio. I bilanciatori del carico interni non sono supportati per GKE su VMware. Per informazioni sulla configurazione di GKE su VMware, consulta Configurazione del bilanciatore del carico per GKE su VMware.

  1. Copia il seguente testo in un file e salvalo come 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. Specifica il file nella riga di comando:

    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