digilib@itb.ac.id +62 812 2508 8800

ABSTRAK Rinaldy Adin
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.