Installa Cloud Service Mesh

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

  • Esegui asmcli per eseguire una nuova installazione di Cloud Service Mesh 1.19.10-asm.9.
  • (Facoltativo) Esegui il deployment di un gateway in entrata.
  • Esegui il deployment o il nuovo deployment dei carichi di lavoro per iniettare i proxy sidecar.

Limitazioni

Nota. Vi sono delle limitazioni:

  • Per utilizzare Cloud Service Mesh, tutti i cluster Cloud Service Mesh per un mesh devono essere registrati allo stesso parco risorse in qualsiasi momento. Gli altri cluster del progetto di un cluster Cloud Service Mesh non devono essere registrati in un parco risorse diverso.

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

Prima di iniziare

Prima di iniziare, assicurati di:

Installazione di Anthos Service Mesh

Di seguito viene descritto come installare Cloud Service Mesh:

  1. Esegui asmcli install per installare il piano di controllo in-cluster su un singolo cluster. Consulta le sezioni seguenti per alcuni esempi di riga di comando. Gli esempi contengono sia argomenti obbligatori sia argomenti facoltativi che potresti trovare utile. Ti consigliamo di specificare sempre l'argomento output_dir in modo che che consente di individuare facilmente gateway e strumenti di esempio come istioctl. Consulta: nella barra di navigazione a destra per un elenco di esempi.

  2. I cluster GKE privati richiedono un ulteriore passaggio di configurazione del firewall per permitire il traffico verso istiod.

  3. Facoltativamente, installa un gateway in entrata. Per impostazione predefinita, asmcli non installa istio-ingressgateway. Ti consigliamo di il deployment e la gestione del piano di controllo e dei gateway separatamente. Se hai bisogno del valore predefinito istio-ingressgateway installato con il piano di controllo in-cluster, includi l'argomento --option legacy-default-ingressgateway.

  4. Per completare la configurazione di Cloud Service Mesh, devi abilitare il file collaterale automatico iniezione di codice eseguire il deployment o rieseguire il deployment dei carichi di lavoro.

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

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

Installa le funzionalità predefinite e la Mesh CA

Questa sezione mostra come eseguire asmcli per installare Cloud Service Mesh con le funzionalità supportate predefinite per la tua piattaforma e attivare l'autorità di certificazione Cloud Service Mesh come autorità di certificazione.

GKE

Esegui questo comando per installare il piano di controllo con impostazione e l'autorità di certificazione Cloud Service Mesh. 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 del progetto 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, i sample e i manifest. Altrimenti asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. Ambiente la variabile $PWD non funziona qui.
  • --enable_all Consente allo script di:
    • Concedi le autorizzazioni IAM richieste.
    • Abilita le API di Google richieste.
    • Imposta un'etichetta sul cluster che identifichi il mesh.
    • Registra il cluster nel parco risorse, se non è già registrato.
  • --ca mesh_ca Utilizza l'autorità di certificazione Cloud Service Mesh come dell'autorità di certificazione. asmcliconfigura Autorità di certificazione Cloud Service Mesh da utilizzare flotta Workload Identity

On-premise

Esegui i comandi seguenti su Google Distributed Cloud oppure Google Distributed Cloud per installare il piano di controllo con impostazione e l'autorità di certificazione Cloud Service Mesh. Inserisci i valori nel campo segnaposto.

  1. Imposta il contesto attuale sul 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 del progetto host del parco risorse.
    • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona qui. Inoltre, le posizioni relative dei file kubeconfig che utilizzano "~" 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, i sample e i manifest. Altrimenti asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona qui.
    • --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 identifichi il mesh.
      • Registra il cluster nel parco risorse, se non è già registrato.
    • --ca mesh_ca Utilizza l'autorità di certificazione Cloud Service Mesh come autorità di certificazione. asmcliconfigura l'autorità di certificazione Cloud Service Mesh in modo da utilizzare l'identità del workload del parco risorse

Per visualizzare gli SLO e le metriche di infrastruttura nell'interfaccia utente di Cloud Service Mesh, devi anche eseguire i primi tre passaggi descritti in Attivare il monitoraggio e il logging delle applicazioni. Se il logging e il monitoraggio non sono attivati e non ricevi log e metriche personalizzate, la dashboard di Cloud Service Mesh non mostrerà SLO, log di errore o metriche relative a CPU e memoria.

AWS

