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. |
|
Workload yang memerlukan GPU | Accelerator |
Jenis GPU yang kompatibel adalah sebagai berikut:
|
|
Permintaan CPU atau memori yang lebih besar dari jumlah maksimum class komputasi tujuan umum atau platform CPU tertentu | Balanced |
Didukung oleh seri mesin N2 (Intel) atau seri mesin N2D (AMD). |
|
Workload intensif CPU seperti pelatihan AI/ML atau komputasi berperforma tinggi (HPC) | Performance |
Untuk mengetahui daftar rangkaian mesin Compute Engine yang tersedia dengan class Komputasi Performa, lihat Deret mesin yang didukung. |
|
Komputasi thread per core tunggal dan penskalaan horizontal | Scale-Out |
Didukung oleh Seri mesin Tau T2A (Arm) atau Seri mesin Tau T2D (x86). |
|
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 labelcloud.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:
- Autopilot akan menambahkan taint khusus untuk
Scale-Out
untuk node tersebut. - 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 (
Arsitektur x86 (
|
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
- Pelajari cara memilih class komputasi tertentu di workload Autopilot.
- Baca permintaan resource default, minimum, dan maksimum untuk setiap platform.