Richieste di risorse in Autopilot


Questa pagina descrive in che modo Google Kubernetes Engine (GKE) Autopilot gestisce i valori delle richieste di risorse dei carichi di lavoro, come CPU, memoria o spazio di archiviazione temporaneo. Questa pagina include le seguenti informazioni, che puoi utilizzare per pianificare carichi di lavoro efficienti, stabili ed economici:

  • Valori predefiniti che Autopilot applica ai pod che non specificano valori.
  • Valori minimo e massimo applicati da Autopilot per le richieste di risorse.
  • Come variano i valori predefiniti, minimi e massimi in base all'hardware richiesto dai pod.

Questa pagina è rivolta a operatori e sviluppatori che eseguono il provisioning e la configurazione delle risorse cloud e il deployment dei carichi di lavoro. Per scoprire di più sui ruoli comuni e sulle attività di esempio a cui facciamo riferimento nei contenuti, consulta la pagina Ruoli e attività comuni degli utenti GKE. Trusted Cloud by S3NS

Prima di leggere questa pagina, assicurati di conoscere i concetti di gestione delle risorse di Kubernetes.

Panoramica delle richieste di risorse in Autopilot

Autopilot utilizza le richieste di risorse specificate nella configurazione del carico di lavoro per configurare i nodi che eseguono i carichi di lavoro. Autopilot applica richieste di risorse minime e massime in base alla classe di calcolo o alla configurazione hardware utilizzata dai tuoi carichi di lavoro. Se non specifichi le richieste per alcuni container, Autopilot assegna valori predefiniti per consentire a questi container di essere eseguiti correttamente.

Quando esegui il deployment di un workload in un cluster Autopilot, GKE convalida la configurazione del workload in base ai valori minimi e massimi consentiti per la classe di computing selezionata o per la configurazione hardware (ad esempio le GPU). Se le tue richieste sono inferiori al minimo, Autopilot modifica automaticamente la configurazione del workload per portare le richieste nell'intervallo consentito. Se le tue richieste superano il valore massimo, Autopilot rifiuta il carico di lavoro e visualizza un messaggio di errore.

Il seguente elenco riepiloga le categorie di richieste di risorse:

  • Richieste di risorse predefinite: Autopilot le aggiunge se non specifichi le tue richieste per i workload
  • Richieste di risorse minime e massime: Autopilot convalida le richieste specificate per assicurarsi che rientrino in questi limiti. Se le richieste non rientrano nei limiti, Autopilot modifica le richieste del workload.
  • Separazione dei workload e richieste di durata estesa: Autopilot ha valori predefiniti e minimi diversi per i workload che separi tra loro o per i pod che ricevono una protezione estesa dall'espulsione avviata da GKE.
  • Richieste di risorse per DaemonSet: Autopilot ha valori predefiniti, minimi e massimi diversi per i container in DaemonSet.

Come richiedere risorse

In Autopilot, richiedi le risorse nella specifica del pod. Le risorse minime e massime supportate che puoi richiedere cambiano in base alla configurazione hardware del nodo su cui vengono eseguiti i pod. Per scoprire come richiedere configurazioni hardware specifiche, consulta le seguenti pagine:

Richieste di risorse predefinite

Se non specifichi richieste di risorse per alcuni container in un pod, Autopilot applica i valori predefiniti. Questi valori predefiniti sono adatti a molti workload più piccoli.

Inoltre, Autopilot applica le seguenti richieste di risorse predefinite indipendentemente dalla classe di computing o dalla configurazione hardware selezionata:

  • Container in DaemonSet

    • CPU: 50 mCPU
    • Memoria: 100 MiB
    • Spazio di archiviazione temporanea: 100 MiB
  • Tutti gli altri contenitori

    • Archiviazione temporanea: 1 GiB

Per ulteriori informazioni sui limiti dei cluster Autopilot, consulta Quote e limiti.

Richieste predefinite per le classi di computing

Autopilot applica i seguenti valori predefiniti alle risorse non definite nella specifica del pod per i pod eseguiti nelle classi di computing. Se imposti solo una delle richieste e lasci l'altra vuota, GKE utilizza il rapporto CPU:memoria definito nella sezione Richieste minime e massime per impostare la richiesta mancante su un valore conforme al rapporto.

Classe di computing Risorsa Richiesta predefinita
Per uso generico (impostazione predefinita) CPU 0,5 vCPU
Memoria 2 GB
Acceleratore Consulta la sezione Risorse predefinite per gli acceleratori.
Bilanciato CPU 0,5 vCPU
Memoria 2 GB
Prestazioni CPU
  • Serie di macchine C3: 2 vCPU
  • Serie di macchine C3 con SSD locali: 2 vCPU
  • Serie di macchine C3D: 2 vCPU
  • Serie di macchine C3D con SSD locali: 4 vCPU
  • Serie di macchine C4D (1.33.0-gke.1439000 o versioni successive): non vengono applicate richieste predefinite.
  • Serie di macchine C4D con SSD locali (1.33.1-gke.1171000 o versioni successive): non vengono applicate richieste predefinite.
  • Serie di macchine H3: 80 vCPU
  • Serie di macchine C2: 2 vCPU
  • Serie di macchine C2D: 2 vCPU
  • Serie di macchine T2A: 2 vCPU
  • Serie di macchine T2D: 2 vCPU
