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 yang disediakan oleh konfigurasi cluster Autopilot default.
Ringkasan ComputeClass Seimbang dan Penyebaran Skala
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 container menyediakan konfigurasi hardware yang andal, skalabel, dan hemat biaya yang dapat 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.
Khusus di cluster Autopilot, GKE menyediakan ComputeClass pilihan berikut yang memungkinkan Anda menjalankan Pod yang memerlukan fleksibilitas lebih besar daripada platform komputasi yang dioptimalkan untuk container default:
Balanced
: memberikan 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.
ComputeClass ini hanya tersedia di cluster Autopilot. Serupa dengan platform komputasi yang dioptimalkan untuk container default, Autopilot mengelola penentuan ukuran node dan alokasi resource berdasarkan Pod yang sedang berjalan.
ComputeClass Kustom untuk fleksibilitas tambahan
Jika ComputeClass yang Seimbang atau Skala Luar di cluster Autopilot tidak memenuhi persyaratan workload Anda, Anda dapat mengonfigurasi ComputeClass Anda sendiri.
Anda men-deploy resource kustom ComputeClass Kubernetes ke cluster dengan serangkaian atribut node yang digunakan GKE untuk mengonfigurasi node baru di cluster. ComputeClass kustom ini, misalnya, memungkinkan Anda men-deploy workload
di hardware yang sama dengan ComputeClass Balanced
atau Scale-Out
di cluster
GKE Autopilot atau Standard mana pun. Untuk mengetahui informasi selengkapnya, lihat Tentang workload mode Autopilot di GKE Standard.
Harga
Pod yang menggunakan ComputeClass 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 tentang Balanced
dan
Scale-Out
ComputeClass.
ComputeClass Seimbang dan Penyebaran Skala | ||
---|---|---|
Balanced |
Menyediakan kapasitas CPU dan kapasitas memori yang lebih besar daripada jumlah 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 bagi 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 beban kerja.
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-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 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 beban kerja Anda. ComputeClass yang Anda pilih harus mendukung arsitektur yang Anda tentukan.
Jika Anda tidak meminta arsitektur secara eksplisit, Autopilot akan menggunakan arsitektur default 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 dan batas resource di GKE Autopilot.
Langkah berikutnya
- Pelajari cara memilih ComputeClass tertentu di workload Autopilot Anda.
- Baca permintaan resource default, minimum, dan maksimum untuk setiap platform.