ABSTRAK Rinaldy Adin
Terbatas  Esha Mustika Dewi
» Gedung UPT Perpustakaan
Terbatas  Esha Mustika Dewi
» Gedung UPT Perpustakaan
Kubernetes merupakan platform orkestrasi container yang umum digunakan untuk menjalankan
dan mengelola sistem yang containerized seperti aplikasi micro services. Sistem
aplikasi yang containerized dan terdistribusi tersebut memerlukan adanya pengelolaan sumber
daya yang optimal untuk menjaga kualitas dan ketersediaan aplikasi yang jalan. Salah
satu ancaman yang sangat berdampak pada ketersediaan sistem yang berjalan dalam Kubernetes
adalah terjadinya node Out of Memory (OOM). Node OOM dapat menyebabkan
kualitas sistem menurun karena berhentinya suatu node beserta pod di dalamnya. Out of
memory tersebut dapat terjadi karena beberapa hal, diantaranya adalah pod yang mengalami
memory leak dan overcommitted node. Untuk menghindari terjadinya hal tersebut, perlu
ada mekanisme yang secara proaktif mengidentifikasi dan mencegah node out of memory.
Untuk mencegah hal tersebut, dikembangkan plugin untuk komponen Descheduler Kubernetes
untuk mencegah terjadinya node out of memory. Descheduler merupakan komponen
tambahan pada Kubernetes yang melakukan pod eviction berdasarkan strategi atau plugin
yang terkonfigurasi. Descheduler saat ini sudah memiliki kemampuan juga untuk mengambil
data pemanfaatan sebenarnya dari pemanfaatan sumber daya komputasi cluster atau
yang disebut dengan load awareness. Akan tetapi, pemanfaatan load awareness yang ada
saat ini masih sederhana, seperti pada strategi LowNodeUtilization (LNU) yang melakukan
pemerataan sumber daya komputasi antar node dalam cluster.
Dikembangkan dua plugin Descheduler dengan kemampuan load awareness untuk mencegah
out of memory, yaitu plugin EvictMemoryLeak (EML) dan LoadAwareOvercommit
(LAO). Dilakukan dua pengujian skenario untuk meninjau efektivitas dari plugin yang dibuat.
Pada kedua skenario, strategi EML melakukan eviction yang tepat dan terjadi lebih
sedikit eviction sebanyak 50% dibandingkan dengan strategi LNU. Strategi LAO gagal pada
salah satu skenario dan berhasil pada skenario lainnya, pada pengujian LAO yang berhasil,
strategi LAO melakukan eviction yang tepat dan terjadi lebih sedikit eviction sebanyak 83%.
Disimpulkan bahwa plugin EML lebih serba guna dalam pencegahan OOM karena memory
leak, sedangkan LAO lebih efektif dan optimal apabila resource limits dalam cluster terkonfigurasi
dengan lengkap. Hasil yang diperoleh menunjukkan bahwa kedua plugin yang
dibuat efektif dibandingkan solusi yang sudah ada, tetapi plugin mana yang cocok untuk
dijalankan dalam cluster bergantung pada karakteristik dan kondisi dari cluster yang dijalankan.
Perpustakaan Digital ITB