Canali di rilascio di Cloud Service Mesh gestito

Cloud Service Mesh rilascia spesso aggiornamenti per fornire aggiornamenti della sicurezza, correggere problemi noti e introdurre nuove funzionalità. I canali di rilascio trovano un equilibrio tra la stabilità e il set di funzionalità della versione di Cloud Service Mesh. I canali di rilascio di Cloud Service Mesh sono collegati ai canali di rilascio di Google Kubernetes Engine (GKE). Google gestisce automaticamente la versione e la cadenza degli upgrade per ogni canale di rilascio.

Questo documento illustra i confronti tra i canali di rilascio e come aggiornare i proxy non gestiti.

Canali di rilascio disponibili

Sono disponibili i seguenti canali di rilascio. Ogni canale offre un compromesso tra la disponibilità delle funzionalità e l'abbandono degli aggiornamenti. Le funzionalità di ogni canale hanno un diverso livello di maturità. Le patch di sicurezza critiche vengono distribuite a tutti i canali di rilascio per proteggere i cluster e l'infrastruttura di Google.

Channel Nuova disponibilità di Cloud Service Mesh gestito Proprietà
Rapido Dopo ogni release di Cloud Service Mesh Ricevi l'ultima release di Cloud Service Mesh il prima possibile e potrai utilizzare le nuove funzionalità non appena vengono incluse in una release. Il tuo control plane viene aggiornato di frequente per rimanere aggiornato con la versione più recente delle patch e fornire funzionalità più recenti. Il canale rapido è ideale per testare le versioni e le API più recenti di Cloud Service Mesh su ambienti di pre-produzione.
Normale Rapid viene promosso a Regular* Accedi alle funzionalità di Cloud Service Mesh e Istio in tempi ragionevolmente brevi dopo il loro debutto, ma su una versione qualificata per un periodo di tempo più lungo. Offre un giusto equilibrio tra la disponibilità delle funzionalità e la stabilità di rilascio ed è l'opzione che consigliamo alla maggior parte degli utenti.
Stabile Regular viene promosso a Stable* Dai priorità alla stabilità rispetto alle nuove funzionalità. Le modifiche e le nuove versioni di questo canale vengono implementate per ultime, dopo essere state convalidate nei canali rapido e regolare, il che consente ancora più tempo per la convalida.
*La pianificazione della promozione al canale successivo dipende da diversi fattori, tra cui la release open source di Istio, la release di Anthos e la pianificazione delle patch, pertanto è soggetta a modifiche. Per rimanere aggiornato con le informazioni più recenti, aggiungi l'URL delle note di rilascio di Cloud Service Mesh al tuo lettore di feed oppure aggiungi direttamente l'URL del feed: https://cloud.google.com/feeds/servicemesh-release-notes.xml

Quando una versione secondaria di Cloud Service Mesh gestito ha un utilizzo sufficiente e ha dimostrato stabilità nel canale Rapido, viene promossa al canale Regolare. Alla fine, la versione secondaria viene promossa al canale stabile, che riceve solo aggiornamenti ad alta priorità e patch di sicurezza. Ogni promozione segnala un livello crescente di stabilità e preparazione alla produzione, in base alle prestazioni osservate del control plane che esegue quella versione.

Tutti i canali si basano su una release in disponibilità generale (GA) (anche se le singole funzionalità potrebbero non essere sempre in GA, come indicato). Le nuove versioni di Cloud Service Mesh vengono rilasciate prima sul canale rapido e, nel tempo, vengono promosse al canale regolare e a quello stabile. In questo modo, puoi selezionare un canale che soddisfi le esigenze della tua attività in termini di stabilità e funzionalità.

Il canale Cloud Service Mesh del cluster è determinato dal canale del cluster GKE.

Canale GKE Canale Cloud Service Mesh
Rapido Rapido
Normale Normale
Stabile Stabile
(nessun canale) Normale

Versioni di Cloud Service Mesh per canale

Il canale Cloud Service Mesh è determinato dal canale del cluster GKE al momento del provisioning di Cloud Service Mesh gestito. Se in un secondo momento modifichi il canale del cluster GKE, mantieni il canale Cloud Service Mesh originale.

