Pod & Container: Quality of Service Class
Versi Bahasa Indonesia. Baca dalam Bahasa Inggris
Kubernetes mengklasifikasikan Pod yang kita jalankan dan menempatkan setiap Pod ke dalam kelas quality of service (QoS) tertentu. Kubernetes memberikan setiap Pod kelas QoS berdasarkan request dan limit resource dari container yang menyusunnya. Kelas QoS digunakan oleh Kubernetes untuk memutuskan Pod mana yang akan di-evict dari Node yang mengalami Node Pressure.
Kelas QoS yang mungkin adalah Guaranteed, Burstable, dan BestEffort.
Guaranteed
- Ini adalah kelas QoS tertinggi di Kubernetes. Pod ini paling kecil kemungkinannya menghadapi eviction.
- Tidak pernah di-throttle selama limit tidak dilampaui.
- Dijamin tidak akan dimatikan sampai mereka melebihi limit atau tidak ada Pod prioritas lebih rendah yang dapat di-preempt dari Node.
Kriteria:
- Setiap container dalam pod harus memiliki CPU request dan limit dengan nilai yang sama.
- Setiap container dalam pod harus memiliki Memory request dan limit dengan nilai yang sama.
Burstable
- Prioritas lebih tinggi dari BestEffort tetapi lebih rendah dari Guaranteed.
- Jika limit tidak ditentukan, secara default akan menjadi setara dengan kapasitas Node, yang memungkinkan Pod untuk secara fleksibel meningkatkan resource jika resource tersedia (burst).
- Dapat di-throttle atau di-evict jika penggunaan melebihi request.
Kriteria:
- Pod tidak memenuhi kriteria untuk kelas QoS
Guaranteed. - Setidaknya satu Container dalam Pod memiliki request atau limit memory atau CPU.
BestEffort
-
Ini adalah kelas QoS terendah di Kubernetes.
-
Pod ini paling mungkin menghadapi eviction.
-
Pod ini akan menggunakan jumlah resource komputasi berapa pun yang tersedia.
Misalnya, jika Anda memiliki node dengan 16 core CPU yang tersedia untuk kubelet, dan Anda menetapkan 4 core CPU ke Pod Guaranteed, maka Pod dalam kelas QoS BestEffort dapat mencoba menggunakan berapa pun dari 12 core CPU yang tersisa.
Urutan Eviction
Ketika Kubernetes perlu melakukan evict pod karena keterbatasan CPU atau Memory, ia mengikuti urutan ini.
- BestEffort Pods (Tidak ada request CPU/memory yang diatur)
- Burstable Pods (Beberapa request tetapi tidak ada limit yang ketat)
- Guaranteed Pods (Requests = Limits)
Referensi
Last updated on