Questa pagina descrive le classi di calcolo integrate disponibili nei cluster Google Kubernetes Engine (GKE) Autopilot per i carichi di lavoro con requisiti hardware specifici.
Panoramica delle classi di computing integrate nei cluster Autopilot
Per impostazione predefinita, i pod nei cluster GKE Autopilot vengono eseguiti su una piattaforma di calcolo ottimizzata per i container. Questa piattaforma è ideale per carichi di lavoro generici come server web e job batch di media intensità. La piattaforma di calcolo ottimizzata per i container fornisce una configurazione hardware affidabile, scalabile e ottimizzata per i costi in grado di gestire i requisiti della maggior parte dei carichi di lavoro.
Se hai carichi di lavoro con requisiti hardware unici, ad esempio l'esecuzione di
attività di machine learning o AI, l'esecuzione di database ad alto traffico in tempo reale o
la necessità di piattaforme e architetture CPU specifiche, Autopilot offre
classi di calcolo. Queste classi di computing sono un sottoinsieme selezionato delle
serie di macchine
Compute Engine e offrono
flessibilità oltre alla piattaforma di computing Autopilot predefinita. Ad esempio,
la classe di calcolo Scale-Out
utilizza VM che disattivano il multithreading simultaneo e
sono ottimizzate per lo scale out.
Puoi richiedere nodi supportati da classi di computing specifiche in base ai requisiti di ciascuno dei tuoi carichi di lavoro. Analogamente alla piattaforma di calcolo ottimizzata per i container di uso generale predefinita, Autopilot gestisce il dimensionamento e l'allocazione delle risorse delle classi di calcolo richieste in base ai pod in esecuzione. Puoi richiedere classi di calcolo a livello di pod per ottimizzare l'efficienza dei costi scegliendo la soluzione migliore per le esigenze di ogni pod.
Classi di computing personalizzate per una maggiore flessibilità
Se le classi di calcolo integrate nei cluster Autopilot non soddisfano i requisiti del tuo carico di lavoro, puoi configurare le tue classi di calcolo.
Puoi eseguire il deployment di ComputeClass
CustomResource Kubernetes nei tuoi cluster con
set di attributi dei nodi che GKE utilizza per configurare nuovi nodi nel
cluster. Per ulteriori informazioni sulle classi di calcolo personalizzate, consulta
Informazioni sulle classi di calcolo personalizzate.
Scegliere un'architettura della CPU specifica
Se i tuoi carichi di lavoro sono progettati per piattaforme o architetture CPU specifiche, puoi
selezionarle facoltativamente nelle specifiche del pod. Ad esempio, se vuoi che i tuoi pod vengano eseguiti su nodi che utilizzano l'architettura
Arm, puoi scegliere arm64
all'interno della classe di calcolo Scale-Out
.
Prezzi
I prezzi dei pod GKE Autopilot si basano sui nodi in cui sono pianificati i pod. Per informazioni sui prezzi per carichi di lavoro generici e pod spot su classi di calcolo specifiche e per informazioni su eventuali sconti per impegno di utilizzo, consulta la pagina Prezzi della modalità Autopilot.
I pod spot nelle classi di calcolo generiche o specializzate non sono idonei per gli sconti per impegno di utilizzo.
Quando utilizzare classi di calcolo specifiche
La tabella seguente fornisce una panoramica tecnica delle classi di calcolo predefinite supportate da Autopilot ed esempi di casi d'uso per i pod in esecuzione su ciascuna piattaforma. Se non richiedi una classe di calcolo, Autopilot inserisce i pod nella piattaforma di calcolo generica, progettata per eseguire la maggior parte dei carichi di lavoro in modo ottimale.
Se nessuna di queste opzioni soddisfa i tuoi requisiti, puoi definire ed eseguire il deployment delle tue classi di calcolo personalizzate che specificano le proprietà dei nodi da utilizzare in GKE durante lo scale up del cluster. Per maggiori dettagli, vedi Informazioni sulle classi di calcolo personalizzate.
Requisito del workload | Classe di computing | Descrizione | Esempi di casi d'uso |
---|---|---|---|
Workload che non richiedono hardware specifico | Per uso generico |
Autopilot utilizza la piattaforma di calcolo generica se non richiedi esplicitamente una classe di calcolo nella specifica del pod. Non puoi selezionare esplicitamente la piattaforma generica nella tua specifica. Supportato dalla serie di macchine E2. A volte potresti visualizzare |
|
Workload che richiedono GPU | Accelerator |
I tipi di GPU compatibili sono i seguenti:
|
|
Richieste di CPU o memoria superiori ai valori massimi della classe di calcolo per uso generico o a piattaforme CPU specifiche | Balanced |
Supportato dalla serie di macchine N2 (Intel) o dalla serie di macchine N2D (AMD). |
|
Carichi di lavoro con requisiti per serie di macchine specifiche non coperte da altre classi di calcolo | Serie di macchine specifica |
Per maggiori dettagli, vedi Ottimizzare il rendimento del pod Autopilot scegliendo una serie di macchine. |
|
Workload che richiedono un uso intensivo della CPU, come l'addestramento AI/ML o il computing ad alte prestazioni (HPC) | Performance |
Per un elenco delle serie di macchine Compute Engine disponibili con la classe di calcolo Performance, consulta Serie di macchine supportate. |
|
Elaborazione con un solo thread per core e scalabilità orizzontale | Scale-Out |
Supportato dalla serie di macchine Tau T2A (Arm) o dalla serie di macchine Tau T2D (x86). |
|
Come selezionare una classe di computing in Autopilot
Per istruzioni dettagliate, consulta Scegliere le classi di computing per i pod Autopilot.
Per indicare ad Autopilot di posizionare i pod su una classe di calcolo specifica, specifica l'etichettacloud.google.com/compute-class
in un
nodeSelector
o in una regola di affinità dei nodi,
come nei seguenti esempi:
nodeSelector
apiVersion: apps/v1 kind: Deployment metadata: name: hello-app spec: replicas: 3 selector: matchLabels: app: hello-app template: metadata: labels: app: hello-app spec: nodeSelector: cloud.google.com/compute-class: "COMPUTE_CLASS" containers: - name: hello-app image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 resources: requests: cpu: "2000m" memory: "2Gi"
Sostituisci COMPUTE_CLASS
con il nome della classe di calcolo
in base al tuo caso d'uso, ad esempio Scale-Out
. Se selezioni Accelerator
,
devi specificare anche una GPU compatibile. Per istruzioni, vedi Esegui il deployment dei carichi di lavoro GPU in Autopilot. Se
selezioni Performance
, puoi facoltativamente selezionare una serie di macchine Compute Engine
nel selettore di nodi. Se non specifichi una serie di macchine, GKE utilizza la serie di macchine C4 a seconda della disponibilità regionale. Per istruzioni, vedi Esegui carichi di lavoro che richiedono un utilizzo elevato della CPU con prestazioni ottimali.
nodeAffinity
apiVersion: apps/v1 kind: Deployment metadata: name: hello-app spec: replicas: 3 selector: matchLabels: app: hello-app template: metadata: labels: app: hello-app spec: terminationGracePeriodSeconds: 25 containers: - name: hello-app image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 resources: requests: cpu: "2000m" memory: "2Gi" ephemeral-storage: "1Gi" affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: cloud.google.com/compute-class operator: In values: - "COMPUTE_CLASS"
Sostituisci COMPUTE_CLASS
con il nome della
classe compute in base al tuo caso d'uso, ad esempio Scale-Out
. Se selezioni
Accelerator
, devi anche specificare una GPU compatibile. Per istruzioni, vedi Esegui il deployment dei carichi di lavoro GPU in Autopilot.
Se selezioni Performance
, puoi facoltativamente selezionare una
serie di macchine Compute Engine nel selettore di nodi. Se non specifichi una serie di macchine, GKE utilizza la serie di macchine C4 a seconda della disponibilità regionale. Per istruzioni, vedi Esegui carichi di lavoro che richiedono un utilizzo elevato della CPU con
prestazioni ottimali.
Quando esegui il deployment del workload, Autopilot esegue le seguenti operazioni:
- Esegue automaticamente il provisioning dei nodi supportati dalla configurazione specificata per eseguire i pod.
- Aggiunge automaticamente incompatibilità ai nuovi nodi per impedire la pianificazione di altri pod su questi nodi. I taint sono univoci per ogni classe di calcolo. Se selezioni anche un'architettura CPU, GKE aggiunge un taint separato univoco per quell'architettura.
- Aggiunge automaticamente le tolleranze corrispondenti alle incompatibilità applicate ai pod di cui è stato eseguito il deployment, consentendo a GKE di posizionare questi pod sui nuovi nodi.
Ad esempio, se richiedi la classe di calcolo Scale-Out
per un pod:
- Autopilot aggiunge un taint specifico per
Scale-Out
per questi nodi. - Autopilot aggiunge una tolleranza per questa contaminazione ai pod
Scale-Out
.
I pod che non richiedono Scale-Out
non otterranno la tolleranza. Di conseguenza,
GKE non pianificherà questi pod sui nodi Scale-Out
.
Se non richiedi esplicitamente una classe di calcolo nella specifica del carico di lavoro, Autopilot pianifica i pod sui nodi che utilizzano la classe di calcolo generica predefinita. La maggior parte dei carichi di lavoro può essere eseguita senza problemi nella classe di calcolo per uso generico.
Come richiedere un'architettura della CPU
In alcuni casi, i tuoi carichi di lavoro potrebbero essere creati per un'architettura specifica, ad esempio Arm. Alcune classi di calcolo, come Balanced o Scale-Out, supportano più architetture CPU. Puoi richiedere un'architettura specifica insieme alla richiesta della classe di calcolo specificando un'etichetta nel selettore di nodi o nella regola di affinità dei nodi, come nell'esempio seguente:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-arm
spec:
replicas: 3
selector:
matchLabels:
app: nginx-arm
template:
metadata:
labels:
app: nginx-arm
spec:
nodeSelector:
cloud.google.com/compute-class: COMPUTE_CLASS
kubernetes.io/arch: ARCHITECTURE
containers:
- name: nginx-arm
image: nginx
resources:
requests:
cpu: 2000m
memory: 2Gi
Sostituisci ARCHITECTURE
con l'architettura della CPU che preferisci, ad esempio arm64
o amd64
.
Se non richiedi esplicitamente un'architettura, Autopilot utilizza l'architettura predefinita della classe di computing specificata.
Architettura Arm su Autopilot
Autopilot supporta le richieste di nodi che utilizzano l'architettura della CPU Arm. I nodi Arm sono più convenienti rispetto a nodi x86 simili e offrono miglioramenti delle prestazioni. Per istruzioni su come richiedere nodi Arm, consulta Eseguire il deployment di workload Autopilot sull'architettura Arm.
Assicurati di utilizzare le immagini corrette nelle implementazioni. Se i tuoi pod utilizzano immagini Arm e non richiedi nodi Arm, Autopilot pianifica i pod sui nodi x86 e i pod si arrestano in modo anomalo. Allo stesso modo, se utilizzi accidentalmente immagini x86, ma richiedi nodi Arm per i pod, questi ultimi si arresteranno in modo anomalo.
Convalide di Autopilot per i workload della classe di computing
Autopilot convalida i manifest del carico di lavoro per assicurarsi che le richieste di classe di calcolo e architettura nelle regole di selettore di nodi o affinità dei nodi siano formattate correttamente. Si applicano le seguenti regole:
- Non più di una classe di computing.
- Nessuna classe di calcolo non supportata.
- La versione GKE deve supportare la classe di calcolo.
- Non più di un'architettura selezionata.
- La classe di calcolo deve supportare l'architettura selezionata.
Se il manifest del workload non supera una di queste convalide, Autopilot lo rifiuta.
Disponibilità regionale della classe di calcolo
La tabella seguente descrive le regioni in cui sono disponibili classi di calcolo e architetture CPU specifiche:
Disponibilità della classe di computing | |
---|---|
Per uso generico | Tutte le regioni |
Balanced |
Tutte le regioni |
Performance |
Tutte le regioni che contengono una serie di macchine supportata. |
Scale-Out |
Tutte le regioni che contengono una serie di macchine Compute Engine corrispondente. Per visualizzare la disponibilità di serie di macchine specifiche, utilizza i filtri in Regioni e zone disponibili. |
Se una classe di calcolo è disponibile in una regione specifica, l'hardware è disponibile in almeno due zone di quella regione.
Richieste di risorse predefinite, minime e massime
Quando scegli una classe di calcolo per i tuoi workload Autopilot, assicurati di specificare richieste di risorse che soddisfino le richieste minime e massime per quella classe di calcolo. Per informazioni sulle richieste predefinite, nonché sulle richieste minime e massime per ogni classe di computing, consulta Richieste e limiti delle risorse in GKE Autopilot.
Passaggi successivi
- Scopri come selezionare classi di calcolo specifiche nei tuoi carichi di lavoro Autopilot.
- Scopri di più sulle richieste di risorse predefinite, minime e massime per ogni piattaforma.