Installazione di Anthos Service Mesh

Questa pagina spiega come installare Anthos Service Mesh su GKE e piattaforme on-premise:

  • Esegui asmcli per eseguire una nuova installazione di Anthos Service Mesh 1.17.8-asm.20.
  • Facoltativamente, esegui il deployment di un gateway in entrata.
  • Esegui il deployment o riesegui il deployment dei tuoi carichi di lavoro per inserire proxy sidecar.

Limitazioni

Tieni presente le seguenti limitazioni:

  • Per utilizzare Anthos Service Mesh, tutti i cluster Anthos Service Mesh per un mesh devono essere sempre registrati nello stesso parco risorse. Altri cluster nel progetto di un cluster Anthos Service Mesh non devono essere registrati in un parco risorse diverso.

  • Lo strumento asmcli deve avere accesso all'endpoint Google Kubernetes Engine (GKE). Puoi configurare l'accesso tramite un server "jump", ad esempio una VM di Compute Engine all'interno del Virtual Private Cloud (VPC), concedendo l'accesso specifico.

Prima di iniziare

Prima di iniziare, assicurati di:

Installazione di Anthos Service Mesh

Di seguito viene descritto come installare Anthos Service Mesh:

  1. Esegui asmcli install per installare il piano di controllo nel cluster su un singolo cluster. Per gli esempi di righe di comando, consulta le sezioni seguenti. Gli esempi contengono sia argomenti obbligatori sia argomenti facoltativi che potresti trovare utili. Ti consigliamo di specificare sempre l'argomento output_dir in modo da poter individuare facilmente strumenti e gateway di esempio come istioctl. Consulta la barra di navigazione sulla destra per un elenco di esempi.

  2. I cluster GKE privati richiedono un passaggio di configurazione firewall aggiuntivo per consentire il traffico verso istiod.

  3. Facoltativamente, installa un gateway in entrata. Per impostazione predefinita, asmcli non installa istio-ingressgateway. Ti consigliamo di eseguire il deployment e gestire separatamente il piano di controllo e i gateway. Se devi installare l'oggetto predefinito istio-ingressgateway con il piano di controllo nel cluster, includi l'argomento --option legacy-default-ingressgateway.

  4. Per completare la configurazione di Anthos Service Mesh, devi abilitare l'inserimento automatico di file collaterali e eseguire il deployment o rieseguire il deployment dei carichi di lavoro.

  5. Se stai installando Anthos Service Mesh su più cluster, esegui asmcli install su ciascun cluster. Quando esegui asmcli install, assicurati di utilizzare lo stesso FLEET_PROJECT_ID per ogni cluster. Dopo aver installato Anthos Service Mesh, consulta le istruzioni per configurare un mesh multi-cluster su GKE o su Google Cloud.

  6. Se i tuoi cluster si trovano su reti diverse (in modalità isola), devi passare un nome di rete univoco a asmcli utilizzando il flag --network_id.

Installa le funzionalità predefinite e Mesh CA

Questa sezione mostra come eseguire asmcli per installare Anthos Service Mesh con le funzionalità supportate predefinite per la tua piattaforma e come abilitare l'autorità di certificazione Anthos Service Mesh (CA mesh) come autorità di certificazione.

GKE

Esegui questo comando per installare il piano di controllo con le funzionalità predefinite e Mesh CA. Inserisci i valori nei segnaposto forniti.

./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 e --cluster_location Specifica l'ID progetto in cui si trova il cluster, il nome del cluster e la zona o la regione del cluster.
  • --fleet_id L'ID progetto del progetto host del parco risorse. Se non includi questa opzione, asmcli utilizza il progetto in cui è stato creato il cluster durante la registrazione del cluster.
  • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto anthos-service-mesh ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.
  • --enable_all Consente allo script di:
    • Concedi le autorizzazioni IAM richieste.
    • Abilita le API di Google richieste.
    • Imposta un'etichetta sul cluster che identifica il mesh.
    • Registra il cluster nel parco risorse, se non è già registrato.
  • --ca mesh_ca Utilizza Mesh CA come autorità di certificazione. asmcliConfigura Mesh CA per utilizzare l'identità del carico di lavoro del parco risorse

On-premise

Esegui i comandi seguenti su GKE su VMware o Google Distributed Cloud Virtual for Bare Metal per installare il piano di controllo con funzionalità predefinite e Mesh CA. Inserisci i valori nei segnaposto forniti.

  1. Imposta il contesto attuale per il tuo cluster utente:

    kubectl config use-context CLUSTER_NAME
    
  2. Esegui 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 L'ID progetto del progetto host del parco risorse.
    • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona in questo caso. Inoltre, le posizioni relative dei file kubeconfig che utilizzano il carattere "~" non funzioneranno.
    • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto anthos-service-mesh ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.
    • --platform multicloud Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.
    • --enable_all Consente allo script di:
      • Concedi le autorizzazioni IAM richieste.
      • Abilita le API di Google richieste.
      • Imposta un'etichetta sul cluster che identifica il mesh.
      • Registra il cluster nel parco risorse, se non è già registrato.
    • --ca mesh_ca Utilizza Mesh CA come autorità di certificazione. asmcliConfigura Mesh CA per utilizzare l'identità del carico di lavoro del parco risorse

Per visualizzare gli SLO e le metriche dell'infrastruttura nella UI di Anthos Service Mesh, devi anche eseguire i primi tre passaggi descritti in Abilitare il logging e il monitoraggio delle applicazioni. Se il logging e il monitoraggio non sono abilitati e non ricevono metriche e log personalizzati, la dashboard di Anthos Service Mesh non mostrerà SLO, log degli errori o metriche di CPU e memoria.

AWS

Esegui i comandi seguenti su GKE su AWS per installare il piano di controllo con funzionalità predefinite e Mesh CA. Inserisci i valori nei segnaposto forniti.

  1. Imposta il contesto attuale per il tuo cluster utente:

    kubectl config use-context CLUSTER_NAME
    
  2. Esegui 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 L'ID progetto del progetto host del parco risorse.
    • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona in questo caso. Inoltre, le posizioni relative dei file kubeconfig che utilizzano il carattere "~" non funzioneranno.
    • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto anthos-service-mesh ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.
    • --platform multicloud Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.
    • --enable_all Consente allo script di:
      • Concedi le autorizzazioni IAM richieste.
      • Abilita le API di Google richieste.
      • Imposta un'etichetta sul cluster che identifica il mesh.
      • Registra il cluster nel parco risorse, se non è già registrato.
    • --ca mesh_ca Utilizza Mesh CA come autorità di certificazione. asmcliConfigura Mesh CA per utilizzare l'identità del carico di lavoro del parco risorse.

