Halaman ini menunjukkan cara mengoptimalkan performa workload intensif CPU dengan memberi tahu Google Kubernetes Engine (GKE) untuk menempatkan setiap Pod di node-nya sendiri, dengan akses penuh ke semua resource node. Untuk menggunakan model penempatan Pod ini, minta class komputasi Performa dalam beban kerja Autopilot Anda.
Manfaat class komputasi Performa
Node khusus per Pod ideal saat Anda menjalankan beban kerja intensif CPU berskala besar yang mungkin memerlukan akses ke kemampuan pada virtual machine (VM) yang mendasarinya. Misalnya, workload pelatihan AI/ML CPU intensif atau workload batch komputasi berperforma tinggi (HPC).
Pod pada node khusus ini memiliki manfaat berikut:
- Performa yang dapat diprediksi: Akses semua resource node kapan saja.
- Beban kerja yang dapat burst: Jika Anda tidak menetapkan batas resource dalam manifes, Pod class Performance Anda dapat meledak ke semua kapasitas yang tidak terpakai pada node dengan risiko minimal penghapusan tekanan node Kubernetes.
Cara kerja Pod class Performa
Anda men-deploy Pod yang memiliki karakteristik berikut:
- Memilih class Performance dan rangkaian mesin Compute Engine
- Menentukan permintaan resource dan, idealnya, tidak menetapkan batas resource
GKE melakukan hal berikut:
- Memastikan Pod yang di-deploy meminta setidaknya resource minimum untuk class komputasi
- Menghitung total permintaan resource dari Pod yang di-deploy dan semua DaemonSets dalam cluster
- Menyediakan node yang didukung oleh rangkaian mesin yang dipilih
- Memodifikasi manifes Pod dengan kombinasi pemilih dan toleransi node untuk memastikan bahwa Pod berjalan pada node-nya sendiri
Kompatibilitas dengan fitur GKE lainnya
Anda dapat menggunakan Pod class Performance dengan kemampuan dan fitur GKE berikut:
Pod Spot dan Pod runtime yang diperpanjang bersifat eksklusif satu sama lain. GKE tidak menerapkan permintaan resource minimum yang lebih tinggi untuk Pod class Performa yang menggunakan pemisahan workload.
Harga
Pod Anda dapat menggunakan seluruh VM dasar dan hardware yang terpasang kapan saja, dan Anda akan dikenai biaya atas hardware ini oleh Compute Engine, dengan layanan premium untuk pengelolaan dan skalabilitas node Autopilot. Untuk mengetahui detailnya, lihat harga GKE.
Sebelum memulai
Sebelum memulai, pastikan Anda telah menjalankan tugas berikut:
- Aktifkan Google Kubernetes Engine API. Aktifkan Google Kubernetes Engine API
- Jika ingin menggunakan Google Cloud CLI untuk tugas ini,
instal lalu
initialize
gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan
gcloud components update
.
- Pastikan Anda memahami hal-hal berikut:
- Seri mesin dan kasus penggunaan Compute Engine
- Persyaratan tingkat kernel untuk aplikasi Anda
- Pastikan Anda sudah memiliki cluster Autopilot yang menjalankan versi 1.28.6-gke.1369000 dan yang lebih baru atau versi 1.29.1-gke.1575000 dan yang lebih baru. Untuk membuat cluster, lihat Membuat cluster Autopilot.
Hubungkan ke cluster Anda
Gunakan Google Cloud CLI untuk terhubung ke cluster Autopilot:
gcloud container clusters get-credentials CLUSTER_NAME \
--location=LOCATION
Ganti kode berikut:
CLUSTER_NAME
: nama cluster Anda.LOCATION
: lokasi Compute Engine dari cluster.
Men-deploy Pod class Performance
Simpan manifes berikut sebagai
perf-class-pod.yaml
:apiVersion: v1 kind: Pod metadata: name: performance-pod spec: nodeSelector: cloud.google.com/compute-class: Performance cloud.google.com/machine-family: MACHINE_SERIES containers: - name: my-container image: "k8s.gcr.io/pause" resources: requests: cpu: 20 memory: "100Gi"
Ganti
MACHINE_SERIES
dengan seri mesin Compute Engine untuk Pod Anda, sepertic3
. Untuk nilai yang didukung, lihat Deret mesin yang didukung dalam dokumen ini.Deploy Pod:
kubectl apply -f perf-class-pod.yaml
Menggunakan SSD Lokal di Pod class Performa
Pod class performa dapat menggunakan SSD Lokal untuk penyimpanan efemeral jika Anda memilih rangkaian mesin yang menyertakan SSD Lokal. GKE mempertimbangkan permintaan penyimpanan sementara saat menyediakan node untuk Pod class Performance.
Simpan manifes berikut sebagai
perf-class-ssd-pod.yaml
:apiVersion: v1 kind: Pod metadata: name: performance-pod spec: nodeSelector: cloud.google.com/compute-class: Performance cloud.google.com/machine-family: MACHINE_SERIES cloud.google.com/gke-ephemeral-storage-local-ssd: "true" containers: - name: my-container image: "k8s.gcr.io/pause" resources: requests: cpu: 12 memory: "50Gi" ephemeral: "200Gi"
Ganti
MACHINE_SERIES
dengan seri mesin yang didukung yang juga mendukung SSD Lokal. Jika rangkaian mesin yang Anda tentukan tidak mendukung SSD Lokal, deployment akan gagal dengan menampilkan error.Deploy Pod:
kubectl apply -f perf-class-pod.yaml
Seri mesin yang didukung
Class komputasi Performa mendukung rangkaian mesin berikut:
Seri mesin | Pemilihan SSD lokal di Autopilot |
---|---|
Seri mesin C3 (c3 ) |
|
Seri mesin C3D (c3d ) |
|
Seri mesin H3 (h3 ) |
|
Seri mesin C2 (c2 ) |
|
Seri mesin C2D (c2d ) |
|
Seri mesin T2D (t2d ) |
|
Seri mesin T2A (t2a ) |
Untuk membandingkan seri mesin ini dan kasus penggunaannya, lihat Perbandingan seri mesin dalam dokumentasi Compute Engine.
Cara GKE memilih ukuran mesin
Untuk memilih ukuran mesin dalam seri mesin yang ditentukan, GKE menghitung total CPU, total memori, dan total permintaan penyimpanan efemeral dari Pod class Performance serta DaemonSet apa pun yang akan dijalankan pada node baru. GKE membulatkan nilai ini ke jenis mesin Compute Engine terdekat yang tersedia, yang mendukung semua nilai total ini.
Contoh 1: Pertimbangkan Pod class Performa yang memilih deret mesin
C3
. Total permintaan resource termasuk DaemonSets adalah sebagai berikut:- 70 vCPU
- 200 GiB memori
GKE menempatkan Pod pada node yang didukung oleh jenis mesin
c3-standard-88
, yang memiliki 88 vCPU dan memori 352 GB.Contoh 2: Pertimbangkan Pod class Performa yang memilih deret mesin
C3D
dan SSD Lokal untuk penyimpanan efemeral. Total permintaan resource termasuk DaemonSets adalah sebagai berikut:- 12 vCPU
- Memori 50 GiB
- 200 GiB penyimpanan sementara
GKE menempatkan Pod pada node yang menggunakan jenis mesin
c3d-standard-16-lssd
, yang memiliki 16 vCPU, memori 64 GiB, dan 365 GiB kapasitas SSD Lokal.