Ridimensionamento automatico dei nodi

In Google Distributed Cloud, puoi attivare il ridimensionamento automatico dei nodi per un cluster. Il ridimensionamento comporta la modifica delle risorse di CPU e memoria assegnate a un nodo.

Se il ridimensionamento automatico dei nodi è abilitato per un cluster amministrativo, i nodi aggiuntivi nel cluster amministrativo vengono ridimensionati in base al numero totale di nodi nel cluster amministrativo. Per ogni cluster utente, nel cluster di amministrazione sono presenti uno o più nodi del piano di controllo. Pertanto, man mano che crei più cluster utente, il numero totale di nodi nel cluster di amministrazione aumenta e le dimensioni dei nodi aggiuntivi nel cluster di amministrazione vengono aumentate automaticamente.

Se il ridimensionamento automatico dei nodi è abilitato per un cluster utente, i nodi del piano di controllo per il cluster utente vengono ridimensionati in base al numero di nodi nel cluster utente. Pertanto, man mano che aggiungi altri nodi worker al cluster utente, le dimensioni dei nodi del piano di controllo aumentano. Ricorda che i nodi del piano di controllo per il cluster utente si trovano nel cluster di amministrazione.

Un cluster utente ad alta disponibilità (HA) ha tre nodi del piano di controllo nel cluster di amministrazione, mentre un cluster utente non HA ha un nodo del piano di controllo nel cluster di amministrazione. Il ridimensionamento di un nodo richiede la sua ricreazione. Pertanto, quando il nodo del piano di controllo per un cluster utente non ad alta disponibilità viene ridimensionato, potrebbe verificarsi un breve tempo di inattività.

Attivare il ridimensionamento dei nodi per i nodi dei componenti aggiuntivi di un cluster di amministrazione

Nel file di configurazione del cluster di amministrazione, imposta addonNode.autoResize.enabled su true:

addonNode:
  autoResize:
    enabled: true

Per un nuovo cluster di amministrazione, segui le istruzioni riportate in Creare un cluster di amministrazione.

Per un cluster di amministrazione esistente:

gkectl update admin --config ADMIN_CLUSTER_CONFIG --kubeconfig ADMIN_CLUSTER_KUBECONFIG

Sostituisci quanto segue:

  • ADMIN_CLUSTER_CONFIG: il percorso del file di configurazione del cluster di amministrazione

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

Attivare il ridimensionamento dei nodi del piano di controllo di un cluster utente

Nel file di configurazione del cluster utente, imposta masterNode.autoResize.enabled su true:

masterNode:
  autoResize:
    enabled: true

Per un nuovo cluster di utenti, segui le istruzioni riportate in Creazione di un cluster di utenti.

Per un cluster esistente:

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

Dopo aver attivato il ridimensionamento automatico dei nodi per un cluster utente, qualsiasi tentativo di cambiare la CPU o la memoria di un nodo del control plane eseguendo gkectl update viene rifiutato. Se vuoi utilizzare gkectl update per modificare la CPU o la memoria di un nodo del control plane del cluster utente, devi disattivare il ridimensionamento automatico dei nodi.

Disattivare il ridimensionamento dei nodi per i nodi dei componenti aggiuntivi di un cluster di amministrazione

Nel file di configurazione del cluster di admin, imposta addonNode.autoResize.enabled su false:

addonNode:
  autoResize:
    enabled: false

Aggiorna il cluster:

gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG

Disattivare il ridimensionamento dei nodi per i nodi del piano di controllo di un cluster utente

Nel file di configurazione del cluster utente, imposta masterNode.autoResize.enabled su false:

masterNode:
  autoResize:
    enabled: false

Aggiorna il cluster:

gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG

Quando disattivi il ridimensionamento automatico dei nodi per un cluster utente, la CPU e la memoria per i nodi del piano di controllo vengono riconciliati in modo da corrispondere ai valori di CPU e memoria specificati nel file di configurazione del cluster utente.

Log ed eventi

Per trovare il nome del pod con ridimensionamento automatico:

kubectl --kubeconfig ADMIN_KUBECONFIG describe deployment auto-resize-controller

Il nome del pod ha il formato auto-resize-controller-xxxxx.

Per visualizzare i log del pod con ridimensionamento automatico:

kubectl --kubeconfig ADMIN_KUBECONFIG logs AUTO_RESIZE_POD_NAME

Il controller di ridimensionamento automatico genera eventi sugli oggetti MachineDeployment per fornire visibilità sulle decisioni e sulle azioni pertinenti al ridimensionamento.

Per trovare i nomi dei deployment di macchine:

kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get machinedeployments --all-namespaces

Per visualizzare gli eventi:

kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG describe machinedeployment USER_CONTROL_PLANE_NODE_MACHINE_DEPLOYMENT
kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG describe machinedeployment ADMIN_ADDON_NODE_MACHINE_DEPLOYMENT