Reactive Autoscaling of Kubernetes Nodes
Résumé
Kubernetes is undoubtedly the most effective container orchestration system that automates container management with high scalability. It allows for running containerized applications on a Kubernetes cluster composed of a set of computing nodes. According to the native Kubernetes operating mode, all nodes in the cluster are used. This massive use of computing resources can lead to resource waste. To address this limitation, we present in this paper a new reactive Kubernetes autoscaler mechanism that allows the number of active computing nodes in a Kubernetes cluster to be controlled dynamically based on several factors. The goal is to reduce resource waste, energy consumption, and the cost of renting a Kubernetes cluster. The idea is to have a pilot that dynamically checks the state of the Kubernetes cluster and scales up or down computing nodes. To select the most pertinent node to add or remove from the Kubernetes cluster, a multi-criteria decision-making (MCDM) algorithm is used. The proposed autoscaler mechanism is offered on top of the Kubernetes framework with minimal changes to make it easy to use with future versions of Kubernetes. Experiments have demonstrated the effectiveness of our solution in different scenarios. The package we provided for the experiments is generic and ready for current Kubernetes flavors.
Origine | Fichiers produits par l'(les) auteur(s) |
---|