Memoria
  • Serie di macchine C3: 8 GiB
  • Serie di macchine C3 con SSD locali: 8 GiB
  • Serie di macchine C3D: 8 GiB
  • Serie di macchine C3D con SSD locali: 16 GiB
  • Serie di macchine C4D (1.33.0-gke.1439000 o versioni successive): non vengono applicate richieste predefinite.
  • Serie di macchine C4D con SSD locali (1.33.1-gke.1171000 o versioni successive): non vengono applicate richieste predefinite.
  • Serie di macchine H3: 320 GiB
  • Serie di macchine C2: 8 GiB
  • Serie di macchine C2D: 8 GiB
  • Serie di macchine T2A: 8 GiB
  • Serie di macchine T2D: 8 GiB
Archiviazione temporanea
  • Serie di macchine C3: 1 GiB
  • Serie di macchine C3 con SSD locali: 1 GiB
  • Serie di macchine C3D: 1 GiB
  • Serie di macchine C3D con SSD locali: 1 GiB
  • Serie di macchine C4D (1.33.0-gke.1439000 o versioni successive): non vengono applicate richieste predefinite.
  • Serie di macchine C4D con SSD locale (1.33.1-gke.1171000 o versioni successive): non vengono applicate richieste predefinite.
  • Serie di macchine H3: 1 GiB
  • Serie di macchine C2: 1 GiB
  • Serie di macchine C2D: 1 GiB
  • Serie di macchine T2A: 1 GiB
  • Serie di macchine T2D: 1 GiB
Scale out CPU 0,5 vCPU
Memoria 2 GB

Richieste predefinite per gli acceleratori

Nella versione 1.29.4-gke.1427000 e successive, Autopilot non applica richieste predefinite per gli acceleratori. Per scoprire di più, vedi Prezzi.

La seguente tabella descrive i valori predefiniti che GKE assegna ai pod che non specificano valori nel campo requests della specifica del pod. Questa tabella si applica ai pod eseguiti su versioni precedenti alla 1.29.4-gke.1427000 che utilizzano la classe di computing Accelerator, che è il modo consigliato per eseguire gli acceleratori nei cluster Autopilot.

Acceleratore Risorsa Richiesta predefinita totale
GPU NVIDIA B200
nvidia-b200
Nessuna richiesta predefinita applicata.
GPU NVIDIA H200 (141 GB)
nvidia-h200-141gb
Nessuna richiesta predefinita applicata.
GPU NVIDIA H100 Mega (80 GB)
nvidia-h100-mega-80gb
CPU
  • 8 GPU: 200 vCPU
Memoria
  • 8 GPU: 1400 GiB
Archiviazione temporanea
  • 8 GPU: 1 GiB
GPU NVIDIA H100 (80 GB)
nvidia-h100-80gb
CPU
  • 8 GPU: 200 vCPU
Memoria
  • 8 GPU: 1400 GiB
Archiviazione temporanea
  • 8 GPU: 1 GiB
GPU NVIDIA A100 (40 GB)
nvidia-tesla-a100
CPU
  • 1 GPU: 9 vCPU
  • 2 GPU: 20 vCPU
  • 4 GPU: 44 vCPU
  • 8 GPU: 92 vCPU
  • 16 GPU: 92 vCPU
Memoria
  • 1 GPU: 60 GiB
  • 2 GPU: 134 GiB
  • 4 GPU: 296 GiB
  • 8 GPU: 618 GiB
  • 16 GPU: 1250 GiB
GPU NVIDIA A100 (80 GB)
nvidia-a100-80gb
CPU
  • 1 GPU: 9 vCPU
  • 2 GPU: 20 vCPU
  • 4 GPU: 44 vCPU
  • 8 GPU: 92 vCPU
Memoria
  • 1 GPU: 134 GiB
  • 2 GPU: 296 GiB
  • 4 GPU: 618 GiB
  • 8 GPU: 1250 GiB
Archiviazione temporanea
  • 1 GPU: 1 GiB
  • 2 GPU: 1 GiB
  • 4 GPU: 1 GiB
  • 8 GPU: 1 GiB
GPU NVIDIA L4
nvidia-l4
CPU
  • 1 GPU: 2 vCPU
  • 2 GPU: 21 vCPU
  • 4 GPU: 45 vCPU
  • 8 GPU: 93 vCPU
Memoria
  • 1 GPU: 7 GiB
  • 2 GPU: 78 GiB
  • 4 GPU: 170 GiB
  • 8 GPU: 355 GiB
