Gruppi di nodi con scalabilità automatica


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

Il gestore della scalabilità automatica può aiutarti a gestire automaticamente le dimensioni raggruppa i nodi single-tenant per:

  • Aumentare la dimensione di un gruppo di nodi quando non è disponibile capacità sufficiente per su un'altra istanza di macchina virtuale (VM) in quel gruppo di nodi. Dopo che lo strumento di scalabilità automatica ha aumentato le dimensioni del gruppo di nodi, le VM vengono pianificate in modo trasparente.

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

Mentre scala un gruppo di nodi, il gestore della scalabilità automatica considera la capacità richiesta la VM pianificata, la capacità gratuita sui nodi che ha scelto come target e il criterio di scalabilità automatica del gruppo di nodi. La capacità richiesta si basa solo in base alle dimensioni della VM. La capacità gratuita viene stimata in base alle dimensioni al 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 esegue l'espansione 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 rimuovendo un nodo vuoto da un di un gruppo di nodi single-tenant.

Gestore della scalabilità automatica dei gruppi 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 nei gruppi di nodi. Se il gestore della scalabilità automatica non abilitata, devi gestire manualmente le dimensioni dei gruppi di nodi. Se abilitare il gestore della scalabilità automatica su un gruppo di nodi, puoi specificare che aumenta e diminuisce la dimensione del gruppo di nodi (fa lo scale out e lo scale in), o che aumenti solo le dimensioni del gruppo (solo lo scale out).

Scale out e fare lo scale in

In questa modalità, il gestore della scalabilità automatica dei gruppi di nodi aumenta (scalabilità orizzontale) e diminuisce (scalabilità verticale) 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 la dimensione del gruppo di nodi al di sopra o al di sotto del valore massimo specificato il minimo specificato.

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

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 il criterio di scalabilità automatica del gruppo di nodi lo consente, la rimozione del nodo vuoto è pianificata dopo un periodo di stabilizzazione. Il periodo di stabilizzazione garantisce che il nodo sia ancora disponibile se devi utilizzarlo.

Solo scale out

Con questa modalità, il gestore della scalabilità automatica aumenta la dimensione 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 dei carichi di lavoro o dei carichi di lavoro che richiedono l'affinità dei server fisici, come BYOL carichi di lavoro standard, richiedono che le licenze siano ospitate sullo stesso server fisico.

È necessario utilizzare questa modalità se i gruppi di nodi sono configurati con l'interfaccia Migra all'interno del criterio di manutenzione 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 dimensione minima a zero (0). Se specifichi un valore per la dimensione minima, deve essere un numero intero maggiore o uguale a 0 e minore o uguale a fino 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, che è la dimensione massima consentita per un gruppo di nodi monoproprietario, nonché maggiore o uguale al valore minimo specificato.

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

Disponibilità

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

Prima di iniziare

  • Se non l'hai già fatto, configura l'autenticazione. L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione Compute Engine come segue.

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

    Console

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

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Abilita il gestore della scalabilità automatica dei gruppi di nodi

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

gcloud

L'esempio riportato di seguito 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 per un gruppo di nodi esistente, utilizza 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: il nome del modello di nodo da cui creare il gruppo di nodi.
  • size: numero iniziale target di nodi nel gruppo di nodi.
  • maintenance-policy: specifica se le VM eseguono la migrazione se vengono riavviate durante gli eventi di manutenzione dell'host. Imposta uno dei seguenti valori:
    • default: le VM vengono migrate in tempo reale 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 si riavviano sullo stesso nodo dopo vengono terminate 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 in questo gruppo di nodi. Imposta uno dei seguenti valori:
    • off: disabilita il gestore della scalabilità automatica.
    • on: consente il ridimensionamento in entrata e in uscita.
    • only-scale-out: abilita 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: 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

