Scalabilità automatica dei gruppi di nodi

Se utilizzi nodi single-tenant per i tuoi carichi di lavoro, puoi gestire automaticamente le dimensioni dei gruppi di nodi utilizzando il gestore della scalabilità automatica dei gruppi di nodi. Puoi configurare la scalabilità automatica durante la creazione di un gruppo di nodi o dopo la creazione di uno. Il gestore della scalabilità automatica può aiutarti a gestire automaticamente le dimensioni dei gruppi di nodi single-tenant:

  • Aumento delle dimensioni di un gruppo di nodi quando la capacità è insufficiente per un'altra istanza di macchina virtuale (VM) su quel gruppo di nodi. Quando il gestore della scalabilità automatica aumenta le dimensioni del gruppo di nodi, le VM vengono pianificate in modo trasparente.

  • Riduzione delle dimensioni di un gruppo di nodi quando sono presenti nodi vuoti, il che ti impedisce di pagare per i nodi single-tenant inutilizzati.

Il seguente diagramma illustra:

  1. Il gestore della scalabilità automatica dei gruppi di nodi esegue lo scale out aggiungendo un nuovo nodo a un gruppo di nodi in risposta al deployment di una VM in un gruppo di nodi senza nodi vuoti.

  2. Il gestore della scalabilità automatica dei gruppi di nodi scala rimuovendo un nodo vuoto da un gruppo di nodi single-tenant.

Gestore della scalabilità automatica del gruppo di nodi che gestisce le dimensioni del gruppo di nodi.

Modalità del gestore della scalabilità automatica

Per impostazione predefinita, il gestore della scalabilità automatica non è abilitato sui gruppi di nodi. Quando il gestore della scalabilità automatica non è abilitato, devi gestire manualmente le dimensioni dei gruppi di nodi. Se abiliti il gestore della scalabilità automatica su un gruppo di nodi, puoi specificare che il gestore della scalabilità automatica aumenti e diminuisca la dimensione del gruppo di nodi (scale out e scale in) oppure aumenta solo le dimensioni del gruppo (solo scale out).

Scale out e fare lo scale in

In questa modalità, il gestore della scalabilità automatica dei gruppi di nodi aumenta (scale out) e diminuisce (scala) le dimensioni dei gruppi di nodi. Per questa modalità, devi specificare una dimensione massima e una dimensione minima per il gruppo di nodi. Il gestore della scalabilità automatica non scala le dimensioni del gruppo di nodi al di sopra del valore massimo specificato o al di sotto del valore minimo specificato.

Il gestore della scalabilità automatica fa lo scale out delle dimensioni di un gruppo di nodi quando è presente una richiesta di pianificazione di una VM su un gruppo di nodi che non ha capacità per un'altra VM. Al contrario, il gestore della scalabilità automatica scala le dimensioni di un gruppo di nodi quando è presente un nodo vuoto nel gruppo di nodi.

Solo scale out

Con questa modalità, il gestore della scalabilità automatica aumenta le dimensioni del gruppo di nodi in risposta alle richieste di pianificazione delle VM, ma non rimuove i nodi vuoti dai gruppi di nodi. Google consiglia questa modalità per l'aumento monotonico di carichi di lavoro o carichi di lavoro che richiedono affinità dei server fisici, ad esempio i carichi di lavoro BYOL, che richiedono la residenza delle licenze sullo stesso server fisico.

Devi utilizzare questa modalità se i gruppi di nodi sono configurati con il criterio di manutenzione Esegui la migrazione all'interno del gruppo di nodi.

Intervallo di dimensioni di un gruppo di nodi

Quando abiliti il gestore della scalabilità automatica, imposti l'intervallo di dimensioni del gruppo di nodi specificando un valore minimo e un valore massimo per la dimensione del gruppo di nodi.

Se non specifichi un valore per la dimensione minima, il gestore della scalabilità automatica imposta la dimensione minima su zero (0). Se specifichi un valore per la dimensione minima, questo deve essere un numero intero maggiore o uguale a 0 e deve essere minore o uguale alla dimensione massima.

Devi specificare un valore per la dimensione massima del gruppo di nodi. Il valore deve essere un numero intero maggiore o uguale a 0 e minore o uguale a 100, ovvero la dimensione massima consentita per un gruppo di nodi single-tenant, e deve essere maggiore o uguale al valore minimo specificato.

