Richieste di risorse in Autopilot


In questa pagina vengono descritte le risorse massime, minime e predefinite richieste che puoi specificare per Google Kubernetes Engine (GKE) i carichi di lavoro Autopilot e le modifiche automatiche per mantenere la stabilità del carico di lavoro.

Panoramica delle richieste di risorse in Autopilot

Autopilot utilizza le richieste di risorse specificate nel carico di lavoro per configurare i nodi che eseguono i carichi di lavoro. Autopilot applica le richieste di risorse minime e massime in base alla classe di calcolo o alla configurazione hardware utilizzata dai carichi di lavoro. Se non specifichi le richieste per alcuni container, Autopilot assegna valori predefiniti per consentire l'esecuzione corretta di questi container.

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

Nell'elenco seguente sono riepilogate le categorie delle richieste di risorse:

  • Richieste di risorse predefinite: Autopilot le aggiunge se non specificare le tue richieste per i carichi di lavoro
  • Richieste di risorse minime e massime: Autopilot convalida le richieste specificate per garantire che entro questi limiti. Se le richieste superano i limiti, Autopilot le modifica.
  • Richieste di separazione dei carichi di lavoro e di durata estesa: Autopilot ha valori predefiniti e valori minimi differenti per i carichi di lavoro separati tra loro o per i pod che ricevono la protezione estesa Eliminazione avviata da GKE.
  • Richieste di risorse per DaemonSet: Autopilot ha diverse impostazioni predefinite, i valori minimo e massimo dei container in DaemonSet.

Come richiedere risorse

In Autopilot, richiedi risorse nella specifica del pod. La le risorse minime e massime supportate che puoi richiedere di modificare in base 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 le richieste di risorse per alcuni container in un pod, Autopilot applica i valori predefiniti. Questi valori predefiniti sono adatti per molti carichi di lavoro 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 container

    • Spazio di archiviazione temporaneo: 1 GiB

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

Richieste predefinite per i classi di calcolo

Autopilot applica i seguenti valori predefiniti alle risorse che non definito nella specifica del pod per i pod in esecuzione classi di computing. Se imposti una sola richiesta e lasci vuota l'altra, 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 calcolo Risorsa Richiesta predefinita
Per uso generico (predefinito) CPU 0,5 vCPU
Memoria 2 GiB
Acceleratore Consulta la sezione Risorse predefinite per gli acceleratori.
Bilanciato CPU 0,5 vCPU
Memoria 2 GiB
Prestazioni CPU
  • Serie di macchine C3: 2 vCPU
  • Serie di macchine C3 con SSD locale: 2 vCPU
  • Serie di macchine C3D: 2 vCPU
  • Serie di macchine C3D con SSD locale: 4 vCPU
  • 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 locale: 8 GiB
  • Serie di macchine C3D: 8 GB
  • Serie di macchine C3D con SSD locale: 16 GiB
  • Serie di macchine H3: 320 GiB
  • Serie di macchine C2: 8 GB
  • Serie di macchine C2D: 8 GB
  • 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 locale: 1 GiB
  • Serie di macchine C3D: 1 GiB
  • Serie di macchine C3D con SSD locale: 1 GiB
  • 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 GiB

Richieste predefinite per gli acceleratori

La tabella seguente descrive i valori predefiniti che GKE assegna ai pod che non specificano valori nel campo requests del pod la specifica del container. Questa tabella si applica ai pod che utilizzano l'istanza di computing Accelerator , che è il metodo consigliato per eseguire gli acceleratori in Autopilot cluster.

Acceleratore Risorsa Richiesta predefinita totale
GPU NVIDIA H100 (80 GB)
nvidia-h100-80gb
CPU
  • 8 GPU: 200 vCPU
Memoria
  • 8 GPU: 1400 GiB
Archiviazione temporanea
  • 8 GPU: 1 GB
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 GB
  • 2 GPU: 134 GiB
  • 4 GPU: 296 GB
  • 8 GPU: 618 GB
  • 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 GB
  • 4 GPU: 618 GiB
  • 8 GPU: 1250 GiB
Archiviazione temporanea
  • 1 GPU: 1 GiB
  • 2 GPU: 1 GiB
  • 4 GPU: 1 GB
  • 8 GPU: 1 GB
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 GB
  • 2 GPU: 78 GiB
  • 4 GPU: 170 GB
  • 8 GPU: 355 GB
