Cargando…
Balanced Leader Distribution Algorithm in Kubernetes Clusters
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 multip...
Autores principales: | , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
MDPI
2021
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7865615/ https://www.ncbi.nlm.nih.gov/pubmed/33525452 http://dx.doi.org/10.3390/s21030869 |
_version_ | 1783647888049438720 |
---|---|
author | Nguyen, Nguyen Dinh Kim, Taehong |
author_facet | Nguyen, Nguyen Dinh Kim, Taehong |
author_sort | Nguyen, Nguyen Dinh |
collection | PubMed |
description | 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. |
format | Online Article Text |
id | pubmed-7865615 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2021 |
publisher | MDPI |
record_format | MEDLINE/PubMed |
spelling | pubmed-78656152021-02-07 Balanced Leader Distribution Algorithm in Kubernetes Clusters Nguyen, Nguyen Dinh Kim, Taehong Sensors (Basel) Article 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. MDPI 2021-01-28 /pmc/articles/PMC7865615/ /pubmed/33525452 http://dx.doi.org/10.3390/s21030869 Text en © 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/). |
spellingShingle | Article Nguyen, Nguyen Dinh Kim, Taehong Balanced Leader Distribution Algorithm in Kubernetes Clusters |
title | Balanced Leader Distribution Algorithm in Kubernetes Clusters |
title_full | Balanced Leader Distribution Algorithm in Kubernetes Clusters |
title_fullStr | Balanced Leader Distribution Algorithm in Kubernetes Clusters |
title_full_unstemmed | Balanced Leader Distribution Algorithm in Kubernetes Clusters |
title_short | Balanced Leader Distribution Algorithm in Kubernetes Clusters |
title_sort | balanced leader distribution algorithm in kubernetes clusters |
topic | Article |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7865615/ https://www.ncbi.nlm.nih.gov/pubmed/33525452 http://dx.doi.org/10.3390/s21030869 |
work_keys_str_mv | AT nguyennguyendinh balancedleaderdistributionalgorithminkubernetesclusters AT kimtaehong balancedleaderdistributionalgorithminkubernetesclusters |