Anda dapat menggunakan ComputeClasses Balanced dan Scale-Out di cluster Autopilot Google Kubernetes Engine (GKE) untuk menjalankan workload yang memerlukan kapasitas komputasi tambahan atau konfigurasi CPU khusus. Halaman ini ditujukan bagi administrator cluster yang menginginkan opsi komputasi yang lebih fleksibel daripada konfigurasi cluster Autopilot default.
Ringkasan ComputeClasses Balanced dan Scale-Out
Secara default, Pod di cluster GKE Autopilot berjalan di platform komputasi yang dioptimalkan untuk container. Platform ini ideal untuk workload tujuan umum seperti server web dan tugas batch dengan intensitas sedang. Platform komputasi yang dioptimalkan untuk container menyediakan konfigurasi hardware yang andal, skalabel, dan hemat biaya, yang mampu menangani persyaratan sebagian besar workload.
Jika Anda memiliki workload yang memiliki persyaratan hardware unik (seperti menjalankan tugas machine learning atau AI, menjalankan database traffic tinggi secara real-time, atau memerlukan platform dan arsitektur CPU tertentu), Anda dapat menggunakan ComputeClasses untuk menyediakan hardware tersebut.
Hanya di cluster Autopilot, GKE menyediakan ComputeClasses pilihan berikut yang memungkinkan Anda menjalankan Pod yang memerlukan lebih banyak fleksibilitas daripada platform komputasi yang dioptimalkan untuk container default:
Balanced: menyediakan kapasitas CPU dan memori maksimum yang lebih tinggi daripada platform komputasi yang dioptimalkan untuk container.Scale-Out: menonaktifkan multi-threading simultan (SMT) dan dioptimalkan untuk penskalaan.
ComputeClasses ini hanya tersedia di cluster Autopilot. Serupa dengan platform komputasi yang dioptimalkan untuk container default, Autopilot mengelola ukuran node dan alokasi resource berdasarkan Pod yang sedang berjalan.
ComputeClasses Kustom untuk fleksibilitas tambahan
Jika ComputeClasses Balanced atau Scale-Out di cluster Autopilot
tidak memenuhi persyaratan workload Anda, Anda dapat mengonfigurasi
ComputeClasses Anda sendiri.
Anda men-deploy resource kustom Kubernetes ComputeClass ke cluster Anda dengan kumpulan atribut node yang digunakan GKE untuk mengonfigurasi node baru di cluster. ComputeClasses kustom ini, misalnya, memungkinkan Anda men-deploy workload di hardware yang sama dengan ComputeClasses Balanced atau Scale-Out di cluster GKE Autopilot atau Standard. Untuk mengetahui informasi selengkapnya, lihat
Tentang workload mode Autopilot di GKE Standard.
Harga
Pod yang menggunakan ComputeClasses Balanced atau Scale-Out ditagih berdasarkan SKU berikut:
Untuk mengetahui informasi selengkapnya, lihat harga GKE.
Detail teknis Balanced dan Scale-Out
Bagian ini menjelaskan jenis mesin dan kasus penggunaan untuk class Balanced dan Scale-Out. Jika Anda tidak meminta ComputeClass di Pod, Autopilot akan menempatkan Pod di platform komputasi yang dioptimalkan untuk container secara default. Terkadang Anda mungkin melihat ek sebagai seri mesin node di node Autopilot yang menggunakan platform komputasi yang dioptimalkan untuk container. Mesin EK adalah jenis mesin E2 yang eksklusif untuk Autopilot.
Tabel berikut memberikan ringkasan teknis ComputeClasses Balanced dan Scale-Out.
| ComputeClasses Balanced dan Scale-Out | ||
|---|---|---|
Balanced |
Menyediakan kapasitas CPU dan kapasitas memori yang lebih besar daripada maksimum platform komputasi yang dioptimalkan untuk container . Menyediakan platform CPU tambahan dan kemampuan untuk menetapkan platform CPU minimum untuk Pod, seperti Intel Ice Lake atau yang lebih baru.
Gunakan class
|
|
Scale-Out |
Menyediakan komputasi thread per core tunggal dan penskalaan horizontal.
Gunakan class
|
|
Pemilihan ComputeClass dalam workload
Untuk menggunakan ComputeClass untuk workload GKE, Anda memilih
ComputeClass dalam manifes workload menggunakan
pemilih node
untuk label cloud.google.com/compute-class.
Contoh manifes Deployment berikut memilih ComputeClass:
Ganti COMPUTE_CLASS dengan nama ComputeClass, seperti Balanced atau Scale-Out. Anda dapat memilih maksimum satu ComputeClass dalam workload.
Saat Anda men-deploy workload, GKE akan melakukan hal berikut:
- Otomatis menyediakan node yang didukung oleh konfigurasi yang ditentukan untuk menjalankan Pod Anda.
- Secara otomatis menambahkan label node dan taint ke node baru untuk mencegah Pod lain melakukan penjadwalan di node tersebut. Taint bersifat unik untuk setiap ComputeClass. 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 ComputeClass Scale-Out untuk Pod:
- Autopilot akan menambahkan taint khusus untuk
Scale-Outuntuk 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 ComputeClass dalam spesifikasi workload, Autopilot akan menjadwalkan Pod di node yang menggunakan platform komputasi yang dioptimalkan untuk container default. Sebagian besar workload tujuan umum dapat berjalan tanpa masalah di platform ini.
Cara meminta arsitektur CPU
Dalam beberapa kasus, workload Anda mungkin dibuat untuk arsitektur tertentu, seperti Arm. ComputeClass Scale-Out mendukung beberapa arsitektur CPU. Anda dapat meminta arsitektur tertentu bersama permintaan ComputeClass 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. Anda dapat memilih maksimum satu arsitektur dalam workload. ComputeClass yang Anda pilih harus mendukung arsitektur yang Anda tentukan.
Jika Anda tidak meminta arsitektur secara eksplisit, Autopilot akan menggunakan arsitektur default dari ComputeClass.
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.
Permintaan resource default, minimum, dan maksimum
Saat memilih ComputeClass untuk workload Autopilot, pastikan Anda menentukan permintaan resource yang memenuhi permintaan minimum dan maksimum untuk ComputeClass tersebut. Untuk mengetahui informasi tentang permintaan default, serta permintaan minimum dan maksimum untuk setiap ComputeClass, lihat Permintaan resource dan batas di GKE Autopilot.
Langkah berikutnya
- Pelajari cara memilih ComputeClass tertentu di workload Autopilot.
- Baca permintaan resource default, minimum, dan maksimum untuk setiap platform.