Halaman ini menunjukkan cara menentukan jumlah CPU dan memori yang tersedia di node untuk menjalankan workload Anda di Google Distributed Cloud.
Resource yang direservasi
Di setiap node cluster, Google Distributed Cloud mencadangkan resource berikut untuk komponen sistem operasi dan komponen inti Kubernetes:
- 80 millicore + 1% kapasitas CPU
- 330 MiB + 5% dari kapasitas memori
Misalnya, node memiliki kapasitas default 4 core CPU dan 8 GiB memori. Kemudian, Google Distributed Cloud akan mencadangkan:
- 80 millicore + 1% dari 4 core = 120 millicore
- 330 MiB + 5% dari 8 GiB = 730 MiB
Sistem operasi dan komponen inti Kubernetes tidak berjalan sebagai Pod; komponen tersebut berjalan sebagai proses biasa. Resource yang tersisa, selain resource yang direservasi ini, tersedia untuk Pod.
Nilai minimum pengusiran
Untuk menentukan jumlah 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 di node turun di bawah 100 MiB, kubelet
mungkin
menghapus satu atau beberapa Pod.
Resource yang dapat dialokasikan
Resource di 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 sebesar 680 MiB, dan nilai minimum penghapusan sebesar 100 MiB. Kemudian, memori yang dapat dialokasikan adalah:
8 GiB - 680 MiB - 100 MiB = 7220 MiB
Resource yang tersedia untuk workload Anda
Resource node yang dapat dialokasikan adalah resource yang tersedia untuk Pod. Hal ini mencakup Pod yang menjalankan workload Anda dan Pod yang menjalankan add-on Google Distributed Cloud. Add-on mencakup pengontrol masuk, layanan masuk, agen Connect, komponen jaringan, komponen logging, dan lainnya.
Pada node tertentu, untuk menentukan resource yang tersedia untuk workload Anda, mulailah dengan resource yang dapat dialokasikan, lalu kurangi resource yang digunakan oleh add-on.
Tantangan yang dihadapi 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 di node memerlukan:
- CPU dengan 200 millicore
- Memori 100 MiB
Sekarang Anda dapat menghitung resource yang tersedia di node untuk workload 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 saja 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.