Gruppi di nodi con scalabilità automatica

Se utilizzi nodi single-tenant per i tuoi workload, 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 o dopo la creazione di un gruppo di nodi.

Il gestore della scalabilità automatica può aiutarti a gestire automaticamente le dimensioni dei gruppi di nodi single-tenant nei modi seguenti:

  • Aumentando le dimensioni di un gruppo di nodi quando la capacità non è sufficiente per un'altra istanza di macchina virtuale (VM) in quel gruppo di nodi. Dopo che il gestore della scalabilità automatica ha aumentato le dimensioni del gruppo di nodi, le VM vengono pianificate in modo trasparente.

  • Riducendo le dimensioni di un gruppo di nodi quando sono presenti nodi vuoti, in modo da non pagare per i nodi single-tenant inutilizzati.

Durante l'applicazione della scalabilità a un gruppo di nodi, il gestore della scalabilità automatica prende in considerazione la capacità richiesta per la VM pianificata, la capacità libera sui nodi di destinazione e la policy di scalabilità automatica del gruppo di nodi. La capacità richiesta si basa solo sulle dimensioni della VM. La capacità libera viene stimata in base alle dimensioni del nodo, alle VM già pianificate e al rapporto di overcommit della CPU facoltativo.

Il seguente diagramma mostra:

  1. Il gestore della scalabilità automatica del gruppo di nodi che 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 del gruppo di nodi che esegue lo scale in 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 è attivato nei gruppi di nodi. Quando il gestore della scalabilità automatica non è attivato, devi gestire manualmente le dimensioni dei gruppi di nodi. Se attivi il gestore della scalabilità automatica su un gruppo di nodi, puoi specificare che aumenti e diminuisca le dimensioni del gruppo di nodi (scale out e scale in) oppure che aumenti solo le dimensioni del gruppo (solo scale out).

Scale out e scale in

In questa modalità, il gestore della scalabilità automatica dei gruppi di nodi aumenta (scale out) e diminuisce (scale in) 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 aumenterà o diminuirà le dimensioni del gruppo di nodi oltre il valore massimo o al di sotto del valore minimo specificato.

Lo scale out viene attivato quando la pianificazione di una VM non riesce a causa della mancanza di capacità. Per risolvere il problema, viene aggiunto un nuovo nodo al gruppo e l'operazione viene riprovata.

Lo scale in viene attivato quando un nodo rimane vuoto per un determinato periodo di tempo. Un nodo vuoto è il risultato dell'eliminazione o della migrazione di una VM dal gruppo di nodi. Se la policy di scalabilità automatica del gruppo di nodi lo consente, viene pianificata la rimozione del nodo vuoto dopo un periodo di stabilizzazione. Il periodo di stabilizzazione garantisce che il nodo sia ancora disponibile se devi utilizzarlo.

Solo scale out

In 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 i workload con aumento monotono o per i workload che richiedono l'affinità con il server fisico, ad esempio i workload BYOL, che richiedono che le licenze si trovino sullo stesso server fisico.

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

Intervallo di dimensioni di un gruppo di nodi

Quando attivi il gestore della scalabilità automatica, imposti l'intervallo di dimensioni del gruppo di nodi specificando un valore minimo e massimo per le dimensioni 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, deve essere un numero intero maggiore o uguale a 0 e 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 (la dimensione massima consentita per un gruppo di nodi single-tenant) e maggiore o uguale al valore minimo specificato.

Per supportare i workload 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 attiva 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 la tua identità viene verificata per l'accesso a servizi e API di Trusted Cloud by S3NS . Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, and then sign in to the gcloud CLI with your federated identity. After signing in, initialize the Google Cloud CLI by running the following command:

      gcloud init
    2. Set a default region and zone.

    REST

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

      Install the Google Cloud CLI, and then sign in to the gcloud CLI with your federated identity. After signing in, initialize the Google Cloud CLI by running the following command:

      gcloud init

    Per saperne di più, consulta Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Trusted Cloud .

