Canali di rilascio di Cloud Service Mesh gestito

Cloud Service Mesh rilascia spesso aggiornamenti per fornire aggiornamenti della sicurezza, risolvere problemi noti e introdurre nuove funzionalità. I canali di rilascio consentono di trovare 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 dei 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 il tasso di abbandono degli aggiornamenti. Le funzionalità di ogni canale hanno un livello di maturità diverso. Le patch di sicurezza critiche vengono inviate a tutti i canali di rilascio per proteggere i tuoi cluster e l'infrastruttura di Google.

Canale Nuova disponibilità di Cloud Service Mesh gestito Proprietà
Rapida 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 control plane viene aggiornato di frequente per rimanere sulla versione della patch più recente disponibile e offrire 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 La versione Rapid viene promossa a versione regolare* Accedi alle funzionalità di Cloud Service Mesh e Istio in tempi ragionevolmente rapidi dopo il lancio, ma con una versione che è stata qualificata in un periodo di tempo più lungo. Offre un buon compromesso tra disponibilità di funzionalità e stabilità di release ed è l'opzione che consigliamo alla maggior parte degli utenti.
Stabile La versione regolare viene promossa a stabile* Dai priorità alla stabilità rispetto alle nuove funzionalità. Le modifiche e le nuove versioni in questo canale vengono implementate per ultime, dopo il rilascio sui canali Rapido e Regolare, dedicando ancora più tempo alla convalida.
*La pianificazione della promozione al canale successivo dipende da diversi fattori, tra cui la release di Istio open source, la release di Anthos e la pianificazione delle patch, pertanto è soggetta a modifiche. Per rimanere al corrente con le informazioni più recenti, aggiungi l'URL delle note di rilascio di Cloud Service Mesh al tuo aggregatore di feed oppure aggiungi direttamente l'URL del feed: https://cloud.google.com/feeds/servicemesh-release-notes.xml

Quando una versione minore 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 minore viene promossa al canale stabile, che riceve solo aggiornamenti e patch di sicurezza ad alta priorità. Ogni promozione indica un livello crescente di stabilità e idoneità alla produzione, in base alle prestazioni osservate del control plane che esegue la versione.

Tutti i canali si basano su una release di disponibilità generale (GA), anche se le singole funzionalità potrebbero non essere sempre disponibili a livello generale, come indicato. Le nuove versioni di Cloud Service Mesh vengono rilasciate inizialmente nel canale Rapido e, nel tempo, vengono promosse ai canali Regolare e Stabile. In questo modo, puoi selezionare un canale che soddisfi le esigenze della tua attività, di stabilità e funzionalità.

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

Canale GKE Canale Cloud Service Mesh
Rapida Rapida
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 del canale alla versione Cloud Service Mesh corrente:

Canale Versione di Cloud Service Mesh
Rapida 1.19
Normale 1.19
Stabile 1.19

Canale predefinito

In un Cloud Service Mesh appena installato in cui è presente 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, deve essere indicato il valore della revisione gestita. In caso contrario, non è richiesta alcuna azione da parte tua.

Puoi utilizzare l'etichetta istio-injection=enabled come alias che indirizza l'iniezione alle altre etichette utilizzate per il canale, ad esempio la revisione predefinita. Ovunque la nostra documentazione indichi di utilizzare l'etichetta dello spazio dei nomi istio.io/rev per l'iniezione, è possibile utilizzare l'etichetta istio-injection=enabled.

Etichette di iniezione

Per consentire a Cloud Service Mesh di gestire i carichi di lavoro in un determinato spazio dei nomi, lo spazio dei nomi deve essere etichettato con un'etichetta corrispondente al canale installato. Cloud Service Mesh gestito 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 es. 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 si esegue la migrazione da Istio OSS o da Cloud Service Mesh non gestito a Cloud Service Mesh gestito, poiché non è necessario rietichettare 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'iniezione, è possibile utilizzare l'etichetta istio-injection=enabled.

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

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 Normale
asm-managed-rapid Rapida
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 servizi e i gateway. Anche se il mesh di servizi funziona correttamente quando il piano di controllo e i proxy sono in 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 piano di controllo e del proxy.

  2. Se la versione del piano di controllo è più recente di quella del proxy, riavvia i proxy non gestiti per i tuoi servizi e gateway.

    kubectl rollout restart deployment -n NAMESPACE