Classi di calcolo in Autopilot


Questa pagina descrive le classi di calcolo che puoi utilizzare per eseguire i carichi di lavoro di Google Kubernetes Engine (GKE) Autopilot con requisiti hardware specifici. Per le istruzioni, consulta Eseguire pod Autopilot su classi di calcolo specifiche.

Panoramica delle classi di calcolo di Autopilot

Per impostazione predefinita, i pod GKE Autopilot vengono eseguiti su una piattaforma di calcolo ottimizzata per carichi di lavoro generici come il servizio web e i job batch di media intensità. Questa piattaforma generale fornisce una configurazione hardware affidabile e ottimizzata in termini di costi in grado di soddisfare 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 calcolo sono un sottoinsieme selezionato delle serie di macchine Compute Engine e offrono una flessibilità superiore alla classe di calcolo 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 calcolo specifiche in base ai requisiti di ciascun carico di lavoro. Analogamente alla classe di calcolo generica predefinita, Autopilot gestisce le dimensioni 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 in termini di costi scegliendo la soluzione più adatta alle esigenze di ciascun pod.

Scegli un'architettura CPU specifica

Se i tuoi carichi di lavoro sono progettati per architetture o piattaforme CPU specifiche, puoi selezionare facoltativamente queste piattaforme o architetture nelle specifiche del pod. Ad esempio, se vuoi che i 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 su cui vengono pianificati i pod. Per informazioni sui prezzi per i carichi di lavoro generici e i pod Spot su classi di calcolo specifiche, nonché per informazioni su eventuali sconti per impegno di utilizzo, consulta la pagina relativa ai prezzi della modalità Autopilot.

I pod Spot in 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 e casi d'uso di esempio per i pod in esecuzione su ogni piattaforma. Se non richiedi una classe di calcolo, Autopilot colloca i pod sulla 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 da parte di GKE durante l'aumento di scala del cluster. Per maggiori dettagli, consulta Informazioni sui tipi di calcolo personalizzati.

Requisito del workload Classe di calcolo Descrizione Esempi di casi d'uso
Carichi di lavoro 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 ek come serie di macchine dei nodi nei tuoi nodi Autopilot. Le macchine EK sono tipi di macchine E2 ottimizzate per GKE Autopilot.

  • Server web
  • Database di piccole e medie dimensioni
  • Ambienti di sviluppo
Carichi di lavoro che richiedono GPU Accelerator
  • I pod possono accedere alle risorse di calcolo in qualsiasi momento
  • Nessun limite di memoria o CPU del pod

I tipi di GPU compatibili sono:

  • nvidia-h200-141gb: NVIDIA H200 (141GB)
  • nvidia-h100-mega-80gb: NVIDIA H100 Mega (80GB)
  • nvidia-h100-80gb: NVIDIA H100 (80GB)
  • nvidia-a100-80gb: NVIDIA A100 (80GB)
  • nvidia-tesla-a100: NVIDIA A100 (40GB)
  • nvidia-l4: NVIDIA L4
  • nvidia-tesla-t4: NVIDIA T4

  • Addestramento e inferenza AI/ML incentrati sulle GPU
Richieste di CPU o memoria superiori ai valori massimi della classe di calcolo generica o a piattaforme CPU specifiche Balanced
  • CPU disponibili: AMD EPYC Rome, AMD EPYC Milan, Intel Ice Lake, Intel Cascade Lake
  • Architettura disponibile: amd64
  • Richieste di risorse supportate più grandi rispetto a quelle generiche
  • Possibilità di impostare piattaforme CPU minime per i pod, ad esempio "Intel Ice Lake o versioni successive".

Supportato dalla serie di macchine N2 (Intel) o dalla serie di macchine N2D (AMD).

  • Server web
  • Database medio-grandi
  • Memorizzazione nella cache
  • Streaming e pubblicazione di contenuti multimediali
  • Hyperdisk Throughput e spazio di archiviazione Extreme
Carichi di lavoro con requisiti per serie di macchine specifiche che non sono coperti da altre classi di calcolo Serie di macchine specifiche
  • Architettura disponibile: amd64, arm64
  • I pod possono richiedere serie di macchine specifiche per i propri nodi
  • Nessun limite di memoria o CPU del pod

Per maggiori dettagli, vedi Ottimizzare il rendimento del pod Autopilot scegliendo una serie di macchine.

  • Addestramento e inferenza AI/ML incentrati sulla CPU
  • Carichi di lavoro batch HPC
  • Spazio di archiviazione Hyperdisk bilanciato, Throughput ed Extreme
Workload che richiedono un'elevata intensità di risorse CPU, come l'addestramento AI/ML o il calcolo ad alte prestazioni (HPC) Performance
  • Architettura disponibile: amd64, arm64
  • I pod possono accedere alle risorse di calcolo in qualsiasi momento
  • Nessun limite di memoria o CPU del pod
  • Un pod per nodo

