Informazioni sull'avvio più rapido dei carichi di lavoro con i nodi ad avvio rapido

Questa pagina mostra come eseguire il deployment e lo scale dei workload più rapidamente nei cluster Google Kubernetes Engine (GKE) utilizzando nodi a avvio rapido. I nodi a avvio rapido vengono utilizzati in GKE con la modalità Autopilot in base al miglior impegno quando i carichi di lavoro utilizzano configurazioni compatibili.

I nodi GKE ad avvio rapido hanno tempi di avvio notevolmente inferiori per le famiglie di macchine compatibili. Il tempo di avvio più rapido offre i seguenti vantaggi:

  • Avvio a freddo più rapido
  • Scalabilità automatica più rapida
  • Latenza di coda lunga della programmazione dei pod migliorata
  • Maggiore efficienza dei costi dell'infrastruttura

Con i nodi ad avvio rapido, GKE preinizializza le risorse hardware per accelerare il tempo di avvio. Le risorse pre-inizializzate sono disponibili in base al principio del "best effort". Le richieste di picco potrebbero essere soddisfatte solo parzialmente. Senza nodi di avvio rapido, le risorse vengono inizializzate on demand e i nodi vengono pubblicati al normale tempo di avvio.

Requisiti

I nodi con avvio rapido non richiedono configurazioni aggiuntive. GKE utilizza automaticamente i nodi a avvio rapido se i tuoi carichi di lavoro utilizzano configurazioni compatibili. Per utilizzare i nodi di avvio rapido, devi soddisfare tutti i seguenti requisiti:

  • Utilizza i cluster Autopilot.
  • Utilizza qualsiasi versione nel canale di rilascio rapido.
  • Utilizza una delle seguenti risorse di calcolo compatibili, con una dimensione massima del disco di avvio compatibile di 500 GiB:

  • Utilizza il tipo di disco di avvio pd-balanced.

  • Non utilizzare funzionalità incompatibili con i nodi a avvio rapido. Per maggiori informazioni, vedi Limitazioni.

Limitazioni

Le seguenti funzionalità non sono compatibili con i nodi GKE a avvio rapido. Se utilizzi una di queste funzionalità, GKE esegue il provisioning dei nodi con il tempo di avvio tipico:

Workload GPU Autopilot

La richiesta di GPU compatibili nei cluster Autopilot comporta tempi di avvio dei nodi fino a quattro volte più rapidi e tempi di pianificazione dei pod fino a due volte più rapidi rispetto a richieste simili nei cluster GKE Standard, perché i carichi di lavoro GPU Autopilot possono utilizzare nodi ad avvio rapido.

Di seguito sono riportati alcuni casi d'uso di esempio. Tuttavia, tutti i pod che soddisfano le condizioni della sezione Requisiti sono compatibili con i nodi a avvio rapido.

ComputeClass

Richiedi un tipo e un conteggio di acceleratore compatibili in un ComputeClass, come nel seguente esempio:

apiVersion: cloud.google.com/v1
kind: ComputeClass
metadata:
  name: ACCELERATOR_COMPUTE_CLASS_NAME
spec:
  priorities:
  - gpu:
      type: ACCELERATOR_TYPE
      count: ACCELERATOR_COUNT
  nodePoolAutoCreation:
    enabled: true

Quando selezioni questa ComputeClass in un pod, come nell'esempio seguente, GKE utilizza nodi a avvio rapido:

apiVersion: v1
kind: Pod
metadata:
  name: POD_NAME
spec:
  nodeSelector:
    # Select a ComputeClass that requests compatible GPUs
    cloud.google.com/compute-class: ACCELERATOR_COMPUTE_CLASS_NAME
  containers:
  - name: my-container
    image: gcr.io/google_containers/pause
    resources:
      limits:
        nvidia.com/gpu: ACCELERATOR_COUNT

Sostituisci i seguenti valori:

  • ACCELERATOR_COMPUTE_CLASS_NAME: il nome di ComputeClass che richiede gli acceleratori.
  • ACCELERATOR_TYPE: il tipo di acceleratore.
  • ACCELERATOR_COUNT: il numero di acceleratori richiesti dal pod. Questo valore deve essere minore o uguale a quello del campo spec.priorities.gpu.count in ComputeClass.
  • POD_NAME: il nome del tuo pod.

Per ulteriori informazioni su ComputeClass, consulta Informazioni sulle classi di computing personalizzate.

Specifica pod

Seleziona un tipo e un conteggio di acceleratore compatibili nella specifica del pod, come nell'esempio seguente:

apiVersion: v1
kind: Pod
metadata:
  name: POD_NAME
spec:
  nodeSelector:
    cloud.google.com/gke-accelerator: ACCELERATOR_NAME
  containers:
  - name: my-container
    image: gcr.io/google_containers/pause
    resources:
      limits:
        nvidia.com/gpu: ACCELERATOR_COUNT

Sostituisci i seguenti valori:

  • POD_NAME: il nome del tuo pod.
  • ACCELERATOR_NAME: il nome dell'acceleratore richiesto dal pod.
  • ACCELERATOR_COUNT: il numero di acceleratori richiesti dal pod.

Prezzi

I nodi a avvio rapido sono disponibili in GKE Autopilot senza costi aggiuntivi. Per saperne di più sui prezzi di GKE Autopilot, consulta la sezione Modalità Autopilot in Prezzi di Google Kubernetes Engine.

Passaggi successivi