GPU NVIDIA T4
nvidia-tesla-t4
CPU
  • 1 GPU: 0,5 vCPU
  • 4 GPU: 0,5 vCPU
Memoria
  • 1 GPU: 2 GiB
  • 4 GPU: 2 GiB
TPU Trillium (v6e)
tpu-v6e-slice (single-host)
CPU Tutte le topologie: 1 mCPU
Memoria Tutte le topologie: 1 MiB
TPU Trillium (v6e)
tpu-v6e-slice (multi-host)
CPU Tutte le topologie: 1 mCPU
Memoria Tutte le topologie: 1 MiB
TPU v5e
tpu-v5-lite-podslice (multi-host)
CPU Tutte le topologie: 1 mCPU
Memoria Tutte le topologie: 1 MiB
TPU v5p
tpu-v5p-slice
CPU Tutte le topologie: 1 mCPU
Memoria Tutte le topologie: 1 MiB
TPU v4
tpu-v4-podslice
CPU Tutte le topologie: 1 mCPU
Memoria Tutte le topologie: 1 MiB

GPU supportate senza la classe di calcolo Accelerator

Se non utilizzi la classe di calcolo Accelerator, sono supportate solo le seguenti GPU. Le richieste di risorse predefinite per queste GPU sono le stesse della classe di calcolo Accelerator:

  • NVIDIA A100 (40GB)
  • NVIDIA A100 (80GB)
  • NVIDIA L4
  • NVIDIA Tesla T4

Richieste di risorse minime e massime

Le risorse totali richieste dalla configurazione di deployment devono rientrare nei valori minimi e massimi supportati consentiti da Autopilot. Si applicano le seguenti condizioni:

  • Richieste di spazio di archiviazione temporanea:

    • Lo spazio di archiviazione temporanea utilizza il disco di avvio della VM, a meno che ai nodi non siano collegate SSD locali.

      L'hardware di calcolo che include SSD locali come le GPU A100 (80 GB), le GPU H100 (80 GB) o la serie di macchine Z3 supporta una richiesta massima pari alle dimensioni dell'SSD locale meno l'overhead di sistema. Per informazioni su questo overhead di sistema, consulta Archiviazione temporanea supportata da SSD locali.

    • In GKE versione 1.29.3-gke.1038000 e successive, i pod della classe di prestazioni e i pod dell'acceleratore hardware supportano una richiesta di archiviazione temporanea massima di 56 Ti, a meno che l'hardware non includa SSD locali.

      In tutti gli altri pod Autopilot, indipendentemente dalla versione di GKE, la richiesta totale di spazio di archiviazione temporaneo in tutti i container del pod deve essere compresa tra 10 MiB e 10 GiB, se non diversamente specificato.

    • Per volumi più grandi, utilizza i volumi effimeri generici, che forniscono funzionalità e prestazioni equivalenti all'archiviazione effimera, ma con una flessibilità notevolmente maggiore, in quanto possono essere utilizzati con qualsiasi opzione di archiviazione GKE. Ad esempio, la dimensione massima per un volume effimero generico che utilizza pd-balanced è 64 TiB.

  • Per i pod DaemonSet, le richieste minime di risorse sono le seguenti:

    • Cluster che supportano il bursting: 1 mCPU per pod, 2 MiB di memoria per pod e 10 MiB di spazio di archiviazione temporanea per container nel pod.
    • Cluster che non supportano il bursting: 10 mCPU per pod, 10 MiB di memoria per pod e 10 MiB di spazio di archiviazione temporanea per container nel pod.

    Per verificare se il tuo cluster supporta il bursting, consulta Disponibilità del bursting in GKE.

  • Se il cluster supporta il bursting, Autopilot non applica incrementi di 0,25 vCPU per le richieste di CPU dei pod. Se il cluster non supporta il bursting, Autopilot arrotonda le richieste di CPU al valore di 0,25 vCPU più vicino. Per verificare se il tuo cluster supporta il bursting, consulta Disponibilità del bursting in GKE.

  • Il rapporto CPU:memoria deve rientrare nell'intervallo consentito per la classe di calcolo o la configurazione hardware selezionata. Se il rapporto CPU:memoria non rientra nell'intervallo consentito, Autopilot aumenta automaticamente la risorsa più piccola. Ad esempio, se richiedi 1 vCPU e 16 GiB di memoria (rapporto 1:16) per i pod in esecuzione sulla classe Scale-Out, Autopilot aumenta la richiesta di CPU a 4 vCPU, il che modifica il rapporto in 1:4.

Valori minimi e massimi per le classi di computing

La tabella seguente descrive il rapporto CPU-memoria minimo, massimo e consentito per ogni classe di calcolo supportata da Autopilot:

Classe di computing Rapporto CPU:memoria (vCPU:GiB) Risorsa Minimo Massimo
Per uso generico (impostazione predefinita) Tra 1:1 e 1:6,5 CPU

