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 canalistable,regularerapid. - 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 nomiistio.io/revper l'inserimento, è possibile utilizzare l'etichettaistio-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.
Controlla la versione del control plane e del proxy.
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