Esegui i seguenti comandi su GKE su AWS per installare il piano di controllo con le funzionalità predefinite e l'autorità di certificazione Cloud Service Mesh. Inserisci i valori nel campo segnaposto forniti.

  1. Imposta il contesto attuale sul 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 del progetto progetto host del parco risorse.
    • --kubeconfig Il percorso completo kubeconfig file. La variabile di ambiente $PWD non funziona qui. Inoltre, le posizioni dei file kubeconfig relative che utilizzano un 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, i sample e i manifest. Altrimenti asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona qui.
    • --platform multicloud specifica che la piattaforma è qualcosa diverso 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 identifichi il mesh.
      • Registra il cluster nel parco risorse, se non è già registrato.
    • --ca mesh_ca Utilizza l'autorità di certificazione Cloud Service Mesh come autorità di certificazione. asmcliconfigura l'autorità di certificazione Cloud Service Mesh per utilizzare l'identità del workload del parco risorse.

Per visualizzare gli SLO e le metriche di infrastruttura nell'interfaccia utente di Cloud Service Mesh, devi anche eseguire i primi tre passaggi descritti in Attivare il monitoraggio e il logging delle applicazioni. Se il logging e il monitoraggio non sono attivati e non ricevi log e metriche personalizzate, la dashboard di Cloud Service Mesh non mostrerà SLO, log di errore o metriche relative a CPU e memoria.

Azure

Esegui i seguenti comandi su GKE su Azure (anteprima) per installare il piano di controllo con le funzionalità predefinite e l'autorità di certificazione Cloud Service Mesh. Inserisci i valori nei segnaposto forniti.

  1. Imposta il contesto corrente sul cluster di utenti:

    kubectl config use-context CLUSTER_NAME
    
  2. Corsa di 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 del progetto progetto host del parco risorse.
    • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona qui. Inoltre, le posizioni relative dei file kubeconfig che utilizzano "~" 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, i sample e i manifest. Altrimenti asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona qui.
    • --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 identifichi il mesh.
      • Registra il cluster nel parco risorse, se non è già registrato.
    • --ca mesh_ca Utilizza l'autorità di certificazione Cloud Service Mesh come dell'autorità di certificazione. asmcliconfigura Autorità di certificazione Cloud Service Mesh da utilizzare flotta Workload Identity.

Per visualizzare gli SLO e le metriche di infrastruttura nell'interfaccia utente di Cloud Service Mesh, devi anche eseguire i primi tre passaggi descritti in Attivare il monitoraggio e il logging delle applicazioni. Se il logging e il monitoraggio non sono abilitati e non ricevi log e metriche personalizzati, la dashboard di Cloud Service Mesh non visualizzerà SLO, log degli errori o metriche di CPU e memoria.

Amazon EKS

Esegui i seguenti comandi su Amazon EKS per installare il piano di controllo con le funzionalità predefinite e l'autorità di certificazione Cloud Service Mesh. Inserisci i valori nel campo segnaposto forniti.

  1. Imposta il contesto attuale sul 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 del progetto progetto host del parco risorse.
    • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona qui. Inoltre, le posizioni dei file kubeconfig relative che utilizzano un 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, i sample e i manifest. Altrimenti asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona qui.
    • --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 identifichi 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 una mesh multirete, imposta --network_id su un valore univoco per ogni cluster della mesh.
    • --ca mesh_ca Utilizza l'autorità di certificazione Cloud Service Mesh come dell'autorità di certificazione. asmcliconfigura Autorità di certificazione Cloud Service Mesh da utilizzare flotta Workload Identity.

Per visualizzare gli SLO e le metriche dell'infrastruttura nella UI di Cloud Service Mesh, devi anche eseguire I primi tre passaggi in Abilitare il logging e il monitoraggio delle applicazioni. Se il logging e il monitoraggio non sono attivati e non ricevi log e metriche personalizzate, la dashboard di Cloud Service Mesh non mostrerà SLO, log di errore o metriche relative a CPU e memoria.

Microsoft AKS

Esegui questi comandi su Microsoft AKS per installare il piano di controllo predefinite e l'autorità di certificazione Cloud Service Mesh. Inserisci i valori nei segnaposto forniti.

  1. Imposta il contesto attuale sul 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 a GKE Hub.
    • --fleet_id L'ID del progetto host del parco risorse.
    • --kubeconfig Il percorso completo kubeconfig file. La variabile di ambiente $PWD non funziona qui. Inoltre, le posizioni dei file kubeconfig relative che utilizzano un 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, i sample e i manifest. Altrimenti asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona qui.
    • --platform multicloud specifica che la piattaforma è qualcosa diverso 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 identifichi il mesh.
      • Registra il cluster nel parco risorse, se non è già registrato.
    • --option attached-cluster cambia la firma predefinita e l'utilità è istiod.
    • --network_id Se configuri una rete mesh di più reti, imposta --network_id su un valore univoco per ogni cluster nella rete.
    • --ca mesh_ca Utilizza l'autorità di certificazione Cloud Service Mesh come autorità di certificazione. asmcliconfigura l'autorità di certificazione Cloud Service Mesh per utilizzare l'identità del workload del parco risorse.