Il valore dipende dal fatto che il cluster supporti il bursting, come segue:

  • Cluster che supportano il bursting: 50 m di CPU
  • Cluster che non supportano il bursting: 250 mCPU

Per verificare se il tuo cluster supporta il bursting, consulta Disponibilità del bursting in GKE.

30 vCPU
Memoria

Il valore dipende dal fatto che il cluster supporti il bursting, come segue:

  • Cluster che supportano il bursting: 52 MiB
  • Cluster che non supportano il bursting: 512 MiB

Per verificare se il tuo cluster supporta il bursting, consulta Disponibilità del bursting in GKE.

110 GiB
Acceleratore Consulta la sezione Valori minimi e massimi per gli acceleratori.
Bilanciato Tra 1:1 e 1:8 CPU 0,25 vCPU

222 vCPU

Se è selezionata la piattaforma CPU minima:

  • Piattaforme Intel: 126 vCPU
  • Piattaforme AMD: 222 vCPU
Memoria 0,5 GiB

851 GiB

Se è selezionata la piattaforma CPU minima:

  • Piattaforme Intel: 823 GiB
  • Piattaforme AMD: 851 GiB
Prestazioni N/D CPU 0,001 vCPU
  • Serie di macchine C3: 174 vCPU
  • Serie di macchine C3 con SSD locali: 174 vCPU
  • Serie di macchine C3D: 358 vCPU
  • Serie di macchine C3D con SSD locali: 358 vCPU
  • Serie di macchine C4D (1.33.0-gke.1439000 o versioni successive): 382 vCPU
  • Serie di macchine C4D con SSD locale (1.33.1-gke.1171000 o versioni successive): 382 vCPU
  • Serie di macchine H3: 86 vCPU
  • Serie di macchine C2: 58 vCPU
  • Serie di macchine C2D: 110 vCPU
  • Serie di macchine T2A: 46 vCPU
  • Serie di macchine T2D: 58 vCPU
Memoria 1 MiB
  • Serie di macchine C3: 1345 GiB
  • Serie di macchine C3 con SSD locali: 670 GiB
  • Serie di macchine C3D: 2750 GiB
  • Serie di macchine C3D con SSD locali: 1375 GiB
  • Serie di macchine C4D (1.33.0-gke.1439000 o versioni successive): 2905 GiB
  • Serie di macchine C4D con SSD locale (1.33.1-gke.1171000 o versioni successive): 2905 GiB
  • Serie di macchine H3: 330 GiB
  • Serie di macchine C2: 218 GiB
  • Serie di macchine C2D: 835 GiB
  • Serie di macchine T2A: 172 GiB
  • Serie di macchine T2D: 218 GiB
Archiviazione temporanea 10 MiB

In GKE versione 1.29.3-gke.1038000 e successive, puoi specificare una richiesta di spazio di archiviazione effimero massimo di 56 Ti.

La serie di macchine C4D è disponibile con la versione 1.33.0-gke.1439000 o successive e supporta richieste fino a 56 Ti con o senza SSD locale.

Per le versioni precedenti alla 1.29.3-gke.1038000, si applicano i seguenti limiti:

  • Serie di macchine C3: 250 GiB
  • Serie di macchine C3 con SSD locali: 10.000 GiB
  • Serie di macchine C3D: 250 GiB
  • Serie di macchine C3D con SSD locali: 10.000 GiB
  • Serie di macchine H3: 250 GiB
  • Serie di macchine C2: 250 GiB
  • Serie di macchine C2D: 250 GiB
  • Serie di macchine T2A: 250 GB
  • Serie di macchine T2D: 250 GB
Scale out Esattamente 1:4 CPU 0,25 vCPU
  • arm64: 43 vCPU
  • amd64: 54 vCPU
Memoria 1 GB
  • arm64: 172 GiB
  • amd64: 216 GiB

Per scoprire come richiedere classi di computing nei tuoi pod Autopilot, consulta Scegliere le classi di computing per i pod Autopilot.

Valori minimi e massimi per gli acceleratori

Le sezioni seguenti descrivono il rapporto minimo, massimo e consentito tra CPU e memoria per i pod che utilizzano acceleratori hardware come GPU e TPU.

Se non diversamente specificato, lo spazio di archiviazione temporaneo massimo supportato è 122 GiB nelle versioni 1.28.6-gke.1369000 o successive e 1.29.1-gke.1575000 o successive. Per le versioni precedenti, lo spazio di archiviazione temporaneo massimo supportato è di 10 GiB.

Valori minimi e massimi per la classe di computing Accelerator

La seguente tabella mostra le richieste di risorse minime e massime per i pod che utilizzano la classe di calcolo Accelerator, che è il modo consigliato per eseguire gli acceleratori con i cluster GKE Autopilot. Nella classe di calcolo acceleratore, GKE non applica i rapporti tra richieste di CPU e memoria.

Tipo di acceleratore Risorsa Minimo Massimo
NVIDIA B200
nvidia-B200
CPU Nessun numero minimo di richieste applicato
  • 8 GPU: 224 vCPU