La tabella seguente mostra la mappatura corrente tra canale e versione di Cloud Service Mesh:

Canale Versione di Cloud Service Mesh
Rapido 1.21
Normale 1.20
Stabile 1.19

Canale predefinito

In un'installazione di Cloud Service Mesh in cui è installato un singolo canale gestito in un cluster, questo canale sarà il canale predefinito per quel cluster.

Se i cluster con un'installazione esistente di Istio o Cloud Service Mesh hanno il tag predefinito configurato, questo deve puntare alla revisione gestita. In caso contrario, non è necessario alcun intervento da parte tua.

Puoi utilizzare l'etichetta istio-injection=enabled come alias che punta all'inserimento delle altre etichette che utilizzi per il canale, ad esempio la revisione predefinita. Ovunque la nostra documentazione mostri di utilizzare l'etichetta dello spazio dei nomi istio.io/rev per l'inserimento, è possibile utilizzare l'etichetta istio-injection=enabled.

Etichette di iniezione

Per consentire a Cloud Service Mesh di gestire i workload in un determinato spazio dei nomi, lo spazio dei nomi deve essere etichettato con un'etichetta corrispondente al canale installato. Managed Cloud Service Mesh supporta due tipi di etichette:

  • etichette di revisione standard, ovvero asm-managed-stable, asm-managed, asm-managed-rapid, corrispondenti ai canali stable, regular e rapid.
  • etichetta di inserimento predefinita (ad esempio, istio-injection=enabled), corrispondente al canale predefinito per quel cluster. L'utilizzo dell'etichetta di inserimento predefinita semplifica la migrazione tra le revisioni. Ad esempio, quando esegui la migrazione da Istio OSS o da Cloud Service Mesh non gestito a Cloud Service Mesh gestito, poiché non è necessario etichettare nuovamente ogni spazio dei nomi singolarmente. Ovunque la documentazione di Cloud Service Mesh mostri di utilizzare l'etichetta dello spazio dei nomi istio.io/rev per l'inserimento, è possibile utilizzare l'etichetta istio-injection=enabled.

Altri esempi di etichette di inserimento includono l'etichettatura dei workload con sidecar.istio.io/inject (di uso comune per i gateway) e istio.io/rev, che funziona sia per gli spazi dei nomi che per i workload.

Etichette di inserimento predefinite

Per applicare l'etichetta di inserimento predefinita a uno spazio dei nomi:

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

Etichette di revisione

Come le altre etichette Kubernetes, un'etichetta di revisione è una coppia chiave-valore. La chiave in un'etichetta di revisione è sempre istio.io/rev, ma il valore varia. Per selezionare un canale di rilascio, applica uno dei seguenti nomi di revisione ai tuoi spazi dei nomi:

Nome revisione Canale
asm-managed Regolare
asm-managed-rapid Rapido
asm-managed-stable Stabile

Ad esempio, per applicare il canale di rilascio Regolare a uno spazio dei nomi:

kubectl label namespace NAMESPACE istio.io/rev=asm-managed --overwrite

Ti consigliamo di utilizzare lo stesso canale di rilascio utilizzato dal cluster.

Per vedere quale canale di rilascio utilizza uno spazio dei nomi:

kubectl get namespace NAMESPACE -o jsonpath='{.metadata.labels.istio\.io/rev}{"\n"}'

Aggiorna i proxy non gestiti

Dopo ogni release di Cloud Service Mesh, riavvia i proxy non gestiti per i tuoi servizi e gateway. Anche se il mesh di servizi funziona correttamente quando il control plane e i proxy hanno versioni diverse, ti consigliamo di aggiornare i proxy in modo che siano configurati con la nuova versione di Cloud Service Mesh.

  1. Controlla la versione del control plane e del proxy.

  2. Se la versione del control plane è più recente della versione del proxy, riavvia i proxy non gestiti per i tuoi servizi e gateway.

    kubectl rollout restart deployment -n NAMESPACE