Per visualizzare gli SLO e le metriche dell'infrastruttura nella UI di Anthos Service Mesh, devi anche eseguire i primi tre passaggi descritti in Abilitare il logging e il monitoraggio delle applicazioni. Se il logging e il monitoraggio non sono abilitati e non ricevono metriche e log personalizzati, la dashboard di Anthos Service Mesh non mostrerà SLO, log degli errori o metriche di CPU e memoria.

Azure

Esegui i comandi seguenti su GKE su Azure (anteprima) per installare il piano di controllo con funzionalità predefinite e CA Mesh. Inserisci i valori nei segnaposto forniti.

  1. Imposta il contesto attuale per il tuo cluster utente:

    kubectl config use-context CLUSTER_NAME
    
  2. Esegui 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 L'ID progetto del progetto host del parco risorse.
    • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona in questo caso. Inoltre, le posizioni relative dei file kubeconfig che utilizzano il carattere "~" non funzioneranno.
    • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto anthos-service-mesh ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.
    • --platform multicloud Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.
    • --enable_all Consente allo script di:
      • Concedi le autorizzazioni IAM richieste.
      • Abilita le API di Google richieste.
      • Imposta un'etichetta sul cluster che identifica il mesh.
      • Registra il cluster nel parco risorse, se non è già registrato.
    • --ca mesh_ca Utilizza Mesh CA come autorità di certificazione. asmcliConfigura Mesh CA per utilizzare l'identità del carico di lavoro del parco risorse.

Per visualizzare gli SLO e le metriche dell'infrastruttura nella UI di Anthos Service Mesh, devi anche eseguire i primi tre passaggi descritti in Abilitare il logging e il monitoraggio delle applicazioni. Se il logging e il monitoraggio non sono abilitati e non ricevono metriche e log personalizzati, la dashboard di Anthos Service Mesh non mostrerà SLO, log degli errori o metriche di CPU e memoria.

Amazon EKS

Esegui i comandi seguenti su Amazon EKS per installare il piano di controllo con funzionalità predefinite e Mesh CA. Inserisci i valori nei segnaposto forniti.

  1. Imposta il contesto attuale per il tuo cluster utente:

    kubectl config use-context CLUSTER_NAME
    
  2. Esegui 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 L'ID progetto del progetto host del parco risorse.
    • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona in questo caso. Inoltre, le posizioni relative dei file kubeconfig che utilizzano il carattere "~" non funzioneranno.
    • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto anthos-service-mesh ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.
    • --platform multicloud Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.
    • --enable_all Consente allo script di:
      • Concedi le autorizzazioni IAM richieste.
      • Abilita le API di Google richieste.
      • Imposta un'etichetta sul cluster che identifica il mesh.
      • Registra il cluster nel parco risorse, se non è già registrato.
    • --option attached-cluster Modifica l'utilità di firma predefinita in istiod.
    • --network_id Se stai configurando un mesh su più reti, imposta --network_id su un valore univoco per ciascun cluster nel mesh.
    • --ca mesh_ca Utilizza Mesh CA come autorità di certificazione. asmcliConfigura Mesh CA per utilizzare l'identità del carico di lavoro del parco risorse.

Per visualizzare gli SLO e le metriche dell'infrastruttura nella UI di Anthos Service Mesh, devi anche eseguire i primi tre passaggi descritti in Abilitare il logging e il monitoraggio delle applicazioni. Se il logging e il monitoraggio non sono abilitati e non ricevono metriche e log personalizzati, la dashboard di Anthos Service Mesh non mostrerà SLO, log degli errori o metriche di CPU e memoria.

Microsoft AKS

Esegui i comandi seguenti su Microsoft AKS per installare il piano di controllo con le funzionalità predefinite e Mesh CA. Inserisci i valori nei segnaposto forniti.

  1. Imposta il contesto attuale per il tuo cluster utente:

    kubectl config use-context CLUSTER_NAME
    
  2. Esegui 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 Consente la registrazione con GKE Hub.
    • --fleet_id L'ID progetto del progetto host del parco risorse.
    • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona in questo caso. Inoltre, le posizioni relative dei file kubeconfig che utilizzano il carattere "~" non funzioneranno.
    • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto anthos-service-mesh ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.
    • --platform multicloud Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.
    • --enable_all Consente allo script di:
      • Concedi le autorizzazioni IAM richieste.
      • Abilita le API di Google richieste.
      • Imposta un'etichetta sul cluster che identifica il mesh.
      • Registra il cluster nel parco risorse, se non è già registrato.
    • --option attached-cluster Modifica l'utilità di firma predefinita in istiod.
    • --network_id Se stai configurando un mesh su più reti, imposta --network_id su un valore univoco per ciascun cluster nel mesh.
    • --ca mesh_ca Utilizza Mesh CA come autorità di certificazione. asmcliConfigura Mesh CA per utilizzare l'identità del carico di lavoro del parco risorse.

Per visualizzare gli SLO e le metriche dell'infrastruttura nella UI di Anthos Service Mesh, devi anche eseguire i primi tre passaggi descritti in Abilitare il logging e il monitoraggio delle applicazioni. Se il logging e il monitoraggio non sono abilitati e non ricevono metriche e log personalizzati, la dashboard di Anthos Service Mesh non mostrerà SLO, log degli errori o metriche di CPU e memoria.

Installa le funzionalità predefinite e il servizio dell'autorità di certificazione (CA)

Questa sezione mostra come eseguire asmcli per installare Anthos Service Mesh con le funzionalità supportate predefinite per la tua piattaforma e come abilitare CA Service come autorità di certificazione.

Oltre a Mesh CA, puoi configurare Anthos Service Mesh per utilizzare Certificate Authority Service. Questa guida offre un'opportunità per l'integrazione con CA Service, consigliata per i seguenti casi d'uso:

  • Se hai bisogno di autorità di certificazione diverse per firmare i certificati dei carichi di lavoro su cluster diversi.
  • Se vuoi utilizzare i certificati plug-in CA personalizzati istiod.
  • Se devi eseguire il backup delle chiavi di firma in un HSM gestito.
  • Se utilizzi un settore altamente regolamentato e sei soggetto alla conformità.
  • Se vuoi concatenare Anthos Service Mesh CA a un certificato radice aziendale personalizzato per firmare i certificati dei carichi di lavoro.

Il costo di Mesh CA è incluso nel prezzo di Anthos Service Mesh. Il servizio CA non è incluso nel prezzo base di Anthos Service Mesh e viene addebitato separatamente. Inoltre, CA Service viene fornito con uno SLA (accordo sul livello del servizio) esplicito, al contrario di Mesh CA.

Per questa integrazione, a tutti i carichi di lavoro in Anthos Service Mesh vengono assegnati ruoli IAM:

  • privateca.workloadCertificateRequester
  • privateca.auditor
  • privateca.template (obbligatorio se utilizzi un modello di certificato)

