Utilizza questo documento per eseguire la migrazione dei cluster nativi di VPC Google Kubernetes Engine (GKE) esistenti da Dataplane V1 a GKE Dataplane V2, monitorare la migrazione ed eseguirne il rollback, se necessario.
Questo documento è destinato agli amministratori e agli operatori della piattaforma e agli specialisti di Networking che gestiscono le configurazioni di rete per i cluster GKE.
Prima di iniziare, scopri cosa succede durante ogni fase della migrazione e come pianificare l'interruzione del carico di lavoro in Informazioni sulla migrazione a GKE Dataplane V2.
Prima di iniziare
Prima di avviare la migrazione, verifica che il cluster soddisfi i requisiti di idoneità e considera l'impatto sui carichi di lavoro.
Verifica che il cluster soddisfi questi requisiti:
- Il cluster è un cluster nativo di VPC.
- Il cluster esegue la versione 1.35.3-gke.1155000 o successive.
- I node pool eseguono la versione 1.35.1-gke.1516000 o successive.
- Se utilizzi Cloud Service Mesh o Istio open source, la versione di Istio è 1.23 o successive.
Prepara il cluster
Completa le seguenti attività prima di avviare la migrazione:
- Rimozione di NetworkPolicy: rimuovi le policy di rete esistenti. Se GKE applica improvvisamente le policy di rete quando ricrea i nodi, potresti riscontrare interruzioni di rete impreviste.
- Policy di rete Calico: se utilizzi un cluster GKE Standard con la policy di rete (Calico) abilitata, disattiva l'applicazione della policy di rete. Non puoi eseguire la migrazione diretta di questi cluster.
- Suggerimenti di Active Assist: controlla Active Assist o la pagina dei dettagli del cluster per i suggerimenti che potrebbero essere in conflitto con la migrazione.
- Capacità dell'indirizzo IP: verifica che l'intervallo di indirizzi IP dei pod del cluster abbia
una capacità sufficiente per le strategie di upgrade del pool di nodi. Per ulteriori informazioni,
consulta Informazioni sull'utilizzo degli indirizzi IP di GKE
insights.
- Funzionalità di rete: abilita le funzionalità di rete come NodeLocal DNSCache o la visibilità intranodo prima di avviare la migrazione o al termine della migrazione. Non puoi abilitarle durante la migrazione.
Comprendi le limitazioni
- Configurazioni di rete bloccate: dopo aver avviato la migrazione, non puoi modificare le configurazioni di rete a livello di cluster fino al completamento della migrazione.
- Periodi di manutenzione: la migrazione segue i periodi di manutenzione e le esclusioni dalla manutenzione, quindi potrebbe sembrare bloccata. Per velocizzarla, puoi applicare le patch ai node pool manualmente. Per la procedura, vedi Velocizzare la migrazione.
- Funzionalità facoltative di GKE Dataplane V2: configura le funzionalità facoltative di GKE Dataplane V2 come l'osservabilità di GKE Dataplane V2 o il supporto multi-rete per i pod, al termine della migrazione.
- Terraform: non puoi utilizzare Terraform per eseguire la migrazione a GKE Dataplane V2.
Avvia la migrazione
Per avviare manualmente la migrazione ed evitare i controlli diagnostici automatici, puoi applicare una patch al cluster utilizzando Google Cloud CLI.
Esegui questo comando:
gcloud container clusters update CLUSTER_NAME \
--location=LOCATION \
--enable-dataplane-v2
Sostituisci quanto segue:
CLUSTER_NAME: il nome del cluster.LOCATION: la località di computing del cluster.
Osserva l'avanzamento della migrazione
Puoi monitorare lo stato della migrazione controllando il campo datapathProvider.
Durante la transizione, questo campo mostra MIGRATE_TO_ADVANCED_DATAPATH.
Controlla lo stato del cluster:
gcloud container clusters describe CLUSTER_NAME \ --location=LOCATION \ --format='value(networkConfig.datapathProvider)'Sostituisci quanto segue:
CLUSTER_NAME: il nome del cluster.LOCATION: la località di computing del cluster.
Controlla lo stato del pool di nodi:
gcloud container node-pools list \ --cluster=CLUSTER_NAME \ --location=LOCATION \ --format='value(name, networkConfig.datapathProvider)'Sostituisci quanto segue:
CLUSTER_NAME: il nome del cluster.LOCATION: la località di computing del cluster.
Controlla il DaemonSet
anetdper verificare che gli agenti siano in esecuzione:kubectl get ds -n kube-system anetd
Velocizza la migrazione
Per ignorare la pianificazione di implementazione automatica, puoi applicare patch ai node pool manualmente.
Per applicare manualmente una patch a un pool di nodi, esegui il seguente comando:
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--location=LOCATION \
--datapath-provider=advanced-datapath
Sostituisci quanto segue:
NODE_POOL_NAME: il nome del pool di nodi.CLUSTER_NAME: il nome del cluster.LOCATION: la località di computing del cluster.
Finalizza la migrazione
Dopo che tutti i node pool sono stati migrati a GKE Dataplane V2, GKE finalizza automaticamente la migrazione. Al termine della migrazione, l'output comando mostra lo stato ADVANCED_DATAPATH e il cluster esegue GKE Dataplane V2.
Controlla il completamento verificando lo stato del cluster:
gcloud container clusters describe CLUSTER_NAME \
--location=LOCATION \
--format='value(networkConfig.datapathProvider)'
Sostituisci quanto segue:
CLUSTER_NAME: il nome del cluster.LOCATION: la località di computing del cluster.
Al termine della migrazione, l'output mostra ADVANCED_DATAPATH.
Esegui il rollback di una migrazione
Puoi ripristinare la migrazione a Dataplane V1 in qualsiasi momento prima del completamento della fase di finalizzazione. L'inversione della migrazione è un processo simmetrico alla migrazione in avanti: dopo aver avviato il rollback, GKE applica automaticamente le patch ai node pool al datapath legacy e poi finalizza il cluster.
Osserva l'integrità di
anetd: prima di eseguire il rollback della migrazione, controlla se gli agenti sono in esecuzione per determinare se l'errore può essere mitigato.kubectl get ds -n kube-system anetdAnnulla le operazioni del pool di nodi in corso:
Identifica e annulla tutte le operazioni pool di nodi in esecuzione che bloccherebbero la richiesta di patch del cluster.
gcloud container operations list \ --location=LOCATION \ --filter="operationType=UPGRADE_NODES AND status=RUNNING AND targetLink:*/clusters/CLUSTER_NAME"Sostituisci quanto segue:
LOCATION: la località di computing del cluster.CLUSTER_NAME: il nome del cluster.
Annulla l'operazione utilizzando l'ID operazione:
gcloud container operations cancel OPERATION_ID \ --location=LOCATIONSostituisci quanto segue:
OPERATION_ID: l'ID dell'operazione in esecuzione.LOCATION: la località di computing del cluster.
Avvia il rollback: invia una richiesta di patch del cluster per ripristinare la migrazione a Dataplane V1.
gcloud container clusters update CLUSTER_NAME \ --location=LOCATION \ --no-enable-dataplane-v2Sostituisci quanto segue:
CLUSTER_NAME: il nome del cluster.LOCATION: la località di computing del cluster.
Osserva l'pool di nodi pool: controlla lo stato del pool di nodi per verificare la migrazione al datapath legacy.
gcloud container node-pools list \ --cluster=CLUSTER_NAME \ --location=LOCATION \ --format='value(name, networkConfig.datapathProvider)'Sostituisci quanto segue:
CLUSTER_NAME: il nome del cluster.LOCATION: la località di computing del cluster.
Durante il rollback, l'output comando mostra lo stato
LEGACY_DATAPATHper i node pool a cui è stata applicata la patch.Osserva la finalizzazione: dopo che tutti i node pool sono stati migrati a Dataplane V1, GKE finalizza automaticamente la migrazione. Controlla il completamento verificando lo stato del cluster:
gcloud container clusters describe CLUSTER_NAME \ --location=LOCATION \ --format='value(networkConfig.datapathProvider)'Sostituisci quanto segue:
CLUSTER_NAME: il nome del cluster.LOCATION: la località di computing del cluster.
Al termine del rollback, l'output comando mostra lo stato
LEGACY_DATAPATH.
Risolvi i problemi relativi alla migrazione
Questa sezione fornisce informazioni utili per risolvere i problemi comuni che potresti riscontrare durante la migrazione a GKE Dataplane V2.
La migrazione del node pool non riesce
Durante la migrazione dei node pool, GKE utilizza la strategia di upgrade di sovraccarico o di upgrade blu/verde configurata per creare nuovi nodi prima di eliminare quelli precedenti. Se la tua Google Cloud zona non dispone di risorse sufficienti per il provisioning dei
nuovi nodi, la migrazione non riesce e viene visualizzato un errore GCE_STOCKOUT o
ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS. GKE tenta automaticamente di eseguire di nuovo la migrazione di questi node pool. Se applichi le patch ai node pool manualmente, attendi e riprova a eseguire la migrazione in un secondo momento, quando le risorse diventano disponibili.
Passaggi successivi
- Per saperne di più sull'osservabilità di GKE Dataplane V2, consulta GKE Dataplane V2 osservabilità.