Il seguente esempio 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: ID del progetto per il quale aggiungere una 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 dell'elemento 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, le dimensioni del gruppo di nodi vengono scalate in base al valore di min-nodes.
  • group-name: nome del nuovo gruppo di nodi.
  • template-name: nome del modello di nodo da per creare il gruppo di nodi.
  • mode: modalità per il gestore della scalabilità automatica su questo gruppo di nodi. Imposta una delle seguenti opzioni:
    • OFF: disabilita il gestore della scalabilità automatica.
    • ON: consente lo scale in e lo scale out.
    • ONLY_SCALE_OUT: abilita solo lo scale out. Devi utilizzare questa modalità se i gruppi di nodi sono configurati per riavviare le VM ospitate su server in numero ridotto.
  • 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 le VM eseguono la migrazione se vengono riavviate durante gli eventi di manutenzione dell'host. Imposta uno dei seguenti valori:
    • DEFAULT: le VM vengono migrate in tempo reale 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 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 aggiornando le dimensioni minime e massime del gruppo di nodi.

gcloud

L'esempio seguente mostra come utilizzare 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: il 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 una delle seguenti opzioni:
    • off: disattiva il gestore della scalabilità automatica.
    • on: consente il ridimensionamento in entrata e in uscita.
    • only-scale-out: abilita solo lo scale out. Devi utilizzare questa modalità se i gruppi di nodi sono configurati per riavviare i loro gruppi su server in numero ridotto.
  • max-nodes: dimensione massima del gruppo di nodi. Imposta su 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

Il seguente esempio mostra come utilizzare il comando nodeGroups.patch per modificare la modalità di un regolatore automatico 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: ID del progetto contenente il nodo gruppo per cui modificare la modalità del gestore della scalabilità automatica.
  • group-zone: zona contenente il gruppo di nodi per per cambiare la modalità del gestore della scalabilità automatica.
  • group-name: il nome del gruppo di nodi per il quale modificare la modalità del gestore della scalabilità automatica.
  • template-name: nome del modello di nodo da è stato creato il gruppo di nodi.
  • mode: modalità per il gestore della scalabilità automatica su questo gruppo di nodi. Imposta uno dei seguenti valori:

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

    • ONLY_SCALE_OUT: consente 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 su 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.

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

Quando è abilitato il gestore della scalabilità automatica, le dimensioni del gruppo di nodi vengono gestite automaticamente, puoi pianificare o rimuovere le VM sul gruppo di nodi in modo da aggiornarle manualmente la dimensione del gruppo.

Per ridurre manualmente le dimensioni di un gruppo di nodi con scalabilità automatica, elimina le VM dal fino a quando il nodo non è vuoto. Quando il nodo è vuoto, il gestore della scalabilità automatica rimuove nodo vuoto, riducendo la dimensione del gruppo di nodi.

Per aumentare manualmente la dimensione di un gruppo di nodi con scalabilità automatica, imposta la dimensione minima del gruppo a un valore maggiore della dimensione corrente. Quando la dimensione minima di un gruppo è impostata su un valore superiore a quella corrente, il gestore della scalabilità automatica esegue lo scale out delle dimensioni del gruppo fino alle dimensioni minime appena specificate.

Quando i gruppi di nodi sono impostati solo sullo scale out, il gestore della scalabilità automatica gestisce automaticamente aumenta le dimensioni del gruppo e disabilita gli aumenti manuali delle dimensioni del gruppo. Con questo puoi ridurre le dimensioni di un gruppo rimuovendo le VM da un nodo se il nodo è vuoto, ma puoi rimuoverlo.

Disabilita il gestore della scalabilità automatica

Quando non devi più utilizzare il gestore della scalabilità automatica per gestire automaticamente le dimensioni dei tuoi gruppi di nodi o se devi gestire manualmente le dimensioni dei 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 nodo gruppo da cui rimuovere il criterio di scalabilità automatica.

REST

L'esempio seguente mostra come utilizzare il parametro 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 nodo gruppo per cui modificare la modalità del gestore della scalabilità automatica.
  • group-zone: zona contenente il gruppo di nodi per per cambiare la modalità del gestore della scalabilità automatica.
  • group-name: il nome del gruppo di nodi per il quale modificare la modalità del gestore della scalabilità automatica.
  • template-name: nome del modello di nodo da è stato creato il gruppo di nodi.
  • mode: la modalità per il gestore della scalabilità automatica in questo gruppo di nodi. Imposta su OFF per disabilitare il gestore della scalabilità automatica su questo gruppo di nodi.

Visualizza 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 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 del gruppo di nodi.

Console

  1. Nella console Google Cloud, vai alla pagina Nodi di proprietà esclusiva.

    Vai a 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 sta scalando il gruppo di nodi, puoi anche visualizzare di nodi target.

Passaggi successivi