Questa pagina descrive le classi di computing che puoi utilizzare per eseguire i carichi di lavoro Autopilot di Google Kubernetes Engine (GKE) che hanno requisiti hardware specifici. Per le istruzioni, consulta Eseguire i pod Autopilot su classi di calcolo specifiche.
Panoramica delle classi di computing Autopilot
Per impostazione predefinita, i pod GKE Autopilot vengono eseguiti su una piattaforma di computing ottimizzata per carichi di lavoro generici come servizi web e job batch a media intensità. Questa piattaforma generale fornisce una configurazione hardware affidabile e con ottimizzazione dei costi in grado di gestire i requisiti della maggior parte dei carichi di lavoro.
Se hai carichi di lavoro con requisiti hardware unici, come l'esecuzione di attività di machine learning o di AI, l'esecuzione di database ad alto traffico in tempo reale o l'esigenza di piattaforme e architetture specifiche della CPU, Autopilot offre classi di calcolo. Queste classi di computing sono un sottoinsieme selezionato della serie di macchine di Compute Engine e offrono flessibilità oltre la classe di calcolo predefinita di Autopilot. Ad esempio,
la classe di computing Scale-Out
utilizza VM che disattivano il multi-threading 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 classe di calcolo generica predefinita, Autopilot gestisce il dimensionamento e l'allocazione delle risorse delle classi di computing 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 più adatta alle esigenze di ogni pod.
Scegli un'architettura CPU specifica
Se i carichi di lavoro sono progettati per piattaforme o architetture CPU specifiche, puoi facoltativamente selezionare queste piattaforme o architetture nelle specifiche dei 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 computing Scale-Out
.
Prezzi
I prezzi dei pod GKE Autopilot si basano sui nodi in cui sono pianificati. Per informazioni sui prezzi per carichi di lavoro generici e pod spot su specifiche classi di calcolo, nonché per informazioni su eventuali sconti per impegno di utilizzo, consulta la pagina relativa ai prezzi della modalità Autopilot.
I pod spot su classi di calcolo generiche o specializzate non sono idonei agli sconti per impegno di utilizzo.
Quando utilizzare classi di computing specifiche
La tabella seguente fornisce una panoramica tecnica delle classi di computing supportate da Autopilot e dei casi d'uso di esempio per i pod in esecuzione su ogni piattaforma. Se non richiedi una classe di computing, Autopilot posiziona i pod nella piattaforma di computing generica, progettata per eseguire in modo ottimale la maggior parte dei carichi di lavoro.
Requisito di carico di lavoro | Classe di computing | Descrizione | Esempi di casi d'uso |
---|---|---|---|
Carichi di lavoro che non richiedono hardware specifico | Per uso generico |
Autopilot utilizza la piattaforma di computing generica se non richiedi esplicitamente una classe di computing nella specifica del pod. Non puoi selezionare esplicitamente la piattaforma per uso generico nella tua specifica. Supportato dalla serie di macchine E2. |
|
Carichi di lavoro che richiedono GPU | Accelerator |
I tipi di GPU compatibili sono i seguenti:
|
|
Richieste di CPU o memoria superiori ai limiti massimi delle classi 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 che richiedono molte CPU come l'addestramento AI/ML o il computing ad alte prestazioni (HPC) | Performance |
Per un elenco delle serie di macchine di Compute Engine disponibili con la classe di computing delle prestazioni, consulta Serie di macchine supportate. |
|
Computing singolo 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 in una classe di computing specifica, specifica l'etichettacloud.google.com/compute-class
in un nodeSelector o 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 anche specificare una GPU compatibile. Per le istruzioni, consulta Eseguire il deployment dei carichi di lavoro GPU in Autopilot. Se selezioni Performance
,
devi selezionare anche una serie di macchine Compute Engine nel selettore dei nodi. Per le istruzioni, consulta Eseguire carichi di lavoro ad alta intensità di 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 di calcolo
in base al tuo caso d'uso, ad esempio Scale-Out
. Se selezioni Accelerator
, devi anche specificare una GPU compatibile. Per le istruzioni, consulta Eseguire il deployment dei carichi di lavoro GPU in Autopilot. Se selezioni Performance
,
devi selezionare anche una serie di macchine Compute Engine nel selettore dei nodi. Per le istruzioni, consulta Eseguire carichi di lavoro ad alta intensità di CPU con prestazioni ottimali.
Quando esegui il deployment del carico di lavoro, Autopilot effettua le seguenti operazioni:
- Per eseguire i pod, esegui automaticamente il provisioning dei nodi supportati dalla configurazione specificata.
- Aggiunge automaticamente le incompatibilità ai nuovi nodi per impedire ad altri pod di pianificare su questi nodi. Le incompatibilità sono univoche per ogni classe di computing. Se selezioni anche un'architettura CPU, GKE aggiunge un'incompatibilità separata univoca 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 nei nuovi nodi.
Ad esempio, se richiedi la classe di computing Scale-Out
per un pod:
- Autopilot aggiunge un'incompatibilità specifica di
Scale-Out
per i nodi. - La modalità Autopilot aggiunge una tolleranza per quell'incompatibilità ai pod
Scale-Out
.
I pod che non richiedono Scale-Out
non riceveranno la tolleranza. Di conseguenza,
GKE non pianificherà questi pod sui nodi Scale-Out
.
Se non richiedi esplicitamente una classe di computing nella specifica dei carichi 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 per la classe di calcolo per uso generico.
Come richiedere un'architettura della CPU
In alcuni casi, i carichi di lavoro potrebbero essere creati per un'architettura specifica, ad esempio Arm. Alcune classi di calcolo, ad esempio Bilanciato o Scale out, supportano più architetture di CPU. Puoi richiedere un'architettura specifica insieme alla richiesta della classe di computing specificando un'etichetta nel selettore dei nodi o nella regola di affinità del nodo, 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
desiderata, 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 per i nodi che utilizzano l'architettura CPU ARM. I nodi ARM sono più efficienti in termini di costi rispetto a nodi x86 simili, offrendo al contempo miglioramenti delle prestazioni. Per istruzioni su come richiedere i nodi Arm, consulta Eseguire il deployment dei carichi di lavoro Autopilot sull'architettura ARM.
Assicurati di utilizzare le immagini corrette nei tuoi deployment. Se i 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 si arrestano in modo anomalo.
Convalide Autopilot per i carichi di lavoro delle classi di computing
Autopilot convalida i manifest del carico di lavoro per garantire che la classe di calcolo e le richieste di architettura nel selettore dei nodi o nelle regole di affinità dei nodi siano formattate correttamente. Si applicano le seguenti regole:
- Non più di una classe di computing.
- Nessuna classe di computing non supportata.
- La versione GKE deve supportare la classe Compute.
- Non è stata selezionata più di un'architettura.
- La classe Compute deve supportare l'architettura selezionata.
Se il manifest del carico di lavoro non supera una di queste convalide, Autopilot rifiuta il carico di lavoro.
Disponibilità a livello di regione della classe di computing
La seguente tabella descrive le regioni in cui sono disponibili architetture CPU e classi di computing specifiche:
Disponibilità delle classi 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 |
Architettura ARM (
Architettura x86 (
|
Se una classe di computing è disponibile in una regione specifica, l'hardware è disponibile in almeno due zone in quella regione.
Richieste di risorse predefinite, minime e massime
Quando scegli una classe di computing per i tuoi carichi di lavoro Autopilot, assicurati di specificare richieste di risorse che soddisfino le richieste minime e massime per quella classe di computing. Per informazioni sulle richieste predefinite, nonché sulle richieste minime e massime per ogni classe di computing, consulta Richieste e limiti di risorse in GKE Autopilot.
Passaggi successivi
- Scopri come selezionare classi di computing specifiche nei tuoi carichi di lavoro Autopilot.
- Leggi ulteriori informazioni sulle richieste di risorse predefinite, minime e massime per ogni piattaforma.