Per supportare carichi di lavoro che potrebbero superare la dimensione massima di 100 per un gruppo di nodi, crea più gruppi di nodi con etichette di affinità corrispondenti, ad esempio workload:in:my-autoscaled-node-groups. Quindi, pianifica le VM utilizzando l'etichetta di affinità e abilita la scalabilità automatica su ciascun gruppo per creare un gruppo di gruppi di nodi con scalabilità dinamica.

Disponibilità

Puoi utilizzare il gestore della scalabilità automatica dei nodi single-tenant solo nelle regioni che supportano i nodi single-tenant.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale viene verificata l'identità per l'accesso ai servizi e alle API Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti in Compute Engine nel seguente modo.

    Seleziona la scheda relativa a come intendi utilizzare gli esempi in questa pagina:

    Console

    Quando utilizzi la console Google Cloud per accedere ai servizi e alle API di Google Cloud, non devi configurare l'autenticazione.

    gcloud

    1. Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init
    2. Imposta una regione e una zona predefinite.

    REST

    Per utilizzare gli esempi di API REST su questa pagina in un ambiente di sviluppo locale, devi utilizzare le credenziali che fornisci a gcloud CLI.

      Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init

Abilita il gestore della scalabilità automatica dei gruppi di nodi

Configura la scalabilità automatica su un nuovo gruppo di nodi.

gcloud

L'esempio seguente mostra come utilizzare il comando node-groups create per abilitare il gestore della scalabilità automatica durante la creazione di un gruppo di nodi. Per aggiungere un gestore della scalabilità automatica a un gruppo di nodi esistente, utilizza il comando node-groups update.

gcloud compute sole-tenancy node-groups create group-name \
    --node-template template-name \
    --target-size size \
    --maintenance-policy maintenance-policy \
    --zone zone \
    --autoscaler-mode mode \
    --max-nodes max-nodes \
    --min-nodes min-nodes

Sostituisci quanto segue:

  • group-name: nome del gruppo di nodi da creare.
  • template-name: nome del modello di nodo da cui creare il gruppo di nodi.
  • size: numero iniziale di nodi target nel gruppo di nodi.
  • maintenance-policy: specifica se viene eseguita la migrazione delle VM e se vengono riavviate durante gli eventi di manutenzione dell'host. Impostalo su uno dei seguenti valori:
    • default: viene eseguita la migrazione live delle VM su un nuovo nodo.
    • migrate-within-node-group: le VM eseguono la migrazione live a un altro nodo nel gruppo di nodi.
    • restart-in-place: le VM vengono riavviate sullo stesso nodo dopo essere state terminate a causa di un evento di manutenzione.
  • zone: zona in cui creare il gruppo di nodi.
  • mode: modalità per il gestore della scalabilità automatica su questo gruppo di nodi. Imposta uno dei seguenti valori:
    • off: disattiva il gestore della scalabilità automatica.
    • on: consente di fare lo scale in e lo scale out.
    • only-scale-out: attiva solo lo scale out. Devi utilizzare questa modalità se i tuoi gruppi di nodi sono configurati per riavviare le VM ospitate su server minimi.
  • max-nodes: dimensione massima del gruppo di nodi. Imposta un valore minore o uguale a 100 e maggiore o uguale a min-nodes.
  • min-nodes: dimensione minima del gruppo di nodi e deve essere un valore intero minore o uguale a max-nodes. Il valore predefinito è 0.

REST

L'esempio seguente mostra come utilizzare il comando nodeGroups.insert per abilitare il gestore della scalabilità automatica durante la creazione di un gruppo di nodi. Per aggiungere un gestore della scalabilità automatica a un gruppo di nodi esistente, utilizza il comando nodeGroups.patch.

POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/nodeGroups?initialNodeCount=initial-node-count

  {
    "name": "group-name",
    "nodeTemplate": "template-name",
    "autoscalingPolicy": {
      "mode": "mode",
      "min_nodes": min-nodes,
      "max_nodes": max-nodes
    }
    "maintenancePolicy": maintenance-policy
  }

