Questa guida spiega come installare Anthos Service Mesh per una rete mesh contenente più cluster Google Kubernetes Engine (GKE) che si trovano in progetti Google Cloud diversi.
Puoi utilizzare questa guida per i seguenti casi d'uso relativi all'onboarding:
Nuove installazioni di Anthos Service Mesh 1.9.8.
Upgrade da 1.8 or a 1.9 patch release ad Anthos Service Mesh 1.9.8. Gli upgrade dalle versioni precedenti non sono supportati.
Migrazione da Istio 1.8 or 1.9 open source ad Anthos Service Mesh 1.9.8. Se hai una versione precedente di Istio, devi eseguire l'upgrade prima di eseguire la migrazione ad Anthos Service Mesh. Se devi eseguire l'upgrade, vai alla pagina Esegui l'upgrade di Istio nella versione applicabile di Istio. Tieni presente che l'upgrade di Istio a più di una versione secondaria (ad es. da 1.6.x a 1.8.x) in un solo passaggio non è ufficialmente testato né consigliato. Assicurati di consultare la Preparazione per la migrazione da Istio per pianificare la migrazione.
Non tutte le funzionalità sono disponibili per una mesh di servizi con cluster in progetti diversi. In particolare, le dashboard Anthos Service Mesh nella console Google Cloud non sono attualmente disponibili. Tuttavia, puoi comunque visualizzare i log in Cloud Logging e le metriche in Cloud Monitoring per ogni progetto.
Prima di iniziare
Questa guida presuppone che tu abbia già:
- Un progetto Google Cloud.
- Un account di fatturazione Cloud.
- Un cluster GKE che soddisfi i requisiti.
Se stai eseguendo la migrazione da Istio, consulta la pagina Preparazione per la migrazione da Istio.
Differenze tra Anthos e Anthos Service Mesh
Anthos Service Mesh è disponibile con GKE Enterprise o come servizio autonomo. Le API di Google vengono utilizzate per determinare le modalità di fatturazione. Per utilizzare Anthos Service Mesh come servizio autonomo, non abilitare l'API GKE Enterprise nel tuo progetto. Per informazioni sui prezzi di Anthos Service Mesh, consulta i prezzi.
Gli abbonati a GKE Enterprise devono abilitare l'API GKE Enterprise.
Se non sei un abbonato a GKE Enterprise, puoi comunque installare Anthos Service Mesh, ma alcuni elementi e funzionalità dell'interfaccia utente nella console Google Cloud sono disponibili solo per gli abbonati a GKE Enterprise. Per informazioni su ciò che è disponibile per gli abbonati e i non abbonati, consulta Differenze nell'interfaccia utente di GKE Enterprise e Anthos Service Mesh.
Se hai abilitato l'API GKE Enterprise, ma vuoi utilizzare Anthos Service Mesh come servizio autonomo, disattiva l'API GKE Enterprise.
Requisiti
Poiché i cluster si trovano in progetti diversi, devono trovarsi in un VPC (Virtual Private Cloud) condiviso. Per informazioni sulla configurazione dei cluster, consulta Configurazione dei cluster con un VPC condiviso.
Il cluster GKE deve soddisfare i seguenti requisiti:
Il cluster GKE deve essere Standard, perché i cluster Autopilot hanno limitazioni dei webhook che non consentono
MutatingWebhookConfiguration
peristio-sidecar-injector
.Un tipo di macchina con almeno quattro vCPU, ad esempio
e2-standard-4
. Se il tipo di macchina per il cluster non ha almeno quattro vCPU, cambia il tipo di macchina come descritto in Migrazione di carichi di lavoro in tipi di macchine diversi.Il numero minimo di nodi dipende dal tipo di macchina. Anthos Service Mesh richiede almeno 8 vCPU. Se il tipo di macchina ha 4 vCPU, il cluster deve avere almeno due nodi. Se il tipo di macchina ha otto vCPU, il cluster ha bisogno di un solo nodo. Se devi aggiungere nodi, consulta Ridimensionamento di un cluster.
Per preparare il cluster prima di installare Anthos Service Mesh, devi abilitare Workload Identity. Workload Identity è il metodo consigliato per chiamare le API di Google. L'abilitazione di Workload Identity cambia il modo in cui vengono protette le chiamate dai carichi di lavoro alle API di Google, come descritto in Limitazioni di Workload Identity.
Facoltativamente, ma consigliato, registra il cluster in un canale di rilascio. Ti consigliamo di registrarti al canale di rilascio regolare perché altri canali potrebbero essere basati su una versione di GKE non supportata con Anthos Service Mesh 1.9.8. Per ulteriori informazioni, consulta la sezione Ambienti supportati. Segui le istruzioni riportate in Registrare un cluster esistente in un canale di rilascio se hai una versione GKE statica.
Per essere incluse nel mesh di servizi, è necessario assegnare un nome alle porte di servizio, che deve includere il protocollo della porta nella seguente sintassi:
name: protocol[-suffix]
dove le parentesi quadre indicano un suffisso facoltativo che deve iniziare con un trattino. Per maggiori informazioni, consulta Denominazione delle porte dei servizi.Se stai installando Anthos Service Mesh su un cluster privato, devi aprire la porta 15017 nel firewall per far funzionare correttamente il webhook utilizzato con l'inserimento automatico di sidecar. Per maggiori informazioni, consulta Apertura di una porta su un cluster privato.
Se hai creato un perimetro di servizio nell'organizzazione, potrebbe essere necessario aggiungere il servizio Mesh CA al perimetro. Per ulteriori informazioni, consulta Aggiunta di Mesh CA a un perimetro di servizio.
A un progetto Google Cloud è possibile associare un solo mesh.
Se vuoi ridurre i limiti delle risorse predefiniti per il container collaterale
istio-proxy
, i nuovi limiti dovrebbero consentire una memoria sufficiente per evitare eventi di esaurimento della memoria.
Scelta di un'autorità di certificazione
Sia per le nuove installazioni che per le migrazioni, puoi utilizzare l'autorità di certificazione Anthos Service Mesh (Mesh CA) o Istio CA (precedentemente nota come Citadel) come autorità di certificazione (CA) per rilasciare certificati mTLS (mutual TLS).
In genere consigliamo di utilizzare Mesh CA per i seguenti motivi:
- Mesh CA è un servizio altamente affidabile e scalabile, ottimizzato per carichi di lavoro con scalabilità dinamica su Google Cloud.
- Con Mesh CA, Google gestisce la sicurezza e la disponibilità del backend della CA.
- Mesh CA consente di fare affidamento su un'unica radice di attendibilità tra i cluster.
Tuttavia, in alcuni casi potresti prendere in considerazione l'utilizzo di CA Istio, ad esempio:
- Se hai una CA personalizzata,
Se esegui la migrazione da Istio.
Se scegli la CA Istio, ci sono tempi di inattività minimi perché il traffico mTLS non viene interrotto durante la migrazione. Se scegli Mesh CA, devi pianificare il tempo di inattività per la migrazione perché la radice di attendibilità cambia da Istio CA a Mesh CA. Per completare la migrazione alla radice di attendibilità della CA mesh, è necessario riavviare tutti i pod in tutti gli spazi dei nomi. Durante questo processo, i pod precedenti non possono stabilire connessioni mTLS con i nuovi pod.
I certificati di Mesh CA includono i seguenti dati sui servizi dell'applicazione:
- ID progetto Google Cloud
- Lo spazio dei nomi GKE
- Il nome dell'account di servizio GKE
Registrazione del cluster in corso
Sebbene non sia attualmente obbligatorio, ti consigliamo di registrare il cluster nel parco risorse del progetto (precedentemente noto come environ). che consente di organizzare i cluster per semplificare la gestione multi-cluster. Registrando i cluster in un parco risorse, puoi raggruppare servizi e altre infrastrutture in base alle esigenze per applicare criteri coerenti. Se hai cluster in progetti diversi, devi registrarli nel progetto host del parco risorse anziché con il progetto in cui è stato creato il cluster. Per maggiori dettagli su come registrare il cluster, consulta Registrazione dei cluster nel parco risorse.
Il concetto di progetto host del parco risorse è importante quando configuri il cluster per abilitare le opzioni richieste da Anthos Service Mesh. Il mesh di servizi per il tuo cluster è identificato con un valore basato su un numero di progetto. Quando configuri cluster da progetti diversi, devi utilizzare il numero di progetto per il progetto host del parco risorse.