Per visualizzare gli SLO e le metriche di infrastruttura nell'interfaccia utente di Cloud Service Mesh, devi anche eseguire i primi tre passaggi descritti in Attivare il monitoraggio e il logging delle applicazioni. Se il logging e il monitoraggio non sono attivati e non ricevi log e metriche personalizzate, la dashboard di Cloud Service Mesh non mostrerà SLO, log di errore o metriche relative a CPU e memoria.

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

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

Oltre a Mesh CA, puoi configurare Cloud Service Mesh per utilizzare Certificate Authority Service. Questa guida ti offre l'opportunità di eseguire l'integrazione con CA Service, consigliato 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 istiod certificati plug-in CA personalizzati.
  • Se devi eseguire il backup delle chiavi di firma in un HSM gestito.
  • Se operi in un settore altamente regolamentato e sei soggetto a conformità.
  • Se vuoi collegare la tua CA Cloud Service Mesh a una radice aziendale personalizzata per firmare i certificati dei carichi di lavoro.

Il costo di Mesh CA è incluso nella Prezzi di Cloud Service Mesh. Il servizio CA non è incluso nel prezzo base di Cloud Service Mesh e viene addebitato separatamente. Inoltre, CA Service include SLA esplicito, al contrario della CA mesh.

Per questa integrazione, a tutti i carichi di lavoro in Cloud Service Mesh vengono concessi i seguenti 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 cluster che gestisce per evitare problemi di latenza eccessivi o potenziali tra regioni diverse. Per ulteriori informazioni, vedi Livelli ottimizzati per il carico di lavoro.
  2. Crea la CA per avere almeno un'autorità di certificazione attiva nel pool di CA nello stesso progetto del cluster GKE. Utilizza CA subordinate per firmare Certificati per i carichi di lavoro di Cloud Service Mesh. Prendi nota del pool di CA corrispondente alla CA subordinata.
  3. Se è destinato a gestire solo i certificati per i carichi di lavoro di Cloud Service Mesh, imposta 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, usa il seguente comando:

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

    Per informazioni su come impostare un criterio in un pool, consulta Utilizzare un criterio di emissione dei certificati.

  5. Se utilizzi un modello di certificato, configuralo ora. Per saperne di più, consulta la guida di CA Service per i certificati Workload Identity. Assicurati che il modello di certificato venga creato nella stessa regione del pool di CA. Se sono presenti più regioni per i pool di CA, crea un modello di certificato per regione.

Configura Cloud Service Mesh per utilizzare il servizio CA

GKE

  1. Installa il piano di controllo di Cloud 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 del progetto host del parco risorse.
    • --kubeconfig Il percorso completo kubeconfig file. La variabile di ambiente $PWD non funziona qui. Inoltre, le posizioni dei file kubeconfig relative che utilizzano un 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, i sample e i manifest. Altrimenti asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona qui.
    • --platform multicloud specifica che la piattaforma è qualcosa diverso 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 identifichi il mesh.
      • Registra il cluster nel parco risorse, se non è già registrato.
    • --ca gcp_cas Utilizza Certificate Authority Service come dell'autorità di certificazione. La modifica delle autorità di certificazione durante un l'upgrade causa tempi di inattività. asmcliconfigura Certificate Authority Service da utilizzare flotta Workload Identity
    • --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 di ingresso per ricevere connessioni HTTP/TCP in entrata o in uscita. Per maggiori dettagli, vedi Installare le gateway.

  3. Completa l'installazione di Cloud Service Mesh per attivare l'iniezione automatica del proxy sidecar nei tuoi carichi di lavoro. Per maggiori dettagli, vedi Eseguire il deployment e il redeployment dei carichi di lavoro.

On-premise

Esegui i comandi seguenti su Google Distributed Cloud oppure Google Distributed Cloud per installare il piano di controllo con impostazione e Certificate Authority Service. Inserisci i valori nel campo segnaposto.

  1. Imposta il contesto attuale sul 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 del progetto progetto host del parco risorse.
    • --kubeconfig Il percorso completo kubeconfig file. La variabile di ambiente $PWD non funziona qui. Inoltre, le posizioni dei file kubeconfig relative che utilizzano un 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, i sample e i manifest. Altrimenti asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona qui.
    • --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 identifichi il mesh.
      • Registra il cluster nel parco risorse, se non è già registrato.
    • --ca gcp_cas Utilizza Certificate Authority Service come dell'autorità di certificazione. La modifica delle autorità di certificazione durante un l'upgrade causa tempi di inattività. asmcliconfigura Certificate Authority Service da utilizzare flotta Workload Identity
    • --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 Cloud Service Mesh, devi anche eseguire I primi tre passaggi in Abilitare il logging e il monitoraggio delle applicazioni. Se il logging e il monitoraggio non sono attivati e non ricevi log e metriche personalizzate, la dashboard di Cloud Service Mesh non mostrerà SLO, log di errore o metriche relative a CPU e memoria.

