Class komputasi di Autopilot


Halaman ini menjelaskan class komputasi yang dapat Anda gunakan untuk menjalankan workload Autopilot Google Kubernetes Engine (GKE) yang memiliki persyaratan hardware khusus. Untuk mendapatkan petunjuk, lihat Menjalankan Pod Autopilot di class komputasi tertentu.

Ringkasan kelas komputasi Autopilot

Secara default, Pod GKE Autopilot berjalan di platform komputasi yang dioptimalkan untuk workload tujuan umum seperti penyaluran web dan tugas batch dengan intensitas sedang. Platform umum ini menyediakan konfigurasi hardware yang andal dan hemat biaya, yang mampu menangani persyaratan sebagian besar workload.

Jika Anda memiliki workload yang memiliki persyaratan hardware unik, seperti menjalankan machine learning atau tugas AI, menjalankan database traffic tinggi secara real-time, atau memerlukan platform dan arsitektur CPU tertentu, Autopilot menawarkan class komputasi. Class komputasi ini adalah subset pilihan dari seri mesin Compute Engine, dan menawarkan fleksibilitas di luar class komputasi Autopilot default. Misalnya, class komputasi Scale-Out menggunakan VM yang menonaktifkan multi-threading simultan dan dioptimalkan untuk penskalaan.

Anda dapat meminta node yang didukung oleh class komputasi tertentu berdasarkan persyaratan setiap workload. Serupa dengan class komputasi tujuan umum default, Autopilot mengelola penentuan ukuran dan alokasi resource dari class komputasi yang diminta berdasarkan Pod yang sedang berjalan. Anda dapat meminta class komputasi di level Pod untuk mengoptimalkan efisiensi biaya dengan memilih class komputasi yang paling sesuai dengan setiap kebutuhan Pod.

Memilih arsitektur CPU tertentu

Jika workload didesain untuk platform atau arsitektur CPU tertentu, Anda dapat secara opsional memilih platform atau arsitektur tersebut di spesifikasi Pod. Misalnya, jika ingin Pod berjalan di node yang menggunakan arsitektur Arm, Anda dapat memilih arm64 dalam class komputasi Scale-Out.

Harga

Harga untuk Pod Autopilot GKE didasarkan pada node tempat Pod dijadwalkan. Untuk informasi harga workload tujuan umum dan Spot Pod di class komputasi tertentu, dan untuk mendapatkan informasi tentang diskon abonemen, lihat Harga mode Autopilot.

Spot Pod di class komputasi tujuan umum atau khusus tidak memenuhi syarat untuk mendapatkan diskon abonemen.

Waktu penggunaan class komputasi tertentu

Tabel berikut memberikan ringkasan teknis tentang class komputasi yang didukung Autopilot dan contoh kasus penggunaan untuk Pod yang berjalan di setiap platform. Jika Anda tidak meminta class komputasi, Autopilot akan menempatkan Pod di platform komputasi tujuan umum, yang dirancang untuk dapat menjalankan sebagian besar workload secara optimal.

Persyaratan workload Class compute Deskripsi Contoh kasus penggunaan
Workload yang tidak memerlukan hardware tertentu Tujuan umum

Autopilot menggunakan platform komputasi tujuan umum jika Anda tidak secara eksplisit meminta class komputasi dalam spesifikasi Pod.

Anda tidak dapat secara eksplisit memilih platform tujuan umum dalam spesifikasi.

Didukung oleh seri mesin E2.

  • Server web
  • Database kecil hingga menengah
  • Lingkungan pengembangan
Workload yang memerlukan GPU Accelerator
  • Pod dapat mengakses resource komputasi kapan saja
  • Tidak ada batas memori Pod atau CPU

Jenis GPU yang kompatibel adalah sebagai berikut:

  • nvidia-h100-80gb: NVIDIA H100 (80 GB) (hanya tersedia dengan kelas komputasi Akselerator)
  • nvidia-a100-80gb: NVIDIA A100 (80GB)
  • nvidia-tesla-a100: NVIDIA A100 (40GB)
  • nvidia-l4: NVIDIA L4
  • nvidia-tesla-t4: NVIDIA T4

  • Pelatihan dan inferensi AI/ML yang berpusat pada GPU
