The development of containerization and virtualization technologies has made Kubernetes a popular container orchestration platform that allows multiple replicas for scalability and availability. For stateful applications, each replica requires persistent storage, and a leader must be elected among the replicas to handle client requests and ensure data consistency. However, leaders for multiple stateful applications can become unbalanced across nodes, leading to inefficient resource utilization and load imbalance. This paper proposes the Min-Leader optimal scheduling algorithm that balances leader distribution across nodes during the scheduling phase of Pods. The algorithm considers the number of leaders on each node and prioritizes nodes with the least number of leaders with the goal of improving cluster availability and stability. The algorithm is integrated into the default Kubernetes scheduler as a plugin and validated using experiments. The algorithm effectively balances workload between nodes, improving cluster availability and stability.
Le ZhangXin JiFang PengJunting LiYi-Ting ChenKui Zhang
Vasireddy, IndraniKolakaluri, Abhishek MohanSama, Himakesh ReddySyed, Zaheeruddin
Vasireddy, IndraniKolakaluri, Abhishek MohanSama, Himakesh ReddySyed, Zaheeruddin
Vasireddy, IndraniKolakaluri, Abhishek MohanSyed, ZaheeruddinSama, Himakesh Reddy