Installa le funzionalità predefinite con Istio CA

Questa sezione spiega come:

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

Per impostazione predefinita, ambienti che installano Cloud Service Mesh con le metriche dei report CA Istio a Prometheus. Se vuoi utilizzare le dashboard di Cloud Service Mesh, devi attivare Stackdriver. Per ulteriori informazioni, vedi Installare con funzionalità facoltative.

Per la massima sicurezza, ti consigliamo vivamente di gestire una CA principale offline e di utilizzare le CA secondarie per emettere certificati per ogni cluster. Per maggiori informazioni informazioni, consulta l'articolo Collegare i certificati CA. In questa configurazione, tutti i carichi di lavoro nel mesh di servizi utilizzano la stessa radice dell'autorità di certificazione (CA). Ogni CA Cloud Service Mesh utilizza una chiave di firma e un certificato CA intermedia, firmati dalla CA radice. Quando esistono più CA all'interno di un mesh, 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 file Makefile per generare i certificati si trova nella sottodirectory istio-1.19.10-asm.6 della directory --output_dir specificata nel comando asmcli validate. Se non hai eseguito asmcli validate, o se la directory scaricata non è disponibile localmente, puoi recuperare il Makefile il download del file di installazione di Cloud Service Mesh ed estrarre i contenuti.

  1. Passa alla directory istio-1.19.10-asm.6.

  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
    

    In questo modo vengono generati i seguenti file:

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

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

    Verranno generati questi 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 a 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 il seguente comando per installare il piano di controllo con le funzionalità predefinite e la CA Istio. Inserisci i valori negli appositi segnaposto.

     ./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 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 dove asmcli scarica anthos-service-mesh pacchetto ed estrae il file di installazione, contiene istioctl, esempi e 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 qui.
    • --enable_all Consente allo script di:
      • Concedi le autorizzazioni IAM richieste.
      • Abilita le API di Google richieste.
      • Imposta un'etichetta sul cluster che identifichi il mesh.
      • Registra il cluster nel parco risorse, se non è già registrato.

    • -ca citadel Utilizza Istio CA 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 Google Distributed Cloud oppure Google Distributed Cloud per installare il piano di controllo con le funzionalità predefinite e Istio CA. Inserisci i valori nei segnaposto forniti.

    1. Imposta il contesto attuale sul 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 del progetto progetto host del parco risorse.
      • --kubeconfig Il percorso completo kubeconfig file. La variabile di ambiente $PWD non funziona qui. Inoltre, le posizioni dei file kubeconfig relative che utilizzano un 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, i sample e i manifest. Altrimenti asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona qui.
      • --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 identifichi 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 controllo con le funzionalità predefinite e Istio CA. Inserisci i valori nei segnaposto forniti. Puoi scegliere di abilitare Ingress per il pubblico una subnet o la subnet privata.

    Pubblico

    1. Imposta il contesto corrente sul cluster di utenti:

      kubectl config use-context CLUSTER_NAME
      
    2. Corsa di 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 del progetto progetto host del parco risorse.
      • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona qui. Inoltre, le posizioni relative dei file kubeconfig che utilizzano "~" 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, i sample e i manifest. Altrimenti asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona qui.
      • --platform multicloud specifica che la piattaforma è qualcosa diverso 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 identifichi 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 del certificato intermedio.
      • --root_cert Il certificato radice.
      • --cert_chain La catena di certificati.

    Privato

    1. Imposta il contesto corrente sul cluster di utenti:

      kubectl config use-context CLUSTER_NAME
      
    2. Salva il seguente codice 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 del progetto progetto host del parco risorse.
      • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona qui. Inoltre, le posizioni relative dei file kubeconfig che utilizzano "~" 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, i sample e i manifest. Altrimenti asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona qui.
      • --platform multicloud specifica che la piattaforma è qualcosa diverso 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 identifichi 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 del certificato intermedio.
      • --root_cert Il certificato radice.
      • --cert_chain La catena di certificati.
      • --custom_overlay Il nome del file overlay creato. Per ulteriori informazioni informazioni sui file di overlay, consulta Attivazione della funzionalità facoltativa sul 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 Istio CA. Inserisci il tuo nei segnaposto forniti. Puoi scegliere di attivare Ingress per la subnet pubblica o per la subnet privata.

    Pubblico

    1. Imposta il contesto corrente sul cluster di utenti:

      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 del progetto host del parco risorse.
      • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona qui. Inoltre, le posizioni dei file kubeconfig relative che utilizzano un 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, i sample e i manifest. Altrimenti asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona qui.
      • --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 identifichi il mesh.
        • Registra il cluster nel parco risorse, se non è già registrato.
      • --option attached-cluster Modifica l'impostazione predefinita di firma istiod.
      • -ca citadel Utilizza Istio CA come autorità di certificazione.
      • --ca_cert Il certificato intermedio.
      • --ca_key La chiave del certificato intermedio.
      • --root_cert Il certificato radice.
      • --cert_chain La catena di certificati.

    Privato

    1. Imposta il contesto corrente sul cluster di utenti:

      kubectl config use-context CLUSTER_NAME
      
    2. Salva il seguente codice 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 del progetto host del parco risorse.
      • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona qui. Inoltre, le posizioni dei file kubeconfig relative che utilizzano un 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, i sample e i manifest. Altrimenti asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona qui.
      • --platform multicloud specifica che la piattaforma è qualcosa diverso 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 identifichi il mesh.
        • Registra il cluster nel parco risorse, se non è già registrato.
      • --option attached-cluster Modifica l'impostazione predefinita di firma istiod.
      • -ca citadel Utilizza Istio CA come autorità di certificazione.
      • --ca_cert Il certificato intermedio.
      • --ca_key La chiave del certificato intermedio.
      • --root_cert Il certificato radice.
      • --cert_chain La catena di certificati.
      • --custom_overlay Il nome del file dell'overlay creato. Per ulteriori informazioni sui file overlay, consulta Attivare funzionalità facoltative nel piano di controllo in-cluster.

    Amazon EKS

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

    1. Imposta il contesto attuale sul cluster utente:

      kubectl config use-context CLUSTER_NAME
      
    2. Corsa di 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 del progetto host del parco risorse.
      • --kubeconfig Il percorso completo kubeconfig file. La variabile di ambiente $PWD non funziona qui. Inoltre, le posizioni dei file kubeconfig relative che utilizzano un 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, i sample e i manifest. Altrimenti asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona qui.
      • --platform multicloud specifica che la piattaforma è qualcosa diverso 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 identifichi il mesh.
        • Registra il cluster nel parco risorse, se non è già registrato.
      • --option attached-cluster cambia la firma predefinita e l'utilità è istiod.
      • -ca citadel Utilizza Istio CA 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 rete mesh con più reti, imposta --network_id su un valore univoco per ogni cluster della rete mesh.

    Microsoft AKS

    Esegui i seguenti comandi 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 sul 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 a GKE Hub.
      • --fleet_id L'ID del progetto host del parco risorse.
      • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona qui. Inoltre, le posizioni dei file kubeconfig relative che utilizzano un 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, i sample e i manifest. Altrimenti asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona qui.
      • --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 identifichi 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 Istio CA 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 rete multipla mesh, quindi imposta --network_id su un valore univoco per in un cluster nella rete mesh.