Per un elenco delle serie di macchine Compute Engine disponibili con la classe di calcolo ad alte prestazioni, consulta Serie di macchine supportate.

  • Addestramento e inferenza AI/ML incentrati sulla CPU
  • Carichi di lavoro batch HPC
  • Spazio di archiviazione Hyperdisk bilanciato, Throughput ed Extreme
Calcolo con un solo thread per core e scalabilità orizzontale Scale-Out
  • CPU disponibili: Ampere Altra Arm o AMD EPYC Milan
  • Famiglia di macchine Compute Engine: T2A (Arm), T2D (x86)
  • Architettura disponibile: arm64 o amd64
  • SMT off. Una vCPU equivale a un core fisico.
  • Clock massimo di 3,5 GHz

Supportato dalla serie di macchine Tau T2A (Arm) o dalla serie di macchine Tau T2D (x86).

  • Server web
  • Microservizi containerizzati
  • Elaborazione dei log dei dati
  • App Java su larga scala
  • Spazio di archiviazione throughput Hyperdisk

Come selezionare una classe di calcolo in Autopilot

Per istruzioni dettagliate, consulta Scegliere le classi di calcolo per i pod Autopilot.

Per indicare ad Autopilot di posizionare i pod in una classe di calcolo specifica, specifica l'etichetta cloud.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 anche specificare una GPU compatibile. Per le istruzioni, vedi Eseguire il deployment dei carichi di lavoro GPU in Autopilot. Se selezioni Performance, puoi facoltativamente selezionare una serie di macchine Compute Engine nel selettore dei nodi. Se non specifichi una serie di macchine, GKE utilizza la serie di macchine C4 in base alla disponibilità regionale. Per le istruzioni, vedi Eseguire carichi di lavoro incentrati sulla 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, vedi Eseguire il deployment dei carichi di lavoro GPU in Autopilot. Se selezioni Performance, puoi facoltativamente selezionare una serie di macchine Compute Engine nel selettore dei nodi. Se non specifichi una serie di macchine, GKE utilizza la serie di macchine C4 in base alla disponibilità regionale. Per istruzioni, vedi Eseguire carichi di lavoro con utilizzo intensivo della CPU con prestazioni ottimali.

Quando esegui il deployment del carico di lavoro, Autopilot esegue le seguenti operazioni:

  • Esegue il provisioning automatico 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 contami sono unici per ogni classe di calcolo. Se selezioni anche un'architettura CPU, GKE aggiunge un'alterazione distinta specifica per quell'architettura.
  • Aggiunge automaticamente le tolleranze corrispondenti alle incompatibilità applicate ai pod di cui è stato eseguito il deployment, il che consente a GKE di posizionare questi pod sui nuovi nodi.

Ad esempio, se richiedi la classe di calcolo Scale-Out per un pod:

  1. Autopilot aggiunge un'alterazione specifica per Scale-Out per questi nodi.
  2. Autopilot aggiunge una tolleranza per l'alterazione 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 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 sulla classe di calcolo generica.

Come richiedere un'architettura CPU

In alcuni casi, i carichi di lavoro potrebbero essere creati per un'architettura specifica, come Arm. Alcune classi di calcolo, come Equilibrato o Scalabile, 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 calcolo 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, offrendo al contempo miglioramenti delle prestazioni. Per istruzioni su come richiedere nodi Arm, consulta Eseguire il deployment dei workload Autopilot sull'architettura Arm.

Assicurati di utilizzare le immagini corrette nei tuoi implementazioni. Se i tuoi pod utilizzano immagini Arm e non richiedi nodi Arm, Autopilot pianifica i pod su nodi x86 e i pod si arresteranno in modo anomalo. Allo stesso modo, se utilizzi erroneamente immagini x86, ma richiedi nodi Arm per i pod, questi ultimi andranno in crash.

Convalide di Autopilot per i carichi di lavoro della classe di calcolo

Autopilot convalida i manifest del carico di lavoro per assicurarsi che le richieste di classe di calcolo e architettura nei selettori di nodi o nelle regole di affinità dei nodi siano formattate correttamente. Si applicano le seguenti regole:

  • Non più di una classe di calcolo.
  • 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 carico di lavoro non supera una di queste convalide, Autopilot rifiuta il carico di lavoro.

Disponibilità regionale della classe di calcolo

La tabella seguente descrive le regioni in cui sono disponibili classi di calcolo e architetture CPU specifiche:

Disponibilità delle classi di calcolo
Per uso generico Tutte le regioni
Balanced Tutte le regioni
Performance Tutte le regioni che contengono una serie di macchine supportate.
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 almeno in due zone della 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 calcolo, consulta Richieste e limiti di risorse in GKE Autopilot.

Passaggi successivi