Configura CA Service

  1. Crea il pool di CA nel livello DevOps e nella stessa regione del cluster che fornisce per evitare problemi di latenza eccessiva o potenziali interruzioni tra regioni. Per ulteriori informazioni, consulta la sezione Livelli ottimizzati per il carico di lavoro.
  2. Crea la CA in modo che abbia almeno un'autorità di certificazione attiva nel pool di CA nello stesso progetto del cluster GKE. Usa CA subordinate per firmare i certificati per i carichi di lavoro di Anthos Service Mesh. Prendi nota del pool di CA corrispondente alla CA subordinata.
  3. Se è destinata solo a gestire i certificati per i carichi di lavoro Anthos Service Mesh, configura il seguente criterio di emissione per il pool di CA:

    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/") )
    
  4. Per aggiornare il criterio di emissione del pool di CA, utilizza il comando seguente:

    gcloud privateca pools update CA_POOL --location ca_region --issuance-policy policy.yaml
    

    Per informazioni sull'impostazione di un criterio in un pool, consulta Utilizzare un criterio di emissione di certificati.

  5. Se utilizzi un modello di certificato, configuralo ora. Per ulteriori informazioni, segui la guida ai servizi CA per i certificati di identità per i carichi di lavoro. Assicurati che il modello di certificato sia creato nella stessa regione del pool di CA. Se sono presenti più regioni per i pool di CA, crea un modello di certificato per ogni regione.

Configura Anthos Service Mesh per utilizzare CA Service

GKE

  1. Installa il piano di controllo Anthos Service Mesh che utilizza Certificate Authority Service come CA:

    ./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 L'ID progetto del progetto host del parco risorse.
    • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona in questo caso. Inoltre, le posizioni relative dei file kubeconfig che utilizzano il carattere "~" non funzioneranno.
    • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto anthos-service-mesh ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.
    • --platform multicloud Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.
    • --enable_all Consente allo script di:
      • Concedi le autorizzazioni IAM richieste.
      • Abilita le API di Google richieste.
      • Imposta un'etichetta sul cluster che identifica il mesh.
      • Registra il cluster nel parco risorse, se non è già registrato.
    • --ca gcp_cas Utilizza Certificate Authority Service come autorità di certificazione. La modifica delle autorità di certificazione durante un upgrade causa tempi di inattività. asmcliConfigura Certificate Authority Service per utilizzare l'identità del carico di lavoro del parco risorse.
    • --ca_pool L'identificatore completo del pool di CA di Certificate Authority Service. Se viene utilizzato il modello di certificato, aggiungi l'ID del modello separato da :.
      --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
      
  2. Installa un gateway in entrata per ricevere connessioni HTTP/TCP in entrata o in uscita. Per maggiori dettagli, vedi Installare i gateway.

  3. Completa l'installazione di Anthos Service Mesh per abilitare l'inserimento automatico di proxy sidecar sui tuoi carichi di lavoro. Per maggiori dettagli, consulta Eseguire il deployment dei carichi di lavoro ed eseguirne nuovamente il deployment.

On-premise

Esegui i comandi seguenti su GKE su VMware o Google Distributed Cloud Virtual for Bare Metal per installare il piano di controllo con funzionalità predefinite e Certificate Authority Service. Inserisci i valori nei segnaposto forniti.

  1. Imposta il contesto attuale per il tuo cluster utente:

    kubectl config use-context CLUSTER_NAME
    
  2. Esegui 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 L'ID progetto del progetto host del parco risorse.
    • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona in questo caso. Inoltre, le posizioni relative dei file kubeconfig che utilizzano il carattere "~" non funzioneranno.
    • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto anthos-service-mesh ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.
    • --platform multicloud Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.
    • --enable_all Consente allo script di:
      • Concedi le autorizzazioni IAM richieste.
      • Abilita le API di Google richieste.
      • Imposta un'etichetta sul cluster che identifica il mesh.
      • Registra il cluster nel parco risorse, se non è già registrato.
    • --ca gcp_cas Utilizza Certificate Authority Service come autorità di certificazione. La modifica delle autorità di certificazione durante un upgrade causa tempi di inattività. asmcliConfigura Certificate Authority Service per utilizzare l'identità del carico di lavoro del parco risorse.
    • --ca_pool L'identificatore completo del pool di CA di Certificate Authority Service. Se utilizzi un modello di certificato, aggiungi l'ID modello separato da :. Ad esempio:
      --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
      

Per visualizzare gli SLO e le metriche dell'infrastruttura nella UI di Anthos Service Mesh, devi anche eseguire i primi tre passaggi descritti in Abilitare il logging e il monitoraggio delle applicazioni. Se il logging e il monitoraggio non sono abilitati e non ricevono metriche e log personalizzati, la dashboard di Anthos Service Mesh non mostrerà SLO, log degli errori o metriche di CPU e memoria.

Installa le funzionalità predefinite con la CA Istio

Questa sezione spiega come:

  • Genera certificati e chiavi per la CA Istio utilizzata da Anthos Service Mesh per firmare i carichi di lavoro.
  • Esegui asmcli per installare Anthos Service Mesh con funzionalità predefinite e attiva Istio CA.

Per impostazione predefinita, gli ambienti che installano Anthos Service Mesh con le metriche dei report CA Istio su Prometheus. Se vuoi utilizzare le dashboard di Anthos Service Mesh, devi abilitare Stackdriver. Per ulteriori informazioni, vedi Installazione con funzionalità facoltative.

Per la massima sicurezza, consigliamo vivamente di mantenere una CA radice offline e di utilizzare le CA subordinate per emettere certificati per ogni cluster. Per ulteriori informazioni, consulta la sezione Collegare certificati CA. In questa configurazione, tutti i carichi di lavoro nel mesh di servizi utilizzano la stessa autorità di certificazione (CA) radice. Ogni CA Anthos Service Mesh utilizza una chiave e un certificato di firma di una CA intermedia, firmati dalla CA radice. Quando all'interno di un mesh sono presenti più CA, viene stabilita una gerarchia di attendibilità tra le CA. Puoi ripetere questi passaggi per eseguire il provisioning di certificati e chiavi per un numero qualsiasi di autorità di certificazione.