Installa con Istio CA con Google Cloud Observability abilitato

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

GKE

Esegui il seguente comando per installare il piano di controllo con le funzionalità predefinite e la CA Istio. Inserisci i valori negli appositi segnaposto.

./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 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 dove asmcli scarica anthos-service-mesh pacchetto ed estrae il file di installazione, contiene istioctl, esempi e manifest. Altrimenti asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. Ambiente la variabile $PWD non funziona qui.
  • --enable_all Consente allo script di:
    • Concedi le autorizzazioni IAM richieste.
    • Abilita le API di Google richieste.
    • Imposta un'etichetta sul cluster che identifichi il mesh.
    • Registra il cluster nel parco risorse, se non è già registrato.
  • -ca citadel Utilizza Istio CA 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 attivare sia Stackdriver che Prometheus utilizzando --option prometheus-and-stackdriver.

On-premise

Esegui i comandi seguenti su Google Distributed Cloud oppure Google Distributed Cloud per installare il piano di controllo con Stackdriver e altre funzionalità facoltative e CA Istio. Inserisci i valori nel campo segnaposto forniti.

  1. Imposta il contesto attuale sul 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 del progetto progetto host del parco risorse.
    • --kubeconfig Il percorso completo kubeconfig file. La variabile di ambiente $PWD non funziona qui. Inoltre, le posizioni dei file kubeconfig relative che utilizzano un 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, i sample e i manifest. Altrimenti asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona qui.
    • --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 identifichi 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 attivare sia Stackdriver che Prometheus utilizzando --option prometheus-and-stackdriver.

    Per visualizzare gli SLO e le metriche dell'infrastruttura nella UI di Cloud Service Mesh, devi anche eseguire I primi tre passaggi in Abilitare il logging e il monitoraggio delle applicazioni. Se il logging e il monitoraggio non sono attivati e non ricevi log e metriche personalizzate, la dashboard di Cloud Service Mesh non mostrerà SLO, log di errore o metriche relative a CPU e memoria.

