Halaman ini menunjukkan cara menentukan banyaknya CPU dan memori yang tersedia pada node untuk menjalankan workload di Google Distributed Cloud.
Resource yang dicadangkan
Pada setiap node cluster, Google Distributed Cloud mencadangkan resource berikut untuk komponen sistem operasi dan komponen Kubernetes inti:
- 80 milicore + 1% kapasitas CPU
- 330 MiB + 5% dari kapasitas memori
Misalnya, sebuah node memiliki kapasitas default 4 inti CPU dan 8 GiB memori. Selanjutnya, Google Distributed Cloud mencadangkan:
- 80 milicore + 1% dari 4 core = 120 milicore
- 330 MiB + 5% dari 8 GiB = 730 MiB
Sistem operasi dan komponen Kubernetes inti tidak berjalan sebagai Pod; keduanya berjalan seperti proses biasa. Resource yang tersisa selain resource yang dicadangkan ini akan tersedia untuk Pod.
Nilai minimum penghapusan
Untuk menentukan banyaknya memori yang tersedia untuk Pod, Anda juga harus mempertimbangkan
nilai minimum penghapusan.
Google Distributed Cloud menetapkan nilai minimum penghapusan sebesar 100 MiB. Artinya, jika memori yang tersedia pada sebuah node kurang dari 100 MiB, kubelet
mungkin
akan mengeluarkan satu atau beberapa Pod.
Resource yang dapat dialokasikan
Resource pada node yang tersedia untuk Pod disebut resource yang dapat dialokasikan. Hitung resource yang dapat dialokasikan sebagai berikut:
Allocatable CPU = CPU Capacity - Reserved CPU
Allocatable Memory = Memory Capacity - Reserved Memory - Eviction Threshold
Misalnya, node memiliki kapasitas memori 8 GiB, memori yang dicadangkan 680 MiB, dan batas penghapusan 100 MiB. Maka memori yang dapat dialokasikan adalah:
8 GiB - 680 MiB - 100 MiB = 7220 MiB
Resource yang tersedia untuk workload Anda
Resource yang dapat dialokasikan node adalah resource yang tersedia untuk Pod. Hal ini termasuk Pod yang menjalankan workload dan Pod yang menjalankan add-on Google Distributed Cloud. Add-on mencakup pengontrol ingress, layanan masuk, agen Connect, komponen jaringan, komponen logging, dan lainnya.
Pada node tertentu, untuk menentukan resource yang tersedia bagi workload Anda, mulai dengan resource yang dapat dialokasikan, lalu kurangi resource yang digunakan oleh add-on.
Tantangannya adalah add-on tidak didistribusikan secara merata di antara node cluster Google Distributed Cloud. Satu node mungkin memiliki tiga add-on, dan node lainnya mungkin memiliki sepuluh add-on. Selain itu, berbagai add-on memerlukan jumlah CPU dan memori yang berbeda.
Sebagai aturan umum, Anda dapat mengetahui bahwa add-on yang berjalan pada node memerlukan:
- CPU 200 milidetik
- Memori 100 MiB
Sekarang Anda dapat menghitung resource yang tersedia di node untuk beban kerja Anda sebagai berikut:
Allocatable CPU - 200 millicores
Allocatable memory - 100 MiB
Node tertentu memerlukan lebih banyak resource untuk add-on daripada yang ditunjukkan oleh aturan umum sebelumnya. Misalnya, satu node mungkin menjalankan add-on Prometheus yang memerlukan memori 2 GiB. Namun, jika cluster Anda memiliki lebih dari beberapa node, wajar untuk mengasumsikan bahwa aturan umum berlaku untuk sebagian besar node.
Langkah selanjutnya
Untuk mempelajari konsep resource yang dapat dialokasikan lebih lanjut, lihat Resource yang dapat dialokasikan dalam dokumentasi untuk GKE di Google Cloud.