API del piano di controllo xDS
Cloud Service Mesh e i relativi client (proxy Envoy o librerie gRPC senza proxy) utilizzano l'API open source xDS per scambiare informazioni. Quando configuri Cloud Service Mesh, ad esempio utilizzando risorse come regole di inoltro e servizi di backend, Cloud Service Mesh le converte in una configurazione xDS, che condivide con i suoi clienti.
Supporto delle versioni xDS
Cloud Service Mesh supporta solo xDS 3.
Per determinare quali versioni di Envoy e gRPC supportano xDS 3, consulta la documentazione di Envoy e gRPC.
Se utilizzi ancora la versione 2 di xDS, segui le istruzioni riportate di seguito per eseguire la migrazione alla versione 3 di xDS.
Eseguire la migrazione da xDS v2 a xDS v3
Il processo di migrazione prevede due passaggi:
- Aggiorna le autorizzazioni Identity and Access Management (IAM) concesse all'account di servizio utilizzato dai tuoi client (proxy Envoy o librerie gRPC senza proxy) quando si connettono a Cloud Service Mesh.
- Aggiorna ed esegui nuovamente il deployment delle applicazioni. I passaggi specifici variano a seconda del deployment e sono descritti nelle sezioni seguenti.
Aggiorna le autorizzazioni IAM dell'account di servizio
Assicurati che l'account di servizio utilizzato dai clienti Cloud Service Mesh (Envoy, gRPC senza proxy) disponga delle autorizzazioni trafficdirector.networks.reportMetrics
e trafficdirector.networks.getConfigs
. Queste autorizzazioni sono incluse nel ruolo Client Cloud Service Mesh (roles/trafficdirector.client
) di IAM.
Se utilizzi un ruolo IAM personalizzato, puoi aggiungere queste autorizzazioni al ruolo personalizzato. Dopo aver aggiunto le autorizzazioni, puoi rimuovere dall'account di servizio il ruolo Visualizzatore rete Compute (roles/compute.networkViewer
), il ruolo Amministratore rete Compute (roles/compute.networkAdmin
) o entrambi.
Ti consigliamo di utilizzare il ruolo Client Cloud Service Mesh anziché il ruolo Visualizzatore rete Compute (roles/compute.networkViewer
) o il ruolo Amministratore rete Compute (roles/compute.networkAdmin
). L'utilizzo del ruolo Client Cloud Service Mesh limita le autorizzazioni concesse al account di servizio ed evita di concedere autorizzazioni eccessivamente ampie.
Aggiorna le applicazioni
Dopo aver aggiornato le autorizzazioni IAM nell'account di servizio, aggiornate le applicazioni.
Envoy su Compute Engine
Per aggiornare le applicazioni su Envoy con Compute Engine, esegui un riavvio o una sostituzione graduale dei gruppi di istanze gestite. Una versione di Envoy che supporta xDS 3 viene aggiunta automaticamente alle tue istanze di macchine virtuali (VM).
Envoy su GKE
Se utilizzi l'iniezione automatica di Envoy con Google Kubernetes Engine (GKE), reinstalla l'iniettore sidecar sui cluster GKE che utilizzi con Cloud Service Mesh. Quando viene creato un nuovo pod, un proxy sidecar Envoy supporta automaticamente la versione 3 di xDS insieme al pod del carico di lavoro.
Se utilizzi l'iniezione di file collaterali manuale su GKE, esegui nuovamente il deployment del proxy del file collaterale su ciascuno dei tuoi cluster GKE.
gRPC senza proxy
Il processo di migrazione prevede due passaggi:
Assicurati che la versione di gRPC che utilizzi supporti xDS 3. Per ulteriori informazioni, consulta le funzionalità xDS in gRPC.
Aggiorna la configurazione di bootstrap seguendo questi passaggi:
- Nel campo
"xds_servers"
, aggiungi"server_features": ["xds_v3"]
come mostrato in questo esempio di file di bootstrap. L'ID nodo deve avere il seguente formato, come mostrato nell'esempio precedente:
"projects/PROJECT_NUMBER/networks/NETWORK_NAME/nodes/ID"
- Nel campo
Dopo aver apportato le modifiche precedenti all'applicazione, compilala e ridistribuiscila.
Le modifiche precedenti alla configurazione di bootstrap non influiscono sulle versioni gRPC che non supportano xDS 3. Inoltre, se le modifiche precedenti non sono presenti nella configurazione di bootstrap, le versioni gRPC che supportano la versione 3 di xDS utilizzano la versione 2 di xDS.
Per comodità, puoi utilizzare il generatore di bootstrap gRPC di Cloud Service Mesh versione 0.16.0 o successive per generare una configurazione di bootstrap compatibile con xDS v3.
Verifica che i client Cloud Service Mesh utilizzino xDS 3
Per ispezionare la configurazione generata da Cloud Service Mesh per i suoi clienti, puoi utilizzare lo strumento di stato del client. Questo strumento indica se la configurazione è xDS v2 o xDS v3.
Passaggi successivi
- Per informazioni generali sulla risoluzione dei problemi di Cloud Service Mesh, consulta Risolvere i problemi di implementazione di Envoy.
- Per risolvere i problemi di configurazione durante il deployment dei servizi gRPC proxyless, consulta Risolvere i problemi di deployment di gRPC proxyless.