Memoria Nessun numero minimo di richieste applicato
  • 8 GPU: 3968 GiB
Archiviazione temporanea Nessun numero minimo di richieste applicato
  • 8 GPU: 10 TiB
NVIDIA H200 (141GB)
nvidia-h200-141gb
CPU Nessun numero minimo di richieste applicato
  • 8 GPU: 224 vCPU
Memoria Nessun numero minimo di richieste applicato
  • 8 GPU: 2952 GiB
Archiviazione temporanea Nessun numero minimo di richieste applicato
  • 8 GPU: 10 TiB (1.32.2-gke.1182000 o versioni successive)
  • 8 GPU: 2540 GiB (versioni precedenti alla 1.32.2-gke.1182000)
NVIDIA H100 Mega (80GB)
nvidia-h100-mega-80gb
CPU
  • 8 GPU: 0,001 vCPU
  • 8 GPU: 206 vCPU
Memoria
  • 8 GPU: 1 MiB
  • 8 GPU: 1795 GiB
Archiviazione temporanea
  • 8 GPU: 10 MiB
  • 8 GPU: 5250 GiB
NVIDIA H100 (80GB)
nvidia-h100-80gb
CPU
  • 8 GPU: 0,001 vCPU
  • 8 GPU: 206 vCPU
Memoria
  • 8 GPU: 1 MiB
  • 8 GPU: 1795 GiB
Archiviazione temporanea
  • 8 GPU: 10 MiB
  • 8 GPU: 5250 GiB
NVIDIA A100 (40GB)
nvidia-tesla-a100
CPU 0,001 vCPU
  • 1 GPU: 11 vCPU
  • 2 GPU: 22 vCPU
  • 4 GPU: 46 vCPU
  • 8 GPU: 94 vCPU
  • 16 GPU: 94 vCPU

La somma delle richieste di CPU di tutti i DaemonSet in esecuzione su un nodo GPU A100 non deve superare 2 vCPU.

Memoria 1 MiB
  • 1 GPU: 74 GiB
  • 2 GPU: 148 GiB
  • 4 GPU: 310 GiB
  • 8 GPU: 632 GiB
  • 16 GPU: 1264 GiB

La somma delle richieste di memoria di tutti i DaemonSet in esecuzione su un nodo GPU A100 non deve superare i 14 GiB.

NVIDIA A100 (80GB)
nvidia-a100-80gb
CPU 0,001 vCPU
  • 1 GPU: 11 vCPU
  • 2 GPU: 22 vCPU
  • 4 GPU: 46 vCPU
  • 8 GPU: 94 vCPU

La somma delle richieste di CPU di tutti i DaemonSet eseguiti su un nodo GPU A100 (80 GB) non deve superare 2 vCPU.

Memoria 1 MiB
  • 1 GPU: 148 GiB
  • 2 GPU: 310 GiB
  • 4 GPU: 632 GiB
  • 8 GPU: 1264 GiB

La somma delle richieste di memoria di tutti i DaemonSet in esecuzione su un nodo GPU A100 (80 GB) non deve superare i 14 GiB.

Archiviazione temporanea 512 MiB
  • 1 GPU: 280 GiB
  • 2 GPU: 585 GiB
  • 4 GPU: 1220 GiB
  • 8 GPU: 2540 GiB
NVIDIA L4
nvidia-l4
CPU 0,001 vCPU
  • 1 GPU: 31 vCPU
  • 2 GPU: 23 vCPU
  • 4 GPU: 47 vCPU
  • 8 GPU: 95 vCPU

La somma delle richieste di CPU di tutti i DaemonSet eseguiti su un nodo GPU L4 non deve superare 2 vCPU.

Memoria 1 MiB
  • 1 GPU: 115 GiB
  • 2 GPU: 83 GiB
  • 4 GPU: 177 GiB
  • 8 GPU: 363 GiB

La somma delle richieste di memoria di tutti i DaemonSet in esecuzione su un nodo GPU L4 non deve superare 14 GiB.

NVIDIA Tesla T4
nvidia-tesla-t4
CPU 0,001 vCPU
  • 1 GPU: 46 vCPU
  • 2 GPU: 46 vCPU
  • 4 GPU: 94 vCPU
Memoria 1 MiB
  • 1 GPU: 287,5 GiB
  • 2 GPU: 287,5 GiB
  • 4 GPU: 587,5 GiB
TPU v5e
tpu-v5-lite-podslice
CPU 0,001 vCPU
  • Topologia 1x1: 24 vCPU
  • Topologia 2x2: 112 vCPU
  • Topologia 2x4 (richiesta di 4 chip): 112 vCPU
  • Topologia 2x4 (richiesta di 8 chip): 224 vCPU
  • Topologia 4x4: 112 vCPU
  • Topologia 4x8: 112 vCPU
  • Topologia 8x8: 112 vCPU
  • Topologia 8x16: 112 vCPU
  • Topologia 16x16: 112 vCPU