Il makefile per generare i certificati si trova nella sottodirectory istio-1.17.8-asm.20 della directory --output_dir specificata nel comando asmcli validate. Se non hai eseguito asmcli validate o non hai la directory scaricata in locale, puoi ottenere il Makefile scaricando il file di installazione di Anthos Service Mesh ed estraendo i contenuti.

  1. Passa alla directory istio-1.17.8-asm.20.

  2. Crea una directory per i certificati e le chiavi:

    mkdir -p certs && \
    pushd certs
  3. Genera un certificato radice e una chiave:

    make -f ../tools/certs/Makefile.selfsigned.mk root-ca
    

    Questo genera i seguenti file:

    • root-cert.pem: il certificato radice
    • root-key.pem: la chiave radice
    • root-ca.conf: la configurazione di beginsl per generare il certificato radice
    • root-cert.csr: la richiesta di firma del certificato per il certificato radice
  4. Genera un certificato e una chiave intermedi:

    make -f ../tools/certs/Makefile.selfsigned.mk cluster1-cacerts

    Questo genera i seguenti file in una directory denominata cluster1:

    • ca-cert.pem: i certificati intermedi
    • ca-key.pem: la chiave intermedia
    • cert-chain.pem: la catena di certificati utilizzata da istiod
    • root-cert.pem: il certificato radice

    Se esegui questi passaggi utilizzando un computer offline, copia la directory generata su un computer con accesso ai cluster.

  5. Torna alla directory precedente:

    popd
  6. Esegui asmcli per installare un mesh utilizzando la CA Istio:

    GKE

    Esegui questo comando per installare il piano di controllo con le funzionalità predefinite e la CA Istio. Inserisci i valori nei segnaposto forniti.

     ./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 e --cluster_location Specifica l'ID progetto in cui si trova il cluster, il nome del cluster e la zona o la regione del cluster.
    • --fleet_id L'ID progetto del progetto host del parco risorse. Se non includi questa opzione, asmcli utilizza il progetto in cui è stato creato il cluster durante la registrazione del cluster.
    • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto anthos-service-mesh ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.
    • --enable_all Consente allo script di:
      • Concedi le autorizzazioni IAM richieste.
      • Abilita le API di Google richieste.
      • Imposta un'etichetta sul cluster che identifica il mesh.
      • Registra il cluster nel parco risorse, se non è già registrato.

    • -ca citadel Utilizza la CA Istio come autorità di certificazione.
    • --ca_cert Il certificato intermedio
    • --ca_key La chiave per il certificato intermedio
    • --root_cert Il certificato radice
    • --cert_chain La catena di certificati

    On-premise

    Esegui i comandi seguenti su GKE su VMware o Google Distributed Cloud Virtual for Bare Metal per installare il piano di controllo con le funzionalità predefinite e la CA Istio. Inserisci i valori nei segnaposto forniti.

    1. Imposta il contesto attuale per il tuo cluster utente:

      kubectl config use-context CLUSTER_NAME
      
    2. Esegui 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 L'ID progetto del progetto host del parco risorse.
      • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona in questo caso. Inoltre, le posizioni relative dei file kubeconfig che utilizzano il carattere "~" non funzioneranno.
      • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto anthos-service-mesh ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.
      • --platform multicloud Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.
      • --enable_all Consente allo script di:
        • Concedi le autorizzazioni IAM richieste.
        • Abilita le API di Google richieste.
        • Imposta un'etichetta sul cluster che identifica il mesh.
        • Registra il cluster nel parco risorse, se non è già registrato.
      • -ca citadel Utilizza la CA Istio come autorità di certificazione.
      • --ca_cert Il certificato intermedio
      • --ca_key La chiave per il certificato intermedio
      • --root_cert Il certificato radice
      • --cert_chain La catena di certificati

    AWS

    Esegui i comandi seguenti su GKE su AWS per installare il piano di controllo con funzionalità predefinite e la CA Istio. Inserisci i valori nei segnaposto forniti. Puoi scegliere di abilitare Ingress per la subnet pubblica o privata.

    Pubblico

    1. Imposta il contesto attuale per il tuo cluster utente:

      kubectl config use-context CLUSTER_NAME
      
    2. Esegui 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 L'ID progetto del progetto host del parco risorse.
      • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona in questo caso. Inoltre, le posizioni relative dei file kubeconfig che utilizzano il carattere "~" non funzioneranno.
      • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto anthos-service-mesh ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.
      • --platform multicloud Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.
      • --enable_all Consente allo script di:
        • Concedi le autorizzazioni IAM richieste.
        • Abilita le API di Google richieste.
        • Imposta un'etichetta sul cluster che identifica il mesh.
        • Registra il cluster nel parco risorse, se non è già registrato.
      • -ca citadel Utilizza la CA Istio come autorità di certificazione.
      • --ca_cert Il certificato intermedio.
      • --ca_key La chiave per il certificato intermedio.
      • --root_cert Il certificato radice.
      • --cert_chain La catena di certificati.

    Privato

    1. Imposta il contesto attuale per il tuo cluster utente:

      kubectl config use-context CLUSTER_NAME
      
    2. Salva il seguente file YAML in un file denominato 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
      
    3. Esegui 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 L'ID progetto del progetto host del parco risorse.
      • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona in questo caso. Inoltre, le posizioni relative dei file kubeconfig che utilizzano il carattere "~" non funzioneranno.
      • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto anthos-service-mesh ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.
      • --platform multicloud Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.
      • --enable_all Consente allo script di:
        • Concedi le autorizzazioni IAM richieste.
        • Abilita le API di Google richieste.
        • Imposta un'etichetta sul cluster che identifica il mesh.
        • Registra il cluster nel parco risorse, se non è già registrato.
      • -ca citadel Utilizza la CA Istio come autorità di certificazione.
      • --ca_cert Il certificato intermedio.
      • --ca_key La chiave per il certificato intermedio.
      • --root_cert Il certificato radice.
      • --cert_chain La catena di certificati.
      • --custom_overlay Il nome del file di overlay creato. Per saperne di più sui file in overlay, consulta Abilitazione di funzionalità facoltative nel piano di controllo nel cluster

    Azure

    Esegui i comandi seguenti su GKE su Azure (anteprima) per installare il piano di controllo con le funzionalità predefinite e la CA Istio. Inserisci i tuoi valori nei segnaposto forniti. Puoi scegliere di abilitare Ingress per la subnet pubblica o privata.

    Pubblico

    1. Imposta il contesto attuale per il tuo cluster utente:

      kubectl config use-context CLUSTER_NAME
      
    2. Esegui 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 L'ID progetto del progetto host del parco risorse.
      • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona in questo caso. Inoltre, le posizioni relative dei file kubeconfig che utilizzano il carattere "~" non funzioneranno.
      • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto anthos-service-mesh ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.
      • --platform multicloud Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.
      • --enable_all Consente allo script di:
        • Concedi le autorizzazioni IAM richieste.
        • Abilita le API di Google richieste.
        • Imposta un'etichetta sul cluster che identifica il mesh.
        • Registra il cluster nel parco risorse, se non è già registrato.
      • --option attached-cluster Modifica l'utilità di firma predefinita in istiod.
      • -ca citadel Utilizza la CA Istio come autorità di certificazione.
      • --ca_cert Il certificato intermedio.
      • --ca_key La chiave per il certificato intermedio.
      • --root_cert Il certificato radice.
      • --cert_chain La catena di certificati.

    Privato

    1. Imposta il contesto attuale per il tuo cluster utente:

      kubectl config use-context CLUSTER_NAME
      
    2. Salva il seguente file YAML in un file denominato 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
      
    3. Esegui 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 L'ID progetto del progetto host del parco risorse.
      • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona in questo caso. Inoltre, le posizioni relative dei file kubeconfig che utilizzano il carattere "~" non funzioneranno.
      • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto anthos-service-mesh ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.
      • --platform multicloud Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.
      • --enable_all Consente allo script di:
        • Concedi le autorizzazioni IAM richieste.
        • Abilita le API di Google richieste.
        • Imposta un'etichetta sul cluster che identifica il mesh.
        • Registra il cluster nel parco risorse, se non è già registrato.
      • --option attached-cluster Modifica l'utilità di firma predefinita in istiod.
      • -ca citadel Utilizza la CA Istio come autorità di certificazione.
      • --ca_cert Il certificato intermedio.
      • --ca_key La chiave per il certificato intermedio.
      • --root_cert Il certificato radice.
      • --cert_chain La catena di certificati.
      • --custom_overlay Il nome del file di overlay creato. Per saperne di più sui file in overlay, consulta Abilitazione di funzionalità facoltative nel piano di controllo nel cluster

    Amazon EKS

    Esegui i comandi seguenti su Amazon EKS per installare il piano di controllo con le funzionalità predefinite e la CA Istio. Inserisci i valori nei segnaposto forniti.

    1. Imposta il contesto attuale per il tuo cluster utente:

      kubectl config use-context CLUSTER_NAME
      
    2. Esegui 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 L'ID progetto del progetto host del parco risorse.
      • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona in questo caso. Inoltre, le posizioni relative dei file kubeconfig che utilizzano il carattere "~" non funzioneranno.
      • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto anthos-service-mesh ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.
      • --platform multicloud Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.
      • --enable_all Consente allo script di:
        • Concedi le autorizzazioni IAM richieste.
        • Abilita le API di Google richieste.
        • Imposta un'etichetta sul cluster che identifica il mesh.
        • Registra il cluster nel parco risorse, se non è già registrato.
      • --option attached-cluster Modifica l'utilità di firma predefinita in istiod.
      • -ca citadel Utilizza la CA Istio come autorità di certificazione.
      • --ca_cert Il certificato intermedio
      • --ca_key La chiave per il certificato intermedio
      • --root_cert Il certificato radice
      • --cert_chain La catena di certificati
      • --network_id Se stai configurando una mesh di più reti, imposta --network_id su un valore univoco per ciascun cluster nel mesh.

    Microsoft AKS

    Esegui i comandi seguenti su Microsoft AKS per installare il piano di controllo con le funzionalità predefinite e la CA Istio. Inserisci i valori nei segnaposto forniti.

    1. Imposta il contesto attuale per il tuo cluster utente:

      kubectl config use-context CLUSTER_NAME
      
    2. Esegui 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 Consente la registrazione con GKE Hub.
      • --fleet_id L'ID progetto del progetto host del parco risorse.
      • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona in questo caso. Inoltre, le posizioni relative dei file kubeconfig che utilizzano il carattere "~" non funzioneranno.
      • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto anthos-service-mesh ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.
      • --platform multicloud Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.
      • --enable_all Consente allo script di:
        • Concedi le autorizzazioni IAM richieste.
        • Abilita le API di Google richieste.
        • Imposta un'etichetta sul cluster che identifica il mesh.
        • Registra il cluster nel parco risorse, se non è già registrato.
      • --option attached-cluster Modifica l'utilità di firma predefinita in istiod.
      • -ca citadel Utilizza la CA Istio come autorità di certificazione.
      • --ca_cert Il certificato intermedio
      • --ca_key La chiave per il certificato intermedio
      • --root_cert Il certificato radice
      • --cert_chain La catena di certificati
      • --network_id Se stai configurando una mesh di più reti, imposta --network_id su un valore univoco per ciascun cluster nel mesh.