Sostituisci quanto segue:

  • project-id: ID del progetto a cui aggiungere un gruppo di nodi con un gestore della scalabilità automatica.
  • zone: zona in cui creare il nuovo gruppo di nodi.
  • initial-node-count: obbligatorio durante la creazione del gruppo di nodi. Specifica il numero iniziale di nodi nel gruppo di nodi. Se il valore di min-nodes è maggiore del numero iniziale di nodi, viene fatto lo scale out delle dimensioni del gruppo di nodi impostandolo sul valore min-nodes.
  • group-name: nome del nuovo gruppo di nodi.
  • template-name: nome del modello di nodo da cui creare il gruppo di nodi.
  • mode: modalità per il gestore della scalabilità automatica su questo gruppo di nodi. Imposta uno dei seguenti valori:
    • OFF: disattiva il gestore della scalabilità automatica.
    • ON: consente di fare lo scale in e lo scale out.
    • ONLY_SCALE_OUT: attiva solo lo scale out. Devi utilizzare questa modalità se i tuoi gruppi di nodi sono configurati per riavviare le VM ospitate su server minimi.
  • max-nodes: dimensione massima del gruppo di nodi. Imposta un valore minore o uguale a 100 e maggiore o uguale a min-nodes.
  • min-nodes: dimensione minima del gruppo di nodi e deve essere un valore intero minore o uguale a max-nodes. Il valore predefinito è 0.
  • maintenance-policy: specifica se viene eseguita la migrazione delle VM e se vengono riavviate durante gli eventi di manutenzione dell'host. Imposta questo valore su uno dei seguenti valori:
    • DEFAULT: viene eseguita la migrazione live delle VM su un nuovo nodo.
    • MIGRATE_WITHIN_NODE_GROUP: le VM eseguono la migrazione live a un altro nodo nel gruppo di nodi.
    • RESTART_IN_PLACE: le VM vengono riavviate sullo stesso nodo dopo essere state terminate a causa di un evento di manutenzione.

Aggiorna le impostazioni del gestore della scalabilità automatica

Modifica le impostazioni del gestore della scalabilità automatica su un gruppo di nodi aggiornando la modalità del gestore della scalabilità automatica o le dimensioni minima e massima del gruppo di nodi.

gcloud

L'esempio seguente mostra come utilizzare il comando node-groups update per modificare la modalità del gestore della scalabilità automatica su un gruppo di nodi.

gcloud compute sole-tenancy node-groups update name \
    --autoscaler-mode mode \
    --max-nodes max-nodes \
    --min-nodes min-nodes

Sostituisci quanto segue:

  • name: nome del gruppo di nodi su cui modificare la modalità del gestore della scalabilità automatica.
  • mode: modalità per il gestore della scalabilità automatica su questo gruppo di nodi. Imposta uno dei seguenti valori:
    • off: disattiva il gestore della scalabilità automatica.
    • on: consente di fare lo scale in e lo scale out.
    • only-scale-out: attiva solo lo scale out. Devi utilizzare questa modalità se i tuoi gruppi di nodi sono configurati per riavviare le VM ospitate su server minimi.
  • max-nodes: dimensione massima del gruppo di nodi. Imposta un valore minore o uguale a 100 e maggiore o uguale a min-nodes.
  • min-nodes: dimensione minima del gruppo di nodi e deve essere un valore intero minore o uguale a max-nodes. Il valore predefinito è 0.

REST

L'esempio seguente mostra come utilizzare il comando nodeGroups.patch per modificare la modalità di un gestore della scalabilità automatica su un gruppo di nodi.

PATCH https://compute.googleapis.com/compute/beta/projects/project-id/zones/group-zone/nodeGroups/group-name

{
  "nodeTemplate": "template-name",
  "autoscalingPolicy": {
    "mode": "mode",
    "minSize": min-nodes,
    "maxSize": max-nodes
  }
}

Sostituisci quanto segue:

  • project-id: ID del progetto contenente il gruppo di nodi per cui modificare la modalità del gestore della scalabilità automatica.
  • group-zone: zona contenente il gruppo di nodi per cui modificare la modalità del gestore della scalabilità automatica.
  • group-name: nome del gruppo di nodi per il quale modificare la modalità del gestore della scalabilità automatica.
  • template-name: nome del modello di nodo da cui è stato creato il gruppo di nodi.
  • mode: modalità per il gestore della scalabilità automatica su questo gruppo di nodi. Imposta il valore su uno dei seguenti valori:

    • OFF: disattiva il gestore della scalabilità automatica.
    • ON: consente di fare lo scale in e lo scale out.

    • ONLY_SCALE_OUT: attiva solo lo scale out. Devi utilizzare questa modalità se i gruppi di nodi sono configurati con il criterio di manutenzione Esegui la migrazione all'interno del gruppo di nodi.

  • max-nodes: dimensione massima del gruppo di nodi. Imposta un valore minore o uguale a 100 e maggiore o uguale a min-nodes.

  • min-nodes: dimensione minima del gruppo di nodi e deve essere un valore intero minore o uguale a max-nodes. Il valore predefinito è 0.