Attiva il gestore della scalabilità automatica del gruppo 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 attivare il gestore della scalabilità automatica quando crei 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: il nome del gruppo di nodi da creare.
  • template-name: il nome del template di nodo da cui creare il gruppo di nodi.
  • size: il numero di nodi target iniziale nel gruppo di nodi.
  • maintenance-policy: specifica se le VM vengono migrate e se vengono riavviate durante gli eventi di manutenzione dell'host. Imposta uno dei seguenti valori:
    • default: viene eseguita la migrazione live delle VM a un nuovo nodo.
    • migrate-within-node-group: viene eseguita la migrazione live delle VM a un altro nodo nel gruppo di nodi.
    • restart-in-place: le VM vengono riavviate sullo stesso nodo dopo l'arresto a causa di un evento di manutenzione.
  • zone: la zona in cui creare il gruppo di nodi.
  • mode: la 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: attiva 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 per riavviare le VM ospitate su server minimi.
  • max-nodes: la dimensione massima del gruppo di nodi. Imposta un valore minore o uguale a 100 e maggiore o uguale a min-nodes.
  • min-nodes: la dimensione minima del gruppo di nodi, 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 attivare il gestore della scalabilità automatica quando crei 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: l'ID del progetto per cui aggiungere un gruppo di nodi con un gestore della scalabilità automatica.
  • zone: la 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 al valore di min-nodes.
  • group-name: il nome del nuovo gruppo di nodi.
  • template-name: il nome del template di nodo da cui creare il gruppo di nodi.
  • mode: la 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: attiva 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 per riavviare le VM ospitate su server minimi.
  • max-nodes: la dimensione massima del gruppo di nodi. Imposta un valore minore o uguale a 100 e maggiore o uguale a min-nodes.
  • min-nodes: la dimensione minima del gruppo di nodi, deve essere un valore intero minore o uguale a max-nodes. Il valore predefinito è 0.
  • maintenance-policy: specifica se le VM vengono migrate e se vengono riavviate durante gli eventi di manutenzione dell'host. Imposta uno dei seguenti valori:
    • DEFAULT: viene eseguita la migrazione live delle VM a un nuovo nodo.
    • MIGRATE_WITHIN_NODE_GROUP: viene eseguita la migrazione live delle VM a un altro nodo nel gruppo di nodi.
    • RESTART_IN_PLACE: le VM vengono riavviate sullo stesso nodo dopo l'arresto a causa di un evento di manutenzione.

Aggiorna le impostazioni del gestore della scalabilità automatica

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

gcloud

L'esempio seguente mostra come utilizzare il comando node-groups update per cambiare 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: il nome del gruppo di nodi su cui cambiare la modalità del gestore della scalabilità automatica.
  • mode: la 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: attiva 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 per riavviare le VM ospitate su server minimi.
  • max-nodes: la dimensione massima del gruppo di nodi. Imposta un valore minore o uguale a 100 e maggiore o uguale a min-nodes.
  • min-nodes: la dimensione minima del gruppo di nodi, 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 cambiare la modalità di un gestore della scalabilità automatica in 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: l'ID del progetto contenente il gruppo di nodi per cui cambiare la modalità del gestore della scalabilità automatica.
  • group-zone: la zona contenente il gruppo di nodi per il quale cambiare la modalità del gestore della scalabilità automatica.
  • group-name: il nome del gruppo di nodi per il quale cambiare la modalità del gestore della scalabilità automatica.
  • template-name: il nome del template di nodo da cui è stato creato il gruppo di nodi.
  • mode: la 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: attiva 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 la policy di manutenzione Esegui la migrazione all'interno del gruppo di nodi.

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

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

Aggiorna manualmente le dimensioni dei gruppi di nodi con scalabilità automatica

Quando il gestore della scalabilità automatica è attivato, le dimensioni del gruppo di nodi vengono gestite automaticamente, ma puoi pianificare o rimuovere le VM sul gruppo di nodi per aggiornare manualmente le dimensioni del gruppo.

Per ridurre manualmente le dimensioni di un gruppo di nodi con scalabilità automatica, elimina le VM dal nodo finché non è vuoto. Quando il nodo è vuoto, il gestore della scalabilità automatica lo rimuove, riducendo 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 della dimensione attuale. Quando la dimensione minima di un gruppo è impostata su un valore maggiore di quella attuale, il gestore della scalabilità automatica esegue lo scale out delle dimensioni del gruppo fino alla nuova dimensione minima specificata.

Quando i gruppi di nodi sono impostati solo per lo scale out, il gestore della scalabilità automatica gestisce automaticamente gli aumenti delle dimensioni del gruppo e disattiva gli aumenti manuali. Con questa impostazione, puoi ridurre le dimensioni di un gruppo rimuovendo le VM da un nodo fino a quando il nodo non è vuoto, quindi puoi rimuovere il nodo vuoto.

Disattiva 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, oppure se devi gestirle manualmente, disattiva 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 la policy 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: l'ID del progetto contenente il gruppo di nodi per cui cambiare la modalità del gestore della scalabilità automatica.
  • group-zone: la zona contenente il gruppo di nodi per il quale cambiare la modalità del gestore della scalabilità automatica.
  • group-name: il nome del gruppo di nodi per il quale cambiare la modalità del gestore della scalabilità automatica.
  • template-name: il nome del template di nodo da cui è stato creato il gruppo di nodi.
  • mode: la modalità per il gestore della scalabilità automatica su questo gruppo di nodi. Imposta su OFF per disattivare il gestore della scalabilità automatica su questo gruppo di nodi.

Visualizza l'attività del gestore della scalabilità automatica

Nella console Trusted Cloud , visualizza il gestore della scalabilità automatica che regola le dimensioni dei gruppi di nodi. La console Trusted Cloud mostra le dimensioni attuali del gruppo di nodi e, se il gestore della scalabilità automatica sta regolando le dimensioni del gruppo, puoi anche vedere le dimensioni predefinite.

Console

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

    Vai a Nodi single-tenant

  2. Fai clic su Gruppi di nodi.

  3. Visualizza il numero di nodi in ogni gruppo di nodi; se Compute Engine esegue il ridimensionamento del gruppo di nodi, puoi anche visualizzare il numero di nodi target.

Passaggi successivi