AWS

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

Pubblico

  1. Imposta il contesto corrente sul cluster di utenti:

    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 del progetto progetto host del parco risorse.
    • --kubeconfig Il percorso completo kubeconfig file. La variabile di ambiente $PWD non funziona qui. Inoltre, le posizioni dei file kubeconfig relative che utilizzano un 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, i sample e i manifest. Altrimenti asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona qui.
    • --platform multicloud specifica che la piattaforma è qualcosa diverso 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 identifichi 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 del certificato intermedio.
    • --root_cert Il certificato radice.
    • --cert_chain La catena di certificati.
    • --option stackdriver Abilita l'opzione Stackdriver. Tieni presente che puoi anche attivare sia Stackdriver che Prometheus utilizzando --option prometheus-and-stackdriver.

Privato

  1. Imposta il contesto corrente sul cluster di utenti:

    kubectl config use-context CLUSTER_NAME
    
  2. Salva il seguente codice 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 del progetto progetto host del parco risorse.
    • --kubeconfig Il percorso completo kubeconfig file. La variabile di ambiente $PWD non funziona qui. Inoltre, le posizioni dei file kubeconfig relative che utilizzano un 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, i sample e i manifest. Altrimenti asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona qui.
    • --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 identifichi 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 del certificato intermedio.
    • --root_cert Il certificato radice.
    • --cert_chain La catena di certificati.
    • --custom_overlay Il nome del file dell'overlay creato. Per ulteriori informazioni sui file overlay, consulta Attivare funzionalità facoltative nel piano di controllo in-cluster.
    • --option stackdriver Abilita l'opzione Stackdriver. Tieni presente che puoi anche attivare sia Stackdriver che Prometheus utilizzando --option prometheus-and-stackdriver. In alternativa, puoi attivare Stackdriver utilizzando --custom_overlay stackdriver.yaml. Devi scaricare il pacchetto anthos-service-mesh o creare stackdriver.yaml dal manifest fornito.

Azure

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

Pubblico

  1. Imposta il contesto corrente sul cluster di utenti:

    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 del progetto host del parco risorse.
    • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona qui. Inoltre, le posizioni dei file kubeconfig relative che utilizzano un 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, i sample e i manifest. Altrimenti asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona qui.
    • --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 identifichi il mesh.
      • Registra il cluster nel parco risorse, se non è già registrato.
    • -ca citadel Utilizza Istio CA come autorità di certificazione.
    • --ca_cert Il certificato intermedio.
    • --ca_key La chiave del certificato intermedio.
    • --root_cert Il certificato radice.
    • --cert_chain La catena di certificati.
    • --option stackdriver Abilita l'opzione Stackdriver. Tieni presente che puoi anche attivare sia Stackdriver che Prometheus utilizzando --option prometheus-and-stackdriver.

Privato

  1. Imposta il contesto corrente sul cluster di utenti:

    kubectl config use-context CLUSTER_NAME
    
  2. Salva il seguente codice 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. Corsa di 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 del progetto progetto host del parco risorse.
    • --kubeconfig Il percorso completo kubeconfig file. La variabile di ambiente $PWD non funziona qui. Inoltre, le posizioni relative dei file kubeconfig che utilizzano "~" 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, i sample e i manifest. Altrimenti asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona qui.
    • --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 identifichi 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 del certificato intermedio.
    • --root_cert Il certificato radice.
    • --cert_chain La catena di certificati.
    • --custom_overlay Il nome del file dell'overlay creato. Per ulteriori informazioni informazioni sui file di overlay, consulta Attivazione della funzionalità facoltativa 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 attivare Stackdriver utilizzando --custom_overlay stackdriver.yaml. Devi: Scarica il pacchetto anthos-service-mesh-package o crea stackdriver.yaml dal manifest fornito.

