Esegui la migrazione di un cluster utente al piano di controllo V2

Questo documento mostra come eseguire la migrazione di un cluster utente versione 1.29 o successiva utilizzando kubeception al piano di controllo V2.

1.29: Anteprima
1.28: Non disponibile
1.16: Non disponibile

Informazioni sui piani di controllo dei cluster utente

Prima della versione 1.13 di Google Distributed Cloud, il piano di controllo per un cluster utente veniva eseguito su uno o più nodi in un cluster di amministrazione. Questo tipo di piano di controllo è chiamato kubeception. Nella versione 1.13, è stata introdotta la versione 2 del piano di controllo per i nuovi cluster utente. Quando il piano di controllo V2 è abilitato, il piano di controllo per il cluster utente viene eseguito nel cluster utente stesso.

Ecco alcuni vantaggi del piano di controllo V2:

  • Isolamento per errore. L'errore di un cluster di amministrazione non influisce sui cluster utente.

  • Separazione operativa. L'upgrade del cluster di amministrazione non causa tempi di inattività per i cluster utente.

  • Separazione dei deployment. Puoi posizionare i cluster di amministrazione e utente in siti geografici o domini in errore diversi. Ad esempio, un cluster utente in una località perimetrale potrebbe trovarsi in un sito geografico diverso dal cluster di amministrazione.

Requisiti

Per eseguire la migrazione di un cluster utente al piano di controllo V2, il cluster utente deve soddisfare i seguenti requisiti:

  • La versione del cluster utente deve essere 1.29 o successiva. Il cluster di amministrazione e i pool di nodi possono essere una o due versioni secondarie inferiori al cluster utente. Se necessario, esegui l'upgrade del cluster.

  • Nel cluster utente deve essere abilitato Dataplane V2. Questo campo è immutabile, quindi se Dataplane V2 non è abilitato sul cluster, non puoi eseguirne la migrazione al piano di controllo V2.

  • Il cluster utente deve essere configurato in modo da utilizzare MetalLB o un bilanciatore del carico manuale. Se il cluster utente utilizza il bilanciatore del carico SeeSaw, puoi eseguire la migrazione a MetalLB.

  • Esamina il documento di pianificazione degli indirizzi IP e assicurati che sia disponibile un numero sufficiente di indirizzi IP per i nodi del piano di controllo del cluster utente. I nodi del piano di controllo richiedono indirizzi IP statici e avrai bisogno di un indirizzo IP aggiuntivo per un nuovo IP virtuale (VIP) del piano di controllo.

Aggiorna il file di configurazione del cluster utente

Apporta le seguenti modifiche al file di configurazione del cluster utente esistente:

  1. Imposta enableControlplaneV2 su true.

  2. Facoltativamente, rendi il piano di controllo ad alta disponibilità (HA) per il cluster utente del piano di controllo V2. Per passare da un cluster non ad alta disponibilità a uno ad alta disponibilità, modifica masterNode.replicas da 1 a 3.

  3. Aggiungi l'indirizzo o gli indirizzi IP statici per i nodi del piano di controllo del cluster utente alla sezione network.controlPlaneIPBlock.ips. Rimuovi l'indirizzo o gli indirizzi IP dei nodi del piano di controllo del cluster utente kubeception dal file dei blocchi IP del cluster di amministrazione.

  4. Compila la maschera di rete e il gateway nella sezione network.controlPlaneIPBlock.

  5. Se la sezione network.hostConfig è vuota, compilala.

  6. Se il cluster utente utilizza il bilanciamento del carico manuale, configura il bilanciatore del carico in modo da includere gli IP dei nodi del piano di controllo per il traffico del piano dati:

    • (ingressVIP:80) -> (CP_NODE_IP_ADDRESSES:ingressHTTPNodePort)
    • (ingressVIP:443) -> (CP_NODE_IP_ADDRESSES:ingressHTTPSNodePort)
  7. Aggiorna il campo loadBalancer.vips.controlPlaneVIP con il nuovo indirizzo IP per il VIP del piano di controllo.

  8. Tutti i campi precedenti sono immutabili, tranne durante l'aggiornamento del cluster per la migrazione. Assicurati di controllare attentamente tutte le impostazioni.

  9. Esegui gkectl diagnose cluster e risolvi gli eventuali problemi rilevati dal comando.

    gkectl diagnose cluster --kubeconfig=ADMIN_CLUSTER_KUBECONFIG \
          --cluster-name=USER_CLUSTER_NAME

    Sostituisci quanto segue:

    • ADMIN_CLUSTER_KUBECONFIG: il percorso del file kubeconfig del cluster di amministrazione.

    • CLUSTER_NAME: il nome del cluster utente.

Regola la configurazione manuale del bilanciatore del carico

Se il cluster utente utilizza il bilanciamento del carico manuale, esegui il passaggio in questa sezione. In caso contrario, salta questa sezione.

Analogamente a configurare il bilanciatore del carico per un cluster utente CPv2, configura le mappature nel bilanciatore del carico per ciascuno dei tre nuovi indirizzi IP dei nodi del piano di controllo specificati nella sezione network.controlPlaneIPBlock:

  • (ingressVIP:80) -> (NEW_NODE_IP_ADDRESS:ingressHTTPNodePort)
  • (ingressVIP:443) -> (NEW_NODE_IP_ADDRESS:ingressHTTPNodePort)

Aggiorna il cluster

Esegui questo comando per eseguire la migrazione del cluster a Controlplane V2:

gkectl update cluster \
    --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
    --config USER_CLUSTER_CONFIG

Sostituisci quanto segue:

  • ADMIN_CLUSTER_KUBECONFIG: il percorso del file kubeconfig del cluster di amministrazione.

  • USER_CLUSTER_CONFIG: il percorso del file di configurazione del cluster utente.