Installa con Istio CA e la suite operativa di Google Cloud abilitata

Se vuoi utilizzare le dashboard di Anthos Service Mesh, devi abilitare Stackdriver.

GKE

Esegui questo comando per installare il piano di controllo con le funzionalità predefinite e la CA Istio. Inserisci i valori nei segnaposto forniti.

./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 e --cluster_location Specifica l'ID progetto in cui si trova il cluster, il nome del cluster e la zona o la regione del cluster.
  • --fleet_id L'ID progetto del progetto host del parco risorse. Se non includi questa opzione, asmcli utilizza il progetto in cui è stato creato il cluster durante la registrazione del cluster.
  • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto anthos-service-mesh ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.
  • --enable_all Consente allo script di:
    • Concedi le autorizzazioni IAM richieste.
    • Abilita le API di Google richieste.
    • Imposta un'etichetta sul cluster che identifica il mesh.
    • Registra il cluster nel parco risorse, se non è già registrato.
  • -ca citadel Utilizza la CA Istio come autorità di certificazione.
  • --ca_cert Il certificato intermedio
  • --ca_key La chiave per il certificato intermedio
  • --root_cert Il certificato radice
  • --cert_chain La catena di certificati
  • --option stackdriver Abilita l'opzione Stackdriver. Tieni presente che puoi anche abilitare sia Stackdriver che Prometheus utilizzando --option prometheus-and-stackdriver.

On-premise

Esegui i comandi seguenti su GKE su VMware o Google Distributed Cloud Virtual for Bare Metal per installare il piano di controllo con Stackdriver e altre funzionalità facoltative e la CA Istio. Inserisci i valori nei segnaposto forniti.

  1. Imposta il contesto attuale per il tuo cluster utente:

    kubectl config use-context CLUSTER_NAME
    
  2. Esegui 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 L'ID progetto del progetto host del parco risorse.
    • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona in questo caso. Inoltre, le posizioni relative dei file kubeconfig che utilizzano il carattere "~" non funzioneranno.
    • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto anthos-service-mesh ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.
    • --platform multicloud Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.
    • --enable_all Consente allo script di:
      • Concedi le autorizzazioni IAM richieste.
      • Abilita le API di Google richieste.
      • Imposta un'etichetta sul cluster che identifica il mesh.
      • Registra il cluster nel parco risorse, se non è già registrato.
    • -ca citadel Utilizza la CA Istio come autorità di certificazione.
    • --ca_cert Il certificato intermedio
    • --ca_key La chiave per il certificato intermedio
    • --root_cert Il certificato radice
    • --cert_chain La catena di certificati
    • --option stackdriver Abilita l'opzione Stackdriver. Tieni presente che puoi anche abilitare sia Stackdriver che Prometheus utilizzando --option prometheus-and-stackdriver.

    Per visualizzare gli SLO e le metriche dell'infrastruttura nella UI di Anthos Service Mesh, devi anche eseguire i primi tre passaggi descritti in Abilitare il logging e il monitoraggio delle applicazioni. Se il logging e il monitoraggio non sono abilitati e non ricevono metriche e log personalizzati, la dashboard di Anthos Service Mesh non mostrerà SLO, log degli errori o metriche di CPU e memoria.