Memoria 1 MiB
  • Topologia 1x1: 48 GiB
  • Topologia 2x2: 192 GiB
  • Topologia 2x4 (richiesta di 4 chip): 192 GiB
  • Topologia 2x4 (richiesta di 8 chip): 384 GiB
  • Topologia 4x4: 192 GiB
  • Topologia 4x8: 192 GiB
  • Topologia 8x8: 192 GiB
  • Topologia 8x16: 192 GiB
  • Topologia 16x16: 192 GiB
Archiviazione temporanea 10 MiB 56 TiB
TPU v5p
tpu-v5p-slice
CPU 0,001 vCPU 280 vCPU
Memoria 1 MiB 448 GiB
Archiviazione temporanea 10 MiB 56 TiB
TPU v4
tpu-v4-podslice
CPU 0,001 vCPU 240 vCPU
Memoria 1 MiB 407 GiB
Archiviazione temporanea 10 MiB 56 TiB

Per scoprire come richiedere GPU nei tuoi pod Autopilot, consulta la sezione Esegui il deployment dei carichi di lavoro GPU in Autopilot.

Valori minimi e massimi per le GPU senza una classe di computing

La tabella seguente mostra le richieste di risorse minime e massime per i pod che non utilizzano la classe di computing Accelerator:

Tipo di GPU Rapporto CPU:memoria (vCPU:GiB) Risorsa Minimo Massimo
NVIDIA A100 (40GB)
nvidia-tesla-a100
Non applicato CPU
  • 1 GPU: 9 vCPU
  • 2 GPU: 20 vCPU
  • 4 GPU: 44 vCPU
  • 8 GPU: 92 vCPU
  • 16 GPU: 92 vCPU
  • 1 GPU: 11 vCPU
  • 2 GPU: 22 vCPU
  • 4 GPU: 46 vCPU
  • 8 GPU: 94 vCPU
  • 16 GPU: 94 vCPU

La somma delle richieste di CPU di tutti i DaemonSet in esecuzione su un nodo GPU A100 non deve superare 2 vCPU.

Memoria
  • 1 GPU: 60 GiB
  • 2 GPU: 134 GiB
  • 4 GPU: 296 GiB
  • 8 GPU: 618 GiB
  • 16 GPU: 1250 GiB
  • 1 GPU: 74 GiB
  • 2 GPU: 148 GiB
  • 4 GPU: 310 GiB
  • 8 GPU: 632 GiB
  • 16 GPU: 1264 GiB

La somma delle richieste di memoria di tutti i DaemonSet in esecuzione su un nodo GPU A100 non deve superare i 14 GiB.

NVIDIA A100 (80GB)
nvidia-a100-80gb
Non applicato CPU
  • 1 GPU: 9 vCPU
  • 2 GPU: 20 vCPU
  • 4 GPU: 44 vCPU
  • 8 GPU: 92 vCPU
  • 1 GPU: 11 vCPU
  • 2 GPU: 22 vCPU
  • 4 GPU: 46 vCPU
  • 8 GPU: 94 vCPU

La somma delle richieste di CPU di tutti i DaemonSet eseguiti su un nodo GPU A100 (80 GB) non deve superare 2 vCPU.

Memoria
  • 1 GPU: 134 GiB
  • 2 GPU: 296 GiB
  • 4 GPU: 618 GiB
  • 8 GPU: 1250 GiB
  • 1 GPU: 148 GiB
  • 2 GPU: 310 GiB
  • 4 GPU: 632 GiB
  • 8 GPU: 1264 GiB

La somma delle richieste di memoria di tutti i DaemonSet in esecuzione su un nodo GPU A100 (80 GB) non deve superare i 14 GiB.

Archiviazione temporanea
  • 1 GPU: 512 MiB
  • 2 GPU: 512 MiB
  • 4 GPU: 512 MiB
  • 8 GPU: 512 MiB
  • 1 GPU: 280 GiB
  • 2 GPU: 585 GiB
  • 4 GPU: 1220 GiB
  • 8 GPU: 2540 GiB
NVIDIA L4
nvidia-l4
  • 1 GPU: tra 1:3,5 e 1:4
  • 2, 4 e 8 GPU: non applicato
CPU
  • 1 GPU: 2 vCPU
  • 2 GPU: 21 vCPU
  • 4 GPU: 45 vCPU
  • 8 GPU: 93 vCPU
  • 1 GPU: 31 vCPU
  • 2 GPU: 23 vCPU
  • 4 GPU: 47 vCPU
  • 8 GPU: 95 vCPU

La somma delle richieste di CPU di tutti i DaemonSet eseguiti su un nodo GPU L4 non deve superare 2 vCPU.

Memoria
  • 1 GPU: 7 GiB
  • 2 GPU: 78 GiB
  • 4 GPU: 170 GiB
  • 8 GPU: 355 GiB
  • 1 GPU: 115 GiB
  • 2 GPU: 83 GiB
  • 4 GPU: 177 GiB
  • 8 GPU: 363 GiB

