KOptim: Kubernetes Optimization Framework
Tarek Menouer, Christophe Cérin, Patrice Darmon · 2024
As Kubernetes has become a de-facto standard for a portable, extensible, open-source platform for managing containerized workloads and services, this paper presents a new Kubernetes Optimization Framework called KOptim, which provides a generic schema for scheduling and resource management. Compared to existing Kubernetes frameworks and scheduling procedures, the advantages of KOptim are: (i) it facilitates the configuration of container resources using Service Level Agreement (SLA) classes, and (ii) it optimizes the online scheduling of containers using a Multi-Criteria Decision Making (MCDM) algorithm. In short, the main contribution of KOptim is to simplify Kubernetes scheduler optimization, as well as other issues related to container configuration and validation. In KOptim, we propose to configure and manage container resources using a new model with three SLA classes related to CPUs, memory, and storage space. Each SLA class has three Quality of Services (QoS): Premium, Advanced, and Best Effort. Using the KOptim SLA classes, users can select a range of values for a service instead of specifying a fixed amount of resources for each container. This is designed to help non-expert users who do not need to know exactly how many resources must be used to configure their containers easily. In the scheduling step, we suggest using a mechanism based on a multi-criteria decision algorithm that allows users to consider several criteria during the online scheduling decision. In summary, KOptim is a generic framework for Kubernetes distributions even K3s and MicroK8s which are adapted to Fog and Edge computing. Experimental results demonstrate the potential of our framework to improve performance in terms of runtime and energy consumption.