AWS

Esegui i comandi seguenti su GKE su AWS per installare il piano di controllo con Stackdriver e altre funzionalità facoltative e la CA Istio. Inserisci i tuoi valori nei segnaposto forniti. Puoi scegliere di abilitare Ingress per la subnet pubblica o privata.

Pubblico

  1. Imposta il contesto attuale per il tuo cluster utente:

    kubectl config use-context CLUSTER_NAME
    
  2. Esegui 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 L'ID progetto del progetto host del parco risorse.
    • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona in questo caso. Inoltre, le posizioni relative dei file kubeconfig che utilizzano il carattere "~" non funzioneranno.
    • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto anthos-service-mesh ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.
    • --platform multicloud Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.
    • --enable_all Consente allo script di:
      • Concedi le autorizzazioni IAM richieste.
      • Abilita le API di Google richieste.
      • Imposta un'etichetta sul cluster che identifica il mesh.
      • Registra il cluster nel parco risorse, se non è già registrato.
    • -ca citadel Utilizza la CA Istio come autorità di certificazione.
    • --ca_cert Il certificato intermedio.
    • --ca_key La chiave per il certificato intermedio.
    • --root_cert Il certificato radice.
    • --cert_chain La catena di certificati.
    • --option stackdriver Abilita l'opzione Stackdriver. Tieni presente che puoi anche abilitare sia Stackdriver che Prometheus utilizzando --option prometheus-and-stackdriver.

Privato

  1. Imposta il contesto attuale per il tuo cluster utente:

    kubectl config use-context CLUSTER_NAME
    
  2. Salva il seguente file YAML in un file denominato 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
    
  3. Esegui 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 L'ID progetto del progetto host del parco risorse.
    • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona in questo caso. Inoltre, le posizioni relative dei file kubeconfig che utilizzano il carattere "~" non funzioneranno.
    • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto anthos-service-mesh ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.
    • --platform multicloud Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.
    • --enable_all Consente allo script di:
      • Concedi le autorizzazioni IAM richieste.
      • Abilita le API di Google richieste.
      • Imposta un'etichetta sul cluster che identifica il mesh.
      • Registra il cluster nel parco risorse, se non è già registrato.
    • -ca citadel Utilizza la CA Istio come autorità di certificazione.
    • --ca_cert Il certificato intermedio.
    • --ca_key La chiave per il certificato intermedio.
    • --root_cert Il certificato radice.
    • --cert_chain La catena di certificati.
    • --custom_overlay Il nome del file di overlay creato. Per maggiori informazioni sui file in overlay, consulta Abilitazione delle funzionalità facoltative sul piano di controllo nel cluster
    • --option stackdriver Abilita l'opzione Stackdriver. Tieni presente che puoi anche abilitare sia Stackdriver che Prometheus utilizzando --option prometheus-and-stackdriver. In alternativa, puoi abilitare Stackdriver utilizzando --custom_overlay stackdriver.yaml. Devi scaricare il pacchetto anthos-service-mesh-package o creare stackdriver.yaml dal file manifest fornito.

Azure

Esegui i comandi seguenti su GKE su Azure (anteprima) per installare il piano di controllo con Stackdriver, altre funzionalità facoltative e la CA Istio. Inserisci i valori nei segnaposto forniti. Puoi scegliere di abilitare Ingress per la subnet pubblica o privata.

Pubblico

  1. Imposta il contesto attuale per il tuo cluster utente:

    kubectl config use-context CLUSTER_NAME
    
  2. Esegui 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 L'ID progetto del progetto host del parco risorse.
    • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona in questo caso. Inoltre, le posizioni relative dei file kubeconfig che utilizzano il carattere "~" non funzioneranno.
    • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto anthos-service-mesh ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.
    • --platform multicloud Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.
    • --enable_all Consente allo script di:
      • Concedi le autorizzazioni IAM richieste.
      • Abilita le API di Google richieste.
      • Imposta un'etichetta sul cluster che identifica il mesh.
      • Registra il cluster nel parco risorse, se non è già registrato.
    • -ca citadel Utilizza la CA Istio come autorità di certificazione.
    • --ca_cert Il certificato intermedio.
    • --ca_key La chiave per il certificato intermedio.
    • --root_cert Il certificato radice.
    • --cert_chain La catena di certificati.
    • --option stackdriver Abilita l'opzione Stackdriver. Tieni presente che puoi anche abilitare sia Stackdriver che Prometheus utilizzando --option prometheus-and-stackdriver.

Privato

  1. Imposta il contesto attuale per il tuo cluster utente:

    kubectl config use-context CLUSTER_NAME
    
  2. Salva il seguente file YAML in un file denominato 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
    
  3. Esegui 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 L'ID progetto del progetto host del parco risorse.
    • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona in questo caso. Inoltre, le posizioni relative dei file kubeconfig che utilizzano il carattere "~" non funzioneranno.
    • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto anthos-service-mesh ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.
    • --platform multicloud Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.
    • --enable_all Consente allo script di:
      • Concedi le autorizzazioni IAM richieste.
      • Abilita le API di Google richieste.
      • Imposta un'etichetta sul cluster che identifica il mesh.
      • Registra il cluster nel parco risorse, se non è già registrato.
    • -ca citadel Utilizza la CA Istio come autorità di certificazione.
    • --ca_cert Il certificato intermedio.
    • --ca_key La chiave per il certificato intermedio.
    • --root_cert Il certificato radice.
    • --cert_chain La catena di certificati.
    • --custom_overlay Il nome del file di overlay creato. Per maggiori informazioni sui file in overlay, consulta Abilitazione delle funzionalità facoltative sul piano di controllo nel cluster
    • --option stackdriver Abilita l'opzione Stackdriver. Tieni presente che puoi anche abilitare sia Stackdriver che Prometheus utilizzando --option prometheus-and-stackdriver. In alternativa, puoi abilitare Stackdriver utilizzando --custom_overlay stackdriver.yaml. Devi scaricare il pacchetto anthos-service-mesh-package o creare stackdriver.yaml dal file manifest fornito.

Amazon EKS

Esegui i comandi seguenti su Amazon EKS per installare il piano di controllo con Stackdriver, altre funzionalità facoltative e la CA Istio. Inserisci i valori nei segnaposto forniti.

  1. Imposta il contesto attuale per il tuo cluster utente:

    kubectl config use-context CLUSTER_NAME
    
  2. Esegui 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 L'ID progetto del progetto host del parco risorse.
    • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona in questo caso. Inoltre, le posizioni relative dei file kubeconfig che utilizzano il carattere "~" non funzioneranno.
    • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto anthos-service-mesh ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.
    • --platform multicloud Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.
    • --enable_all Consente allo script di:
      • Concedi le autorizzazioni IAM richieste.
      • Abilita le API di Google richieste.
      • Imposta un'etichetta sul cluster che identifica il mesh.
      • Registra il cluster nel parco risorse, se non è già registrato.
    • -ca citadel Utilizza la CA Istio come autorità di certificazione.
    • --ca_cert Il certificato intermedio
    • --ca_key La chiave per il certificato intermedio
    • --root_cert Il certificato radice
    • --cert_chain La catena di certificati
    • --option stackdriver Abilita l'opzione Stackdriver. Tieni presente che puoi anche abilitare sia Stackdriver che Prometheus utilizzando --option prometheus-and-stackdriver.
    • --option stackdriver Modifica l'utilità di firma predefinita in istiod.

