Abstract
Container-based virtualization is becoming a de facto way to build and deploy applications because of its simplicity and convenience. Kubernetes is a well-known open-source project that provides an orchestration platform for containerized applications. An application in Kubernetes can contain multiple replicas to achieve high scalability and availability. Stateless applications have no requirement for persistent storage; however, stateful applications require persistent storage for each replica. Therefore, stateful applications usually require a strong consistency of data among replicas. To achieve this, the application often relies on a leader, which is responsible for maintaining consistency and coordinating tasks among replicas. This leads to a problem that the leader often has heavy loads due to its inherent design. In a Kubernetes cluster, having the leaders of multiple applications concentrated in a specific node may become a bottleneck within the system. In this paper, we propose a leader election algorithm that overcomes the bottleneck problem by evenly distributing the leaders throughout nodes in the cluster. We also conduct experiments to prove the correctness and effectiveness of our leader election algorithm compared with a default algorithm in Kubernetes.
Highlights
Container-based virtualization has emerged as a key technology to deploy applications in Cloud computing [1]
To analyze the importance of balanced leader distribution, we evaluate the throughput between two leader distribution scenarios: “concentrated leaders” and “balanced leaders”, which are representation results for the default leader election algorithm and the BLD
We described the Kubernetes architecture and the leader-based mechanism for maintaining consistent data storage among replicas of a stateful application in the Kubernetes cluster
Summary
Container-based virtualization has emerged as a key technology to deploy applications in Cloud computing [1]. It is important to maintain consistency among these distributed data stores of the stateful application This consistency problem can be handled using a leader-based consistency maintenance mechanism in which an elected leader is responsible for maintaining consistency and coordinating tasks among replicas. We propose a balanced leader distribution (BLD) algorithm for the leader election process of stateful applications in Kubernetes clusters. The main contributions of the BLD algorithm can be summarized as follows: It facilitates the use of the leader election process, so users can deploy the leader election for application in the Kubernetes cluster. It balances the number of leaders throughout all the nodes in the cluster, so the system performance can be improved.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have