La somma delle richieste di memoria di tutti i DaemonSet in esecuzione su un nodo GPU L4 non deve superare 14 GiB.

NVIDIA Tesla T4
nvidia-tesla-t4
Tra 1:1 e 1:6,25 CPU 0,5 vCPU
  • 1 GPU: 46 vCPU
  • 2 GPU: 46 vCPU
  • 4 GPU: 94 vCPU
Memoria 0,5 GiB
  • 1 GPU: 287,5 GiB
  • 2 GPU: 287,5 GiB
  • 4 GPU: 587,5 GiB

Per scoprire come richiedere GPU nei tuoi pod Autopilot, consulta la sezione Esegui il deployment dei carichi di lavoro GPU in Autopilot.

Richieste di risorse per la separazione dei carichi di lavoro e la durata estesa

Autopilot ti consente di manipolare la pianificazione e il comportamento di espulsione di Kubernetes utilizzando metodi come i seguenti:

Se le richieste specificate sono inferiori ai valori minimi, il comportamento di Autopilot cambia in base al metodo utilizzato, come segue:

  • Taint, tolleranze, selettori e pod di durata estesa: Autopilot modifica i pod per aumentare le richieste durante la pianificazione dei pod.
  • Anti-affinità pod: Autopilot rifiuta il pod e visualizza un messaggio di errore.

La seguente tabella descrive le richieste predefinite e le richieste di risorse minime che puoi specificare. Se una configurazione o una classe di computing non è presente in questa tabella, Autopilot non applica valori minimi o predefiniti speciali.

Classe di computing Risorsa Predefinito Minimo
Per uso generico CPU 0,5 vCPU 0,5 vCPU
Memoria 2 GB 0,5 GiB
Bilanciato CPU 2 vCPU 1 vCPU
Memoria 8 GB 4 GB
Scale out CPU 0,5 vCPU 0,5 vCPU
Memoria 2 GB 2 GB

Container inizializzazione

I container di inizializzazione vengono eseguiti in serie e devono essere completati prima dell'avvio dei container dell'applicazione. Se non specifichi le richieste di risorse per i container init di Autopilot, GKE alloca a ogni container init le risorse totali disponibili per il pod. Questo comportamento è diverso da GKE Standard, in cui ogni contenitore init può utilizzare qualsiasi risorsa non allocata disponibile sul nodo su cui è pianificato il pod.

A differenza dei container delle applicazioni, GKE consiglia di non specificare le richieste di risorse per i container init di Autopilot, in modo che ogni container riceva tutte le risorse disponibili per il pod. Se richiedi meno risorse rispetto ai valori predefiniti, vincoli il container init. Se richiedi più risorse rispetto ai valori predefiniti di Autopilot, potresti aumentare la fattura per l'intero ciclo di vita del pod.

Impostazione dei limiti delle risorse in Autopilot

Kubernetes consente di impostare sia requests sia limits per le risorse nella specifica del pod. Il comportamento dei tuoi Pod cambia a seconda che i tuoi limits siano diversi dai tuoi requests, come descritto nella tabella seguente:

Valori impostati Comportamento di Autopilot
requests uguale a limits I pod utilizzano la classe QoS Guaranteed.
requests impostato, limits non impostato

Il comportamento dipende dal fatto che il cluster supporti il bursting, come segue:

  • Cluster che supportano il bursting: i pod possono eseguire il bursting nella capacità burstable disponibile.
  • Cluster che non supportano il bursting: GKE imposta limits uguale a requests

Per verificare se il tuo cluster supporta il bursting, consulta Disponibilità del bursting in GKE.

requests non impostato, limits impostato Autopilot imposta requests sul valore di limits, che è il comportamento predefinito di Kubernetes.

Prima:

resources:
  limits:
    cpu: "400m"

Dopo:

resources:
  requests:
    cpu: "400m"
  limits:
    cpu: "400m"
requests in meno rispetto a limits

Il comportamento dipende dal fatto che il cluster supporti il bursting, come segue:

  • Cluster che supportano il bursting: i pod possono eseguire il bursting fino al valore specificato in limits.
  • Cluster che non supportano il bursting: GKE imposta limits uguale a requests

Per verificare se il tuo cluster supporta il bursting, consulta Disponibilità del bursting in GKE.

requests maggiore di limits Autopilot imposta requests sul valore di limits.

Prima:

resources:
  requests:
    cpu: "450m"
  limits:
    cpu: "400m"

Dopo:

resources:
  requests:
    cpu: "400m"
  limits:
    cpu: "400m"
requests non impostato, limits non impostato

Autopilot imposta requests sui valori predefiniti per la classe di computing o la configurazione hardware.

Il comportamento di limits dipende dal supporto del bursting del cluster, come segue:

  • Cluster che supportano il bursting: Autopilot non imposta limits.
  • Cluster che non supportano il bursting: GKE imposta limits uguale a requests