Amazon EKS

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

  1. Imposta il contesto corrente sul cluster di utenti:

    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 del progetto progetto host del parco risorse.
    • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona qui. Inoltre, le posizioni dei file kubeconfig relative che utilizzano un 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, i sample e i manifest. Altrimenti asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona qui.
    • --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 identifichi 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 Attiva l'opzione Stackdriver. Tieni presente che puoi anche abilitare sia Stackdriver che Prometheus utilizzando --option prometheus-and-stackdriver.
    • --option stackdriver cambia l'utilità di firma predefinita per istiod.

Microsoft AKS

Esegui i seguenti comandi 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 sul 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 a GKE Hub.
    • --fleet_id L'ID del progetto host del parco risorse.
    • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona qui. Inoltre, le posizioni dei file kubeconfig relative che utilizzano un 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, i sample e i manifest. Altrimenti asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona qui.
    • --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 identifichi 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 Attiva l'opzione Stackdriver. Tieni presente che puoi anche abilitare sia Stackdriver che Prometheus utilizzando --option prometheus-and-stackdriver.
    • --option stackdriver cambia l'utilità di firma predefinita per istiod.

Installazione con funzionalità facoltative

Un file overlay è un file YAML contenente una risorsa personalizzata IstioOperator (CR) che viene passata a asmcli per configurare il piano di controllo. Puoi la configurazione predefinita del piano di controllo abilita una caratteristica facoltativa passando del file YAML in asmcli. Puoi sovrapporre altri overlay e ogni overlay sostituisce la configurazione sui livelli precedenti. Come best practice, consigliamo di salvare i file di overlay nel sistema di controllo delle versioni.

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

Utilizza --option se non devi modificare il file di overlay. Con questo metodo, asmclirecupera il file dal Repository GitHub per te.

Utilizza --custom_overlay quando devi personalizzare il file di overlay.

Per ulteriori informazioni, vedi Abilitazione di funzionalità facoltative sul piano di controllo nel cluster.

GKE

Esegui il seguente comando per installare il piano di controllo con un'opzione facoltativa. Per aggiungere più file, specifica --custom_overlay e il relativo nome, ad esempio: --custom_overlay overlay_file1.yaml --custom_overlay overlay_file2.yaml --custom_overlay overlay_file3.yaml Inserisci i valori negli appositi segnaposto.

./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 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, i sample e i 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 qui.
  • --enable_all Consente allo script di:
    • Concedi le autorizzazioni IAM richieste.
    • Abilita le API di Google richieste.
    • Imposta un'etichetta sul cluster che identifichi il mesh.
    • Registra il cluster nel parco risorse, se non è già registrato.
  • --ca mesh_ca Utilizza l'autorità di certificazione Cloud Service Mesh come autorità di certificazione. Tieni presente che asmcliconfigura la CA di Cloud Service Mesh per utilizzare l'identità per i carichi di lavoro del parco risorse
  • --custom_overlay Specifica il nome del file dell'overlay.

Al di fuori di Google Cloud

Esegui i seguenti comandi su Google Distributed Cloud, GKE su AWS, Amazon EKS o Microsoft AKS. Inserisci i valori nei segnaposto forniti.

  1. Imposta il contesto attuale sul cluster utente:

    kubectl config use-context CLUSTER_NAME
    
  2. Esegui asmcli install per installare il piano di controllo con un'opzione facoltativa. Per aggiungere più file, specifica --custom_overlay e i 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 del progetto host del parco risorse.
    • --kubeconfig Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona qui. Inoltre, le posizioni relative dei file kubeconfig che utilizzano "~" 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, i sample e i manifest. Altrimenti asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona qui.
    • --platform multicloud specifica che la piattaforma è qualcosa diverso 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 identifichi il mesh.
      • Registra il cluster nel parco risorse, se non è già registrato.
    • --ca mesh_ca Utilizza l'autorità di certificazione Cloud Service Mesh come autorità di certificazione. Tieni presente che asmcliconfigura Autorità di certificazione Cloud Service Mesh da utilizzare flotta Workload Identity
    • --custom_overlay Specifica il nome del file di overlay.

Installare i gateway