Permintaan CPU atau memori yang lebih besar dari jumlah maksimum class komputasi tujuan umum atau platform CPU tertentu Balanced
  • CPU yang tersedia: AMD EPYC Rome, AMD EPYC Milan, Intel Ice Lake, Intel Cascade Lake
  • Arsitektur yang tersedia: amd64
  • Permintaan resource yang didukung lebih besar daripada tujuan umum
  • Kemampuan untuk menetapkan platform CPU minimum untuk Pod, seperti "Intel Ice Lake atau yang lebih tinggi".

Didukung oleh seri mesin N2 (Intel) atau seri mesin N2D (AMD).

  • Server web
  • Database menengah hingga besar
  • Menyimpan data ke dalam cache
  • Streaming dan penyaluran media
  • Throughput Hyperdisk dan Penyimpanan Ekstrem
Workload intensif CPU seperti pelatihan AI/ML atau komputasi berperforma tinggi (HPC) Performance
  • Arsitektur yang tersedia: amd64, arm64
  • Pod dapat mengakses resource komputasi kapan saja
  • Tidak ada batas memori Pod atau CPU

Untuk mengetahui daftar rangkaian mesin Compute Engine yang tersedia dengan class Komputasi Performa, lihat Deret mesin yang didukung.

  • Pelatihan dan inferensi AI/ML yang berfokus pada CPU
  • Workload batch HPC
  • Hyperdisk Seimbang, Throughput, dan Penyimpanan Ekstrem
Komputasi thread per core tunggal dan penskalaan horizontal Scale-Out
  • CPU yang tersedia: Ampere Altra Arm atau AMD EPYC Milan
  • Kelompok mesin Compute Engine: T2A (Arm), T2D (x86)
  • Arsitektur yang tersedia: arm64 atau amd64
  • SMT nonaktif. Satu vCPU setara dengan satu core fisik.
  • Frekuensi clock maks 3,5 GHz

Didukung oleh Seri mesin Tau T2A (Arm) atau Seri mesin Tau T2D (x86).

  • Server web
  • Microservice dalam container
  • Pemrosesan log data
  • Aplikasi Java skala besar
  • Penyimpanan Throughput Hyperdisk

Cara memilih kelas komputasi di Autopilot

Untuk mendapatkan petunjuk mendetail, lihat Memilih class komputasi untuk Pod Autopilot.

Untuk memberi tahu Autopilot agar menempatkan Pod Anda di class komputasi tertentu, tentukan label cloud.google.com/compute-class dalam nodeSelector atau aturan afinitas node, seperti dalam contoh berikut:

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"
    

Ganti COMPUTE_CLASS dengan nama class komputasi berdasarkan kasus penggunaan Anda, seperti Scale-Out. Jika memilih Accelerator, Anda juga harus menentukan GPU yang kompatibel. Untuk mendapatkan petunjuk, lihat Men-deploy workload GPU dalam mode Autopilot. Jika memilih Performance, Anda juga harus memilih seri mesin Compute Engine di pemilih node. Untuk mengetahui petunjuknya, lihat Menjalankan workload yang membutuhkan CPU intensif dengan performa optimal.

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"
      

Ganti COMPUTE_CLASS dengan nama class komputasi berdasarkan kasus penggunaan Anda, seperti Scale-Out. Jika memilih Accelerator, Anda juga harus menentukan GPU yang kompatibel. Untuk mendapatkan petunjuk, lihat Men-deploy workload GPU dalam mode Autopilot. Jika memilih Performance, Anda juga harus memilih seri mesin Compute Engine di pemilih node. Untuk mengetahui petunjuknya, lihat Menjalankan workload yang membutuhkan CPU intensif dengan performa optimal.

Saat Anda men-deploy workload, Autopilot akan melakukan hal berikut:

  • Otomatis menyediakan node yang didukung oleh konfigurasi yang ditentukan untuk menjalankan Pod Anda.
  • Secara otomatis menambahkan taint ke node baru untuk mencegah Pod lain melakukan penjadwalan di node tersebut. Taint bersifat unik untuk setiap class komputasi. Jika Anda juga memilih arsitektur CPU, GKE akan menambahkan taint terpisah yang unik pada arsitektur tersebut.
  • Secara otomatis menambahkan toleransi yang sesuai dengan taint yang diterapkan ke Pod yang di-deploy agar GKE dapat menempatkan Pod tersebut di node baru.