Per verificare se il tuo cluster supporta il bursting, consulta Disponibilità del bursting in GKE.

Nella maggior parte dei casi, imposta richieste di risorse adeguate e limiti uguali per i tuoi carichi di lavoro.

Per i carichi di lavoro che hanno temporaneamente bisogno di più risorse rispetto al loro stato stazionario, ad esempio durante l'avvio o durante i periodi di traffico più elevato, imposta i limiti più alti delle richieste per consentire ai pod di eseguire il burst. Per maggiori dettagli, vedi Configurare l'utilizzo eccessivo dei pod in GKE.

Gestione automatica delle risorse in Autopilot

Se le richieste di risorse specificate per i tuoi carichi di lavoro non rientrano negli intervalli consentiti o se non richiedi risorse per alcuni container, Autopilot modifica la configurazione del carico di lavoro per rispettare i limiti consentiti. Autopilot calcola i rapporti tra le risorse e i requisiti di scalabilità orizzontale delle risorse dopo aver applicato i valori predefiniti ai container senza alcuna richiesta specificata.

  • Richieste mancanti:se non richiedi risorse in alcuni container, Autopilot applica le richieste predefinite per la classe di computing o la configurazione hardware.
  • Rapporto CPU/memoria: Autopilot aumenta la risorsa più piccola per portare il rapporto nell'intervallo consentito.
  • Spazio di archiviazione temporanea:Autopilot modifica le richieste di spazio di archiviazione temporanea per soddisfare la quantità minima richiesta da ogni container. Il valore cumulativo delle richieste di archiviazione in tutti i container non può superare il valore massimo consentito. Prima della versione 1.28.6-gke.1317000, Autopilot riduce lo spazio di archiviazione temporaneo richiesto se il valore supera il massimo. Nella versione 1.28.6-gke.1317000 e successive, Autopilot rifiuta il carico di lavoro.
  • Richieste inferiori ai valori minimi: se richiedi meno risorse del minimo consentito per la configurazione hardware selezionata, Autopilot modifica automaticamente il pod per richiedere almeno il valore minimo delle risorse.

Per impostazione predefinita, quando Autopilot aumenta automaticamente le risorse per soddisfare un valore minimo o predefinito delle risorse, GKE alloca la capacità aggiuntiva al primo container nel manifest del pod. In GKE versione 1.27.2-gke.2200 e successive, puoi indicare a GKE di allocare le risorse aggiuntive a un container specifico aggiungendo quanto segue al campo annotations nel manifest del pod:

autopilot.gke.io/primary-container: "CONTAINER_NAME"

Sostituisci CONTAINER_NAME con il nome del container.

Esempi di modifica delle risorse

Il seguente scenario di esempio mostra come Autopilot modifica la configurazione del workload per soddisfare i requisiti dei pod e dei container in esecuzione.

Singolo container con < 0,05 vCPU

Numero del container Richiesta originale Richiesta modificata
1 CPU: 30 mCPU
Memoria: 0,5 GiB
Spazio di archiviazione temporaneo: 10 MiB
CPU: 50 mCPU
Memoria: 0,5 GiB
Spazio di archiviazione temporaneo: 10 MiB

Più container con CPU totale < 0,05 vCPU

Numero del container Richieste originali Richieste modificate
1 CPU: 10 mCPU
Memoria: 0,5 GiB
Spazio di archiviazione temporaneo: 10 MiB
CPU: 30 mCPU
Memoria: 0,5 GiB
Spazio di archiviazione temporaneo: 10 MiB
2 CPU: 10 mCPU
Memoria: 0,5 GiB
Spazio di archiviazione temporaneo: 10 MiB
CPU: 10 mCPU
Memoria: 0,5 GiB
Spazio di archiviazione temporaneo: 10 MiB
3 CPU: 10 mvCPU
Memoria: 0,5 GiB
Spazio di archiviazione temporaneo: 10 MiB
CPU: 10 mCPU
Memoria: 0,5 GiB
Spazio di archiviazione temporaneo: 10 MiB
Risorse totali del pod CPU: 50 mCPU
Memoria: 1,5 GiB
Spazio di archiviazione temporaneo: 30 MiB

Singolo container con memoria troppo bassa per la CPU richiesta

In questo esempio, la memoria è troppo bassa per la quantità di CPU (1 vCPU:1 GiB minimo). Il rapporto minimo consentito tra CPU e memoria è 1:1. Se il rapporto è inferiore, la richiesta di memoria viene aumentata.

Numero del container Richiesta originale Richiesta modificata
1 CPU: 4 vCPU
Memoria: 1 GiB
Spazio di archiviazione temporaneo: 10 MiB
CPU: 4 vCPU
Memoria: 4 GiB
Spazio di archiviazione effimero: 10 MiB
Risorse totali del pod CPU: 4 vCPU
Memoria: 4 GiB
Spazio di archiviazione effimero: 10 MiB

Passaggi successivi