Cloud Service Mesh ti offre la possibilità di eseguire il deployment e gestire i gateway come parte mesh di servizi. Un gateway descrive un bilanciatore del carico che opera all'esterno della rete mesh e riceve connessioni HTTP/TCP in entrata o in uscita. I gateway sono Envoy che forniscono un controllo granulare sul traffico in entrata e escono dalla rete.

  1. Crea un nome di spazio per il gateway di ingresso se non ne hai già uno. I gateway sono carichi di lavoro dell'utente e, come best practice, non dovrebbero essere di cui è stato eseguito il deployment nello spazio dei nomi del piano di controllo. Sostituisci GATEWAY_NAMESPACE con il nome dello spazio dei nomi.

    kubectl create namespace GATEWAY_NAMESPACE
    

    Risultato previsto:

    namespace/GATEWAY_NAMESPACE created
    
  2. Abilita l'inserimento automatico nel gateway. I passaggi richiesti dipendono dal fatto 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 dall'webhook dell'iniettore sidecar per associare i proxy iniettati a una determinata revisione del piano di controllo.

    Etichette di inserimento predefinite

    Applica le etichette di inserimento predefinite allo spazio dei nomi.

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

    Etichetta di 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 corrispondente alla versione di Cloud Service Mesh, ad esempio: asm-11910-9

    2. Applica l'etichetta di revisione allo spazio dei nomi. Nel seguente comando, REVISION è il valore dell'etichetta della 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 in precedenza lo spazio dei nomi non aveva l'etichetta istio.io/rev, che dovresti aspettarti nelle nuove installazioni di Cloud Service Mesh o nei nuovi deployment. Perché l'inserimento automatico non riesce se uno spazio dei nomi contiene sia istio.io/rev che istio-injection tutti i comandi kubectl label in Cloud Service Mesh documentazione specificano in modo esplicito entrambe le etichette.

    Se lo spazio dei nomi del gateway non è etichettato, i pod istio-ingressgateway non andranno a buon fine con un errore ImagePullBackOff quando il gateway tenta di estrarre l'immagine auto. Questa immagine deve essere sostituita dall'webhook.

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

  4. Applica la configurazione .yaml del gateway in entrata di esempio così com'è o modificala come necessaria.

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

    Risultato 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 e il nuovo deployment dei carichi di lavoro

Cloud Service Mesh utilizza i proxy sidecar per migliorare la sicurezza, l'affidabilità e osservabilità. Con Cloud Service Mesh, queste funzioni vengono astratte dal del container principale dell'applicazione e implementato in un proxy out-of-process comune come container separato all'interno dello stesso pod.

L'installazione non sarà completa finché non attivi il proxy sidecar automatico l'iniezione automatica e riavvia i pod per tutti i carichi di lavoro erano in esecuzione sul tuo cluster prima dell'installazione di Cloud Service Mesh.

Per attivare l'iniezione automatica, etichetta i tuoi spazi dei nomi con le etichette di iniezione predefinite se è configurato il tag predefinito o con un'etichetta di revisione impostata su istiod quando hai installato Cloud Service Mesh. La revisione predefinita il tag e l'etichetta di revisione vengono utilizzati dal webhook di iniettore collaterale per associare file collaterali inseriti con una revisione istiod. Dopo aver aggiunto l'etichetta, 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 iniezione automatica per consentire a Cloud Service Mesh di monitorare e proteggere il traffico.

  1. I passaggi necessari per attivare l'iniezione automatica dipendono dal fatto che tu voglia utilizzare le etichette di inserimento predefinite o l'etichetta di revisione:

    Etichette di inserimento predefinite

    Nel comando seguente, NAMESPACE è il nome del in cui vuoi abilitare l'inserimento automatico.

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

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

    Etichetta revisione

    1. Usa questo 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-11910-9-5788d57586-bljj4   1/1     Running   0          23h   app=istiod,istio.io/rev=asm-11910-9,istio=istiod,pod-template-hash=5788d57586
      istiod-asm-11910-9-5788d57586-vsklm   1/1     Running   1          23h   app=istiod,istio.io/rev=asm-11910-9,istio=istiod,pod-template-hash=5788d57586

      Nell'output, nella colonna LABELS, prendi nota del valore dell'etichetta della revisione istiod, che segue il prefisso istio.io/rev=. In questo esempio, il valore è asm-11910-9.

    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 attivare l'iniezione automatica 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" nel come output. Ciò significa che in precedenza lo spazio dei nomi non aveva l'etichetta istio-injection, che dovresti aspettarti nelle nuove installazioni di Cloud Service Mesh o nei nuovi deployment. Poiché il comportamento di istio-injection non è definito quando uno spazio dei nomi ha sia l'etichetta istio-injection che l'etichetta di revisione, tutti i comandi kubectl label nella documentazione di Cloud Service Mesh assicurano esplicitamente che ne sia impostato solo uno.

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

    La modalità di riavvio dei pod dipende dall'applicazione e dall'ambiente in cui si trova il cluster. Ad esempio, nell'ambiente di staging, potresti semplicemente eliminare tutti i pod, che verranno riavviati. Ma nella tua produzione potrebbe essere presente un processo che implementa deployment blu/verde in modo da poter riavviare in sicurezza i pod per evitare interruzioni del traffico.

    Puoi utilizzare kubectl per eseguire un riavvio graduale:

    kubectl rollout restart deployment -n NAMESPACE
    

Passaggi successivi