Questa pagina mostra come eseguire il deployment e lo scale up 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 massimo impegno quando i carichi di lavoro utilizzano configurazioni compatibili.
I nodi GKE con 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 completo 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 workload utilizzano configurazioni compatibili. Per utilizzare i nodi di avvio rapido, devi soddisfare tutti i seguenti requisiti:
- Utilizza i cluster Autopilot o esegui i carichi di lavoro in modalità Autopilot nei cluster Standard.
- Non utilizzare funzionalità incompatibili con i nodi a esecuzione rapida. Per maggiori informazioni, vedi Limitazioni.
- Utilizza una delle configurazioni descritte nella tabella seguente:
| Risorsa di computing | Supporto per canale di rilascio e versione | Tipi e dimensioni del disco di avvio supportati |
|---|---|---|
| Piattaforma di calcolo ottimizzata per i container Autopilot |
|
pd-balanced dischi fino a 100 GiB |
| Serie di macchine G2 |
|
pd-balanced dischi fino a 500 GiB |
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:
- G2 con versione del driver GPU
DEFAULTsu versioni GKE precedenti alla 1.33.0-gke.1304000. Per la versione 1.33.0-gke.1304000 o successive, siaLATESTsiaDEFAULTfunzionano con i nodi ad avvio rapido. - Dischi di avvio secondari su versioni precedenti alla 1.33.2-gke.1015000.
- Chiavi di crittografia gestite dal cliente (CMEK)
- VM spot
- SSD locali
- Norme di posizionamento
- Supporto multi-rete
Workload GPU Autopilot
La richiesta di GPU compatibili in modalità Autopilot comporta un tempo di avvio dei nodi fino a quattro volte più rapido e un tempo di pianificazione dei pod fino a due volte più rapido rispetto a richieste simili in modalità 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 una ComputeClass, come nell'esempio seguente:
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 campospec.priorities.gpu.countin ComputeClass.POD_NAME: il nome del 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 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
- Informazioni sulla piattaforma di calcolo ottimizzata per i container Autopilot
- Informazioni sulle classi di calcolo personalizzate
- Panoramica delle prestazioni di Persistent Disk