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

Read more

Summary

Introduction

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.

Related Work
Kubernetes Architecture
Leader-Based Consistency Maintenance Mechanism
Default Leader Election Algorithm in Kubernetes
Leader Concentration Problem
Balanced Leader Distribution Algorithm
Performance Evaluation
Leader Distribution and Leader Election Latency
Effect of Leader Distribution in Kubernetes Cluster
Findings
Discussion
Conclusions
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call