Microsoft AKS

Esegui i comandi seguenti su Microsoft AKS per installare il piano di controllo con le funzionalità predefinite e la CA Istio. Inserisci i valori nei segnaposto forniti.

  1. Imposta il contesto attuale per il tuo cluster utente:

    kubectl config use-context CLUSTER_NAME
    
  2. Esegui 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 Consente la registrazione con GKE Hub.
    • --fleet_id L'ID progetto del progetto host del parco risorse.
    • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona in questo caso. Inoltre, le posizioni relative dei file kubeconfig che utilizzano il carattere "~" non funzioneranno.
    • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto anthos-service-mesh ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.
    • --platform multicloud Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.
    • --enable_all Consente allo script di:
      • Concedi le autorizzazioni IAM richieste.
      • Abilita le API di Google richieste.
      • Imposta un'etichetta sul cluster che identifica il mesh.
      • Registra il cluster nel parco risorse, se non è già registrato.
    • -ca citadel Utilizza la CA Istio come autorità di certificazione.
    • --ca_cert Il certificato intermedio
    • --ca_key La chiave per il certificato intermedio
    • --root_cert Il certificato radice
    • --cert_chain La catena di certificati
    • --option stackdriver Abilita l'opzione Stackdriver. Tieni presente che puoi anche abilitare sia Stackdriver che Prometheus utilizzando --option prometheus-and-stackdriver.
    • --option stackdriver Modifica l'utilità di firma predefinita in istiod.

Installa con funzionalità facoltative

Un file overlay è un file YAML contenente una risorsa IstioOperator personalizzata (CR) che passi a asmcli per configurare il piano di controllo. Puoi eseguire l'override della configurazione predefinita del piano di controllo e abilitare una funzionalità facoltativa passando il file YAML a asmcli. Puoi aggiungere più overlay: ogni file di overlay sostituisce la configurazione dei livelli precedenti. Come best practice, ti consigliamo di salvare i file degli overlay nel tuo sistema di controllo della versione.

Esistono due opzioni per abilitare le funzionalità facoltative: --option e --custom_overlay.

Utilizza --option se non devi modificare il file dell'overlay. Con questo metodo asmcliil file viene recuperato automaticamente dal repository GitHub.

Utilizza --custom_overlay quando devi personalizzare il file dell'overlay.

Per maggiori informazioni, consulta Abilitare le funzionalità facoltative sul piano di controllo nel cluster.

GKE

Esegui questo comando per installare il piano di controllo con una funzionalità facoltativa. Per aggiungere più file, specifica --custom_overlay e il nome del file, ad esempio: --custom_overlay overlay_file1.yaml --custom_overlay overlay_file2.yaml --custom_overlay overlay_file3.yaml Inserisci i tuoi valori nei segnaposto forniti.

./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 e --cluster_location Specifica l'ID progetto in cui si trova il cluster, il nome del cluster e la zona o la regione del cluster.
  • --fleet_id L'ID progetto del progetto host del parco risorse. Se non includi questa opzione, asmcli utilizza il progetto in cui è stato creato il cluster durante la registrazione del cluster.
  • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto anthos-service-mesh ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.
  • --enable_all Consente allo script di:
    • Concedi le autorizzazioni IAM richieste.
    • Abilita le API di Google richieste.
    • Imposta un'etichetta sul cluster che identifica il mesh.
    • Registra il cluster nel parco risorse, se non è già registrato.
  • --ca mesh_ca Utilizza Mesh CA come autorità di certificazione. Tieni presente che asmcliconfigura Mesh CA per l'utilizzo dell'identità del carico di lavoro del parco risorse
  • --custom_overlay Specifica il nome del file dell'overlay.

Al di fuori di Google Cloud

Esegui i comandi seguenti su GKE su VMware, Google Distributed Cloud Virtual for Bare Metal, GKE on AWS, Amazon EKS o Microsoft AKS. Inserisci i valori nei segnaposto forniti.

  1. Imposta il contesto attuale per il tuo cluster utente:

    kubectl config use-context CLUSTER_NAME
    
  2. Esegui asmcli install per installare il piano di controllo con una funzionalità facoltativa. Per aggiungere più file, specifica --custom_overlay e il nome file, ad esempio: --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 L'ID progetto del progetto host del parco risorse.
    • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona in questo caso. Inoltre, le posizioni relative dei file kubeconfig che utilizzano il carattere "~" non funzioneranno.
    • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto anthos-service-mesh ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.
    • --platform multicloud Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.
    • --enable_all Consente allo script di:
      • Concedi le autorizzazioni IAM richieste.
      • Abilita le API di Google richieste.
      • Imposta un'etichetta sul cluster che identifica il mesh.
      • Registra il cluster nel parco risorse, se non è già registrato.
    • --ca mesh_ca Utilizza Mesh CA come autorità di certificazione. Tieni presente che asmcliconfigura Mesh CA per l'utilizzo dell'identità del carico di lavoro del parco risorse
    • --custom_overlay Specifica il nome del file dell'overlay.

Installa gateway