GPU NVIDIA T4
nvidia-tesla-t4
CPU
  • 1 GPU: 0,5 vCPU
  • 4 GPU: 0,5 vCPU
Memoria
  • 1 GPU: 2 GB
  • 4 GPU: 2 GB
TPU v5e
tpu-v5-lite-device (singolo 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 classe di calcolo Accelerator

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

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

Richieste di risorse minime e massime

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

  • Richieste di archiviazione temporanea:

    • L'archiviazione temporanea utilizza il disco di avvio della VM, a meno che i nodi non dispongano di SSD locali in allegato.

      Hardware per il calcolo che include SSD locali come GPU A100 (80 GB), Le GPU H100 (80 GB) o la serie di macchine Z3 supportano richiesta uguale alle dimensioni dell'SSD locale meno qualsiasi sistema overhead. Per informazioni su questo overhead di sistema, consulta Spazio di archiviazione temporaneo basato su SSD locali.

    • In GKE versione 1.29.3-gke.1038000 e successive, i pod di classe Performance e i pod di acceleratore hardware supportano una richiesta massima di archiviazione temporanea 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 di spazio di archiviazione temporaneo totale per tutti i contenitori nel pod deve essere compresa tra 10 MiB e 10 GiB, se non diversamente specificato.

    • Per volumi più grandi, utilizza volumi temporanei generici, che forniscono funzionalità e prestazioni equivalenti alle app 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 temporaneo generico che utilizza pd-balanced è 64 TiB.

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

    • Cluster che supportano l'aumento temporaneo delle risorse: 1 mCPU per pod, 2 MiB di memoria per pod e 10 MiB di archiviazione temporanea per contenitore nel pod.
    • Cluster che non supportano l'aumento temporaneo delle risorse: 10 milioni di CPU per pod, 10 MiB di memoria per pod e 10 MiB di archiviazione temporanea per contenitore nel pod.

    Per verificare se il tuo cluster supporta l'aumento temporaneo delle risorse, consulta Disponibilità dell'aumento temporaneo delle risorse in GKE.

  • Se il tuo cluster supporta il bursting, Autopilot non applica 0,25 vCPU per le richieste di CPU del pod. Se il cluster non supporta bursting, Autopilot arrotonda le richieste di CPU al bursting più vicino 0,25 vCPU. Per verificare se il tuo cluster supporta l'aumento temporaneo delle risorse, consulta Disponibilità dell'aumento temporaneo delle risorse 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 è al di fuori dell'intervallo consentito, Autopilot aumenta automaticamente e una risorsa più piccola. Ad esempio, se richiedi 1 vCPU e 16 GiB di memoria (rapporto 1:16) per i pod in esecuzione nella classe Scale-Out, Autopilot aumenta la richiesta di CPU a 4 vCPU, modificando il rapporto in 1:4.

Valori minimi e massimi per le classi di calcolo

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

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

Il valore dipende dal fatto che il cluster supporta il bursting, nel seguente modo:

  • Cluster che supportano il bursting: 50 m CPU
  • Cluster che non supportano l'aumento temporaneo della potenza di calcolo: 250 m CPU

Per verificare se il tuo cluster supporta l'aumento temporaneo delle risorse, consulta Disponibilità dell'aumento temporaneo delle risorse in GKE.

30 vCPU
Memoria

Il valore dipende dal fatto che il cluster supporta il bursting, nel seguente modo:

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

Per verificare se il tuo cluster supporta l'aumento temporaneo delle risorse, consulta Disponibilità dell'aumento temporaneo delle risorse 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 la piattaforma CPU minima selezionato:

  • 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 locale: 174 vCPU
  • Serie di macchine C3D: 358 vCPU
  • Serie di macchine C3D con SSD locale: 358 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 locale: 670 GiB
  • Serie di macchine C3D: 2750 GiB
  • Serie di macchine C3D con SSD locale: 1375 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
  • Serie di macchine C3: 250 GiB
  • Serie di macchine C3 con SSD locale: 10.000 GiB
  • Serie di macchine C3D: 250 GiB
  • Serie di macchine C3D con SSD locale: 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 GiB
  • Serie di macchine T2D: 250 GiB

Nella versione 1.29.3-gke.1038000 e successive, puoi specificare un numero massimo richiesta di spazio di archiviazione temporaneo di 56 Ti, a meno che l'hardware non includa SSD.

Scale out 1:4 CPU 0,25 vCPU
  • arm64: 43 vCPU
  • amd64: 54 vCPU
Memoria 1 GiB
  • arm64: 172 GiB
  • amd64: 216 GiB

Per scoprire come richiedere classi di calcolo nei pod Autopilot, consulta Scegliere classi di calcolo per i pod Autopilot.

Valori minimi e massimi per gli acceleratori

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

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

Valori minimi e massimi per la classe di calcolo Accelerator

La tabella seguente mostra le richieste di risorse minime e massime per i pod che usano la classe di computing Accelerator, che è il metodo consigliato per eseguire con i cluster GKE Autopilot. All'acceleratore di computing, GKE non applica il rapporto CPU-memoria.

Tipo di acceleratore Risorsa Minimo Massimo
NVIDIA H100 (80 GB)
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 (40 GB)
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 una GPU A100 non deve superare le 2 vCPU.

Memoria 1 MiB
  • 1 GPU: 74 GB
  • 2 GPU: 148 GB
  • 4 GPU: 310 GB
  • 8 GPU: 632 GB
  • 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 (80 GB)
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 in esecuzione su una GPU A100 (80 GB) non deve superare le 2 vCPU.

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

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

Archiviazione temporanea 512 MiB
  • 1 GPU: 280 GiB
  • 2 GPU: 585 GB
  • 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 in esecuzione su una GPU L4 non deve superare le 2 vCPU.

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

La somma delle richieste di memoria di tutti i DaemonSet in esecuzione su una GPU L4 non deve superare i 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-device
CPU 0,001 vCPU
  • Topologia 1x1: 24 vCPU
  • Topologia 2x2: 112 vCPU
  • Topologia 2x4: 224 vCPU
Memoria 1 MiB
  • Topologia 1x1: 48 GB
  • Topologia 2x2: 192 GiB
  • Topologia 2 x 4: 384 GiB
Archiviazione temporanea 10 MiB 56 TiB
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 16 x 16: 112 vCPU
Memoria 1 MiB
  • Topologia 1x1: 48 GB
  • Topologia 2 x 2: 192 GiB
  • Topologia 2x4 (richiesta da 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 16 x 16: 192 GiB
Spazio di 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
Spazio di archiviazione temporanea 10 MiB 56 TiB

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

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

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 una GPU A100 non deve superare le 2 vCPU.

Memoria
  • 1 GPU: 60 GB
  • 2 GPU: 134 GiB
  • 4 GPU: 296 GB
  • 8 GPU: 618 GB
  • 16 GPU: 1250 GiB
  • 1 GPU: 74 GB
  • 2 GPU: 148 GB
  • 4 GPU: 310 GB
  • 8 GPU: 632 GB
  • 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 (80 GB)
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 in esecuzione su una GPU A100 (80 GB) non deve superare le 2 vCPU.

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

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

Spazio di 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 GB
  • 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 in esecuzione su una GPU L4 non deve superare le 2 vCPU.

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

La somma delle richieste di memoria di tutti i DaemonSet in esecuzione su una GPU L4 non deve superare i 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 pod Autopilot, consulta 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 il comportamento di pianificazione ed espulsione di Kubernetes utilizzando metodi come i seguenti:

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

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

La tabella seguente descrive le richieste predefinite e il numero minimo di risorse richieste che puoi specificare. Se una configurazione o una classe di computing non è in questo Autopilot non applica valori minimi o predefiniti speciali.

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

Container inizializzazione

I container di inizializzazione vengono eseguiti in serie e devono essere completati prima dell'avvio dei container dell'applicazione. Se non specifichi richieste di risorse per Container di init Autopilot, GKE alloca il totale a ogni container di inizializzazione disponibili per il pod. Questo comportamento è diverso da quello di GKE Standard, in cui ogni contenitore iniziale 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 richieste di risorse per i container di inizializzazione Autopilot, in modo che ogni container riceva tutte le risorse disponibili per il pod. Se richiedi meno risorse rispetto a quelle predefinite, limiti il contenitore di inizializzazione. Se richiedi più risorse rispetto a quelle predefinite di Autopilot, potresti aumentare la fattura per l'intera vita utile del pod.

Impostazione dei limiti di risorse in Autopilot

Kubernetes consente di impostare sia requests sia limits per le risorse la specifica del pod. Il comportamento dei pod cambia a seconda che le tue limits è diverso da requests, come descritto di seguito tabella:

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 o meno l'esplosione, come segue:

  • Cluster che supportano l'aumento temporaneo della capacità: i pod possono aumentare temporaneamente la loro dimensione utilizzando la capacità espandibile disponibile.
  • Cluster che non supportano il bursting: GKE imposta limits su requests

Per verificare se il tuo cluster supporta l'aumento temporaneo delle risorse, consulta Disponibilità dell'aumento temporaneo delle risorse in GKE.

Valore 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 o meno l'esplosione, come segue:

  • Cluster che supportano l'aumento dinamico: i pod possono aumentare fino al valore specificato in limits.
  • Cluster che non supportano il bursting: GKE imposta limits uguale al requests

Per verificare se il cluster supporta il bursting, vedi Grande disponibilità in GKE.

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

Prima del:

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

Dopo il:

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

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

Il comportamento per limits dipende dal fatto che il tuo cluster supporta il bursting, nel seguente modo:

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

Per verificare se il tuo cluster supporta l'aumento temporaneo delle risorse, consulta Disponibilità dell'aumento temporaneo delle risorse in GKE.

Nella maggior parte delle situazioni, imposta richieste di risorse adeguate e limiti uguali per carichi di lavoro con scale out impegnativi.

Per carichi di lavoro che richiedono temporaneamente più risorse se è stabile, ad esempio durante l'avvio o durante i periodi di traffico più elevato, limiti superiori alle richieste per consentire il burst dei pod. Per maggiori dettagli, consulta Configurare l'esplosione dei pod in GKE.

Gestione automatica delle risorse in Autopilot

Se le richieste di risorse specificate per i carichi di lavoro sono al di fuori del consentiti oppure, se non richiedi risorse per alcuni container, Autopilot modifica la configurazione del carico di lavoro per rispettare le consentiti. Autopilot calcola i rapporti delle risorse e i requisiti di scalabilità delle risorse dopo aver applicato i valori predefiniti ai contenitori senza richieste specificate.

  • Richieste mancanti: se non richiedi risorse in alcuni container, Autopilot applica le richieste predefinite per la classe di calcolo o la configurazione hardware.
  • Rapporto CPU:memoria:Autopilot fa lo scale up della risorsa più piccola verso il rapporto deve rientrare nell'intervallo consentito.
  • Archiviazione temporanea: Autopilot modifica lo spazio di archiviazione temporaneo. per soddisfare la quantità minima richiesta da ciascun container. La il valore cumulativo delle richieste di archiviazione in tutti i container non può essere superiore rispetto al 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 rispetto al valore minimo consentito per la configurazione hardware selezionata, Autopilot modifica automaticamente il pod in modo che richieda almeno il valore minimo della risorsa.

Per impostazione predefinita, quando Autopilot scala automaticamente una risorsa per soddisfare un valore minimo o predefinito della risorsa, GKE alloca 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 in 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 contenitore.

Esempi di modifica delle risorse

Lo scenario di esempio seguente mostra in che modo Autopilot modifica della configurazione dei carichi di lavoro per soddisfare i requisiti dei pod in esecuzione containerizzati.

Container singolo con < 0,05 vCPU

Numero contenitore 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
Archiviazione temporanea: 10 MiB

Più container con CPU totale < 0,05 vCPU

Numero contenitore 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
Archiviazione temporanea: 10 MiB
2 CPU: 10 mCPU
Memoria: 0,5 GiB
Archiviazione temporanea: 10 MiB
CPU: 10 mCPU
Memoria: 0,5 GiB
Archiviazione temporanea: 10 MiB
3 CPU: 10 mvCPU
Memoria: 0,5 GiB
Spazio di archiviazione temporaneo: 10 MiB
CPU: 10 mCPU
Memoria: 0,5 GiB
Archiviazione temporanea: 10 MiB
Risorse totali del pod CPU: 50 mCPU
Memoria: 1,5 GiB
Archiviazione temporanea: 30 MiB

Container singolo con memoria troppo bassa per la CPU richiesta

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

Numero contenitore Richiesta originale Richiesta modificata
1 CPU: 4 vCPU
Memoria: 1 GiB
Archiviazione temporanea: 10 MiB
CPU: 4 vCPU
Memoria: 4 GiB
Archiviazione temporanea: 10 MiB
Risorse pod totali CPU: 4 vCPU
Memoria: 4 GiB
Archiviazione temporanea: 10 MiB

Passaggi successivi