Misalnya, jika Anda meminta class komputasi Scale-Out untuk Pod:

  1. Autopilot akan menambahkan taint khusus untuk Scale-Out untuk node tersebut.
  2. Autopilot akan menambahkan toleransi untuk taint tersebut ke Pod Scale-Out.

Pod yang tidak meminta Scale-Out tidak akan mendapatkan toleransi. Akibatnya, GKE tidak akan menjadwalkan Pod tersebut di node Scale-Out.

Jika Anda tidak secara eksplisit meminta class komputasi dalam spesifikasi workload, Autopilot akan menjadwalkan Pod di node yang menggunakan class komputasi tujuan umum default. Sebagian besar workload dapat berjalan tanpa masalah di class komputasi untuk tujuan umum.

Cara meminta arsitektur CPU

Dalam beberapa kasus, workload Anda mungkin dibuat untuk arsitektur tertentu, seperti Arm. Beberapa class komputasi, seperti Balanced atau Scale-Out, mendukung beberapa arsitektur CPU. Anda dapat meminta arsitektur tertentu bersama permintaan class komputasi dengan menentukan label di pemilih node atau aturan afinitas node, seperti dalam contoh berikut:

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

Ganti ARCHITECTURE dengan arsitektur CPU yang Anda inginkan, seperti arm64 atau amd64.

Jika Anda tidak meminta arsitektur secara eksplisit, Autopilot akan menggunakan arsitektur default dari class komputasi yang ditentukan.

Arsitektur aktif di Autopilot

Autopilot mendukung permintaan untuk node yang menggunakan arsitektur CPU arm. Node Arm lebih hemat biaya dibandingkan node x86 serupa sekaligus memberikan peningkatan performa. Untuk mendapatkan petunjuk tentang cara meminta node Arm, lihat Men-deploy workload Autopilot di arsitektur Arm.

Pastikan Anda menggunakan image yang benar dalam deployment. Jika Pod Anda menggunakan image Arm dan Anda tidak meminta node Arm, Autopilot akan menjadwalkan Pod di node x86 sehingga Pod akan mengalami error. Demikian pula, jika Anda tanpa sengaja menggunakan gambar x86, tetapi meminta node Arm untuk Pod, Pod juga akan mengalami error.

Validasi autopilot untuk workload class komputasi

Autopilot memvalidasi manifes workload Anda untuk memastikan bahwa class komputasi dan permintaan arsitektur di pemilih node atau aturan afinitas node diformat dengan benar. Aturan berikut berlaku:

  • Tidak lebih dari satu class komputasi.
  • Tidak ada class komputasi yang tidak didukung.
  • Versi GKE harus mendukung class komputasi.
  • Hanya satu arsitektur yang dipilih.
  • Class komputasi harus mendukung arsitektur yang dipilih.

Jika manifes workload Anda gagal di salah satu validasi ini, Autopilot akan menolak workload tersebut.

Ketersediaan regional class Compute

Tabel berikut menjelaskan region tempat arsitektur CPU dan class komputasi tertentu tersedia:

Ketersediaan class komputasi
Tujuan umum Semua region
Balanced Semua region
Performance Semua region yang berisi rangkaian mesin yang didukung.
Scale-Out

Arsitektur Arm (arm64):

  • asia-southeast1
  • europe-west4
  • us-central1

Arsitektur x86 (amd64):

  • asia-east1
  • asia-southeast1
  • australia-southeast1
  • europe-west1
  • europe-west2
  • europe-west3
  • europe-west4
  • southamerica-east1
  • us-central1
  • us-east1
  • us-east4
  • us-west1
  • us-west4

Jika class komputasi tersedia di region tertentu, hardware akan tersedia di setidaknya dua zona di region tersebut.

Permintaan resource default, minimum, dan maksimum

Saat memilih class komputasi untuk workload Autopilot, pastikan Anda menentukan permintaan resource yang memenuhi permintaan minimum dan maksimum untuk class komputasi tersebut. Untuk mengetahui informasi tentang permintaan default, serta permintaan minimum dan maksimum untuk setiap class komputasi, lihat Permintaan resource dan batas di GKE Autopilot.

Langkah berikutnya