Aggiorna manualmente la dimensione dei gruppi di nodi con scalabilità automatica

Quando il gestore della scalabilità automatica è abilitato, le dimensioni del gruppo di nodi vengono gestite automaticamente, ma puoi pianificare o rimuovere le VM su quel gruppo di nodi per aggiornare manualmente le dimensioni del gruppo in modo efficace.

Per ridurre manualmente le dimensioni di un gruppo di nodi con scalabilità automatica, elimina le VM dal nodo finché il nodo non è vuoto. Quando il nodo è vuoto, il gestore della scalabilità automatica rimuove il nodo vuoto, riducendo così le dimensioni del gruppo di nodi.

Per aumentare manualmente le dimensioni di un gruppo di nodi con scalabilità automatica, imposta la dimensione minima del gruppo su un valore maggiore di quello attuale. Quando la dimensione minima di un gruppo è impostata su un valore maggiore di quella attuale, il gestore della scalabilità automatica riduce la dimensione del gruppo in base alla dimensione minima appena specificata.

Quando i gruppi di nodi sono impostati solo sullo scale out, il gestore della scalabilità automatica gestisce automaticamente l'aumento delle dimensioni dei gruppi e disabilita gli aumenti manuali delle dimensioni dei gruppi. Con questa impostazione, puoi ridurre le dimensioni di un gruppo rimuovendo le VM da un nodo finché quest'ultimo non è vuoto, dopodiché puoi rimuovere il nodo vuoto.

Disabilita il gestore della scalabilità automatica

Quando non hai più bisogno di utilizzare il gestore della scalabilità automatica per gestire automaticamente le dimensioni dei gruppi di nodi o se devi gestire manualmente le dimensioni dei gruppi di nodi, disabilita il gestore della scalabilità automatica.

gcloud

gcloud compute sole-tenancy node-groups update name \
    --autoscaler-mode OFF

Sostituisci name con il nome del gruppo di nodi da cui rimuovere il criterio di scalabilità automatica.

REST

L'esempio seguente mostra come utilizzare il comando nodeGroups.patch per disattivare un gestore della scalabilità automatica su un gruppo di nodi.

PATCH https://compute.googleapis.com/compute/beta/projects/project-id/zones/group-zone/nodeGroups/group-name

{
  "nodeTemplate": "template-name",
  "autoscalingPolicy": {
    "mode": "mode"
  }
}

Sostituisci quanto segue:

  • project-id: ID del progetto contenente il gruppo di nodi per cui modificare la modalità del gestore della scalabilità automatica.
  • group-zone: zona contenente il gruppo di nodi per cui modificare la modalità del gestore della scalabilità automatica.
  • group-name: nome del gruppo di nodi per il quale modificare la modalità del gestore della scalabilità automatica.
  • template-name: nome del modello di nodo da cui è stato creato il gruppo di nodi.
  • mode: modalità per il gestore della scalabilità automatica su questo gruppo di nodi. Imposta su OFF per disabilitare il gestore della scalabilità automatica in questo gruppo di nodi.

Visualizza l'attività del gestore della scalabilità automatica

Nella console Google Cloud, visualizza il gestore della scalabilità automatica che regola le dimensioni dei gruppi di nodi. La console Google Cloud mostra la dimensione attuale del gruppo di nodi e, se il gestore della scalabilità automatica sta regolando le dimensioni del gruppo, puoi anche vedere la dimensione target del gruppo di nodi.

Console

  1. Nella console Google Cloud, vai alla pagina Nodi single-tenant.

    Vai ai nodi single-tenant

  2. Fai clic su Gruppi di nodi.

  3. Visualizza il numero di nodi in ogni gruppo di nodi e, se Compute Engine scala il gruppo, puoi anche visualizzare il numero di nodi target.

Passaggi successivi