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...

Descripción completa

Detalles Bibliográficos
Autores principales: Nguyen, Nguyen Dinh, Kim, Taehong
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