A partire dalla versione 1.32, Google Kubernetes Engine (GKE) esegue la migrazione dei cluster in esecuzione
Da cgroupv1
a cgroupv2
. Questa pagina spiega come:
- Controlla la modalità cgroup in cui sono in esecuzione i nodi del cluster e se i carichi di lavoro potrebbero essere interessati dalla transizione tra le modalità cgroup.
- Esegui la migrazione dei pool di nodi del cluster GKE Standard a
cgroupv2
. - Disattiva temporaneamente la migrazione automatica dei pool di nodi di GKE
utilizzando
cgroupv1
percgroupv2
. Segui queste istruzioni se il tuo cluster esegue carichi di lavoro che potrebbero essere interessati dalla transizione tra le modalità cgroup.
Puoi eseguire la migrazione manuale o disattivare temporaneamente i pool di nodi standard. Non puoi eseguire la migrazione o disattivare temporaneamente i cluster Autopilot.
Puoi saltare la lettura di questa pagina se sai che i tuoi carichi di lavoro vengono eseguiti come previsto su cgroupv2
o non sono interessati dalla configurazione della modalità cgroup.
GKE esegue automaticamente la migrazione dei cluster che eseguono cgroupv1
cgroupv2
con versione 1.32 e successive.
Informazioni sui gruppi di controllo Linux
kubelet e runtime del container usano il kernel Linux
gruppi di controllo (cgroups) per la gestione delle risorse, ad esempio
come limitare la quantità di CPU o memoria a cui può accedere ciascun container in un pod. Esistono
due modalità del sottosistema cgroup nel kernel: cgroupv1
e cgroupv2
.
Il supporto di Kubernetes per cgroupv2
è stato introdotto come alpha nella versione 1.18 di Kubernetes, come beta nella versione 1.22 e come versione GA nella versione 1.25. Per ulteriori dettagli, consulta Kubernetes
cgroups v2
documentazione.
Per scoprire come configurare una modalità cgroup per i cluster Standard, consulta Configurazione della modalità cgroup Linux opzioni.
Come GKE sta effettuando la transizione a cgroupv2
Esamina la seguente sequenza temporale per capire in che modo GKE sta
effettuando la transizione dei cluster esistenti all'utilizzo di cgroupv2
:
- Per le versioni precedenti alla 1.26,
cgroupv1
era il valore predefinito per i nodi. Per versione 1.26 o successive,cgroupv2
è il valore predefinito per i nuovi nodi. Non viene apportata alcuna variazione ai nodi esistenti. Per saperne di più su quale modalità cgroup il tuo I cluster GKE vengono eseguiti per impostazione predefinita. Vedi Controllare la modalità cgroup di nodi cluster. - Con la versione secondaria 1.31, GKE ritira
cgroupv1
. - A partire dalla versione 1.32, GKE esegue la migrazione dei cluster che eseguono
cgroupv1
acgroupv2
. Puoi evitare temporaneamente che l'aggiornamento migrazione specificando esplicitamente che un pool di nodi utilizzacgroupv1
. - Con la versione secondaria 1.34, GKE rimuove il supporto di
cgroupv1
.
Per la tempistica approssimativa degli upgrade automatici a versioni secondarie successive, ad esempio 1.31 e 1.32, fai riferimento alla pianificazione della release prevista canali di YouTube.
Prima di iniziare
Prima di iniziare, assicurati di aver eseguito le seguenti attività:
- Attiva l'API Google Kubernetes Engine. Abilita l'API Google Kubernetes Engine
- Se vuoi utilizzare Google Cloud CLI per questa attività,
install e poi
inizializzare
con gcloud CLI. Se hai già installato gcloud CLI, ottieni la versione più recente eseguendo
gcloud components update
.
Controlla la modalità cgroup dei nodi del cluster
La modalità cgroup predefinita dipende dal tipo di cluster o pool di nodi e dalla versione. Con la versione 1.26 o successive, il valore predefinito è cgroupv2
. Con versione
1.25 o versioni precedenti, il valore predefinito è cgroupv1
:
- Per i cluster Autopilot e i nuovi pool di nodi dei cluster standard creati con il provisioning automatico dei nodi, la modalità cgroup si basa sulla versione iniziale del cluster.
- Per i pool di nodi dei cluster standard creati manualmente senza il provisioning automatico dei nodi, la modalità cgroup si basa sulla versione iniziale del pool di nodi.
Per controllare la modalità cgroup, segui le istruzioni in base alla modalità del cluster.
Autopilot
Esegui questo comando, sostituendo CLUSTER_NAME
con
il nome del tuo cluster:
gcloud container clusters describe CLUSTER_NAME \
--format='value(initialClusterVersion)'
GKE Autopilot creati inizialmente
La versione GKE 1.25 o precedente esegue cgroupv1
. Cluster inizialmente
creato con la versione 1.26 o successive esegui cgroupv2
.
Standard
Con i cluster GKE Standard, la modalità cgroup è impostata su
a livello del pool di nodi. Per controllare la modalità dei singoli pool di nodi, segui le istruzioni per verificare la configurazione del cgroup.
Se i nodi del tuo cluster utilizzano già cgroupv2
, non saranno necessarie ulteriori azioni
necessaria.
Esegui la migrazione dei nodi in cgroupv2
Ti consigliamo di eseguire la migrazione dei nodi esistenti prima che GKE lo faccia automaticamente nella versione 1.32 o successive. Puoi eseguire manualmente la migrazione dei pool di nodi standard. Non puoi eseguire la migrazione dei cluster Autopilot.
Completa questi passaggi per eseguire la migrazione dei nodi che eseguono cgroupv1
:
- Controlla la modalità cgroup dei nodi. Se i nodi del tuo cluster utilizzano già
cgroupv2
, non è necessaria alcuna azione ulteriore. - Esamina le considerazioni sulla migrazione, Migrazione a cgroup versione 2, per assicurarti che i carichi di lavoro siano pronti per utilizzare la nuova versione tramite Google Cloud CLI o tramite l'API Compute Engine.
Esegui la migrazione dei nodi per il cluster Standard aggiungendo quanto segue alla configurazione del sistema di nodi per ogni pool di nodi:
linuxConfig: cgroupMode: 'CGROUP_MODE_V2'
Disattiva temporaneamente la migrazione automatica a cgroupv2
Puoi disattivare temporaneamente i pool di nodi standard. Non puoi temporaneamente e disattivare i cluster Autopilot.
Per evitare temporaneamente la migrazione automatica dei pool di nodi dei cluster standard da cgroupv1
a cgroupv2
con le versioni minori 1.32 e successive, devi impostare esplicitamente cgroupv1
.
Per i pool di nodi standard esistenti, aggiungi quanto segue al sistema di nodi configurazione per ogni pool di nodi:
linuxConfig:
cgroupMode: 'CGROUP_MODE_V1'
Per saperne di più, consulta Personalizzazione del sistema di nodi configurazione.