Anthos Service Mesh ti offre la possibilità di eseguire il deployment e gestire gateway come parte del tuo mesh di servizi. Un gateway descrive un bilanciatore del carico che opera sul perimetro della rete mesh che riceve connessioni HTTP/TCP in entrata o in uscita. I gateway sono proxy Envoy che ti forniscono un controllo granulare sul traffico in entrata e in uscita dal mesh.

  1. Crea uno spazio dei nomi per il gateway in entrata, se non ne hai già uno. I gateway sono carichi di lavoro degli utenti e, come best practice, non deve essere eseguito il deployment nello spazio dei nomi del piano di controllo. Sostituisci GATEWAY_NAMESPACE con il nome del tuo spazio dei nomi.

    kubectl create namespace GATEWAY_NAMESPACE
    

    Output previsto:

    namespace/GATEWAY_NAMESPACE created
    
  2. Attiva l'inserimento automatico sul gateway. I passaggi richiesti variano a seconda che tu voglia utilizzare le etichette di inserimento predefinite (ad esempio istio-injection=enabled) o l'etichetta di revisione nello spazio dei nomi del gateway. Il tag di revisione e l'etichetta di revisione predefiniti vengono utilizzati dal webhook dell'iniettore sidecar per associare i proxy inseriti a una determinata revisione del piano di controllo.

    Etichette di iniezione predefinite

    Applica le etichette di inserimento predefinite allo spazio dei nomi.

    kubectl label namespace GATEWAY_NAMESPACE istio-injection=enabled istio.io/rev-
    

    Etichetta revisione

    1. Utilizza il seguente comando per individuare l'etichetta di revisione su istiod:

      kubectl get deploy -n istio-system -l app=istiod -o \
        "jsonpath={.items[*].metadata.labels['istio\.io/rev']}{'\n'}"
      

      Il comando restituisce l'etichetta di revisione che corrisponde alla versione di Anthos Service Mesh, ad esempio: asm-1178-20

    2. Applica l'etichetta di revisione allo spazio dei nomi. Nel comando seguente, REVISION è il valore dell'etichetta di revisione istiod che hai annotato nel passaggio precedente.

      kubectl label namespace GATEWAY_NAMESPACE \
        istio.io/rev=REVISION --overwrite
      

      Output previsto:

      namespace/GATEWAY_NAMESPACE labeled
      

    Puoi ignorare il messaggio "istio.io/rev" not found nell'output. Ciò significa che lo spazio dei nomi non aveva in precedenza l'etichetta istio.io/rev, cosa che dovresti aspettarti nelle nuove installazioni di Anthos Service Mesh o nei nuovi deployment. Poiché l'inserimento automatico non riesce se uno spazio dei nomi include sia l'etichetta istio.io/rev che l'etichetta istio-injection, tutti i comandi kubectl label nella documentazione di Anthos Service Mesh specificano esplicitamente entrambe le etichette.

    Se lo spazio dei nomi del gateway non è etichettato, i pod istio-ingressgateway non riusciranno e restituirà un errore ImagePullBackOff quando il gateway tenterà di eseguire il pull e l'immagine auto. Questa immagine deve essere sostituita dal webhook.

  3. Scarica il file di configurazione .yaml del gateway in entrata di esempio dal repository anthos-service-mesh-packages.

  4. Applica la configurazione .yaml del gateway in entrata di esempio così com'è o apporta le modifiche necessarie.

    kubectl apply -n GATEWAY_NAMESPACE \
      -f CONFIG_PATH/istio-ingressgateway
    

    Output previsto:

    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
    

Scopri di più sulle best practice per i gateway.

Esegui il deployment dei carichi di lavoro ed eseguine nuovamente il deployment

Anthos Service Mesh utilizza i proxy sidecar per migliorare la sicurezza, l'affidabilità e l'osservabilità della rete. Con Anthos Service Mesh, queste funzioni vengono astratte dal container principale dell'applicazione e implementate in un proxy out-of-process comune, fornito come container separato nello stesso pod.

L'installazione non è completa finché non attivi l'inserimento automatico del proxy sidecar (inserimento automatico) e riavvii i pod per qualsiasi carico di lavoro in esecuzione sul tuo cluster prima dell'installazione di Anthos Service Mesh.

Per abilitare l'inserimento automatico, etichetta gli spazi dei nomi con le etichette di inserimento predefinite se è configurato il tag predefinito o con un'etichetta di revisione che è stata impostata su istiod al momento dell'installazione di Anthos Service Mesh. Il tag di revisione e l'etichetta di revisione predefiniti vengono utilizzati dal webhook iniettore sidecar per associare i file collaterali inseriti a una revisione istiod. Dopo aver aggiunto l'etichetta, tutti i pod esistenti nello spazio dei nomi devono essere riavviati per poter inserire i file collaterali.

Prima di eseguire il deployment di nuovi carichi di lavoro in un nuovo spazio dei nomi, assicurati di configurare l'inserimento automatico in modo che Anthos Service Mesh possa monitorare e proteggere il traffico.

  1. I passaggi necessari per abilitare l'inserimento automatico variano a seconda che tu voglia utilizzare le etichette di inserimento predefinite o l'etichetta di revisione:

    Etichette di iniezione predefinite

    Nel seguente comando, NAMESPACE è il nome dello spazio dei nomi in cui vuoi abilitare l'inserimento automatica.

    kubectl label namespace NAMESPACE istio-injection=enabled istio.io/rev-
    

    Poiché le etichette di inserimento predefinite inseriscono la revisione a cui punta il tag predefinito, non è necessario rietichettare gli spazi dei nomi.

    Etichetta revisione

    1. Utilizza il seguente comando per individuare l'etichetta di revisione su istiod:

      kubectl -n istio-system get pods -l app=istiod --show-labels
      

      L'output è simile al seguente:

      NAME                                READY   STATUS    RESTARTS   AGE   LABELS
      istiod-asm-1178-20-5788d57586-bljj4   1/1     Running   0          23h   app=istiod,istio.io/rev=asm-1178-20,istio=istiod,pod-template-hash=5788d57586
      istiod-asm-1178-20-5788d57586-vsklm   1/1     Running   1          23h   app=istiod,istio.io/rev=asm-1178-20,istio=istiod,pod-template-hash=5788d57586

      Nell'output, sotto la colonna LABELS, prendi nota del valore dell'etichetta di revisione istiod, che segue il prefisso istio.io/rev=. In questo esempio, il valore è asm-1178-20.

    2. Applica l'etichetta di revisione e rimuovi l'etichetta istio-injection, se esistente. Nel seguente comando, NAMESPACE è il nome dello spazio dei nomi in cui vuoi abilitare l'inserimento automatico e REVISION è l'etichetta di revisione che hai annotato nel passaggio precedente.

      kubectl label namespace NAMESPACE istio-injection- istio.io/rev=REVISION --overwrite
      

      Puoi ignorare il messaggio "istio-injection not found" nell'output. Ciò significa che lo spazio dei nomi non aveva in precedenza l'etichetta istio-injection, cosa che dovresti aspettarti nelle nuove installazioni di Anthos Service Mesh o nei nuovi deployment. Poiché l'inserimento automatica non riesce se uno spazio dei nomi contiene sia l'etichetta istio-injection sia l'etichetta di revisione, tutti i comandi kubectl label nella documentazione di Anthos Service Mesh specificano esplicitamente entrambe le etichette.

  2. Se i carichi di lavoro erano in esecuzione sul tuo cluster prima dell'installazione di Anthos Service Mesh, riavvia i pod per attivare la reiniezione.

    La modalità di riavvio dei pod dipende dall'applicazione e dall'ambiente in cui si trova il cluster. Ad esempio, nell'ambiente di gestione temporanea potresti semplicemente eliminare tutti i pod, il che comporta il riavvio. Tuttavia, nell'ambiente di produzione potresti avere un processo che implementa un deployment blu/verde in modo da poter riavviare i pod in modo sicuro ed evitare interruzioni del traffico.

    Puoi utilizzare kubectl per eseguire un riavvio in sequenza:

    kubectl rollout restart deployment -n NAMESPACE
    

Che cosa succede dopo?