{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,29]],"date-time":"2026-07-29T22:07:34Z","timestamp":1785362854751,"version":"3.55.0"},"reference-count":32,"publisher":"MDPI AG","issue":"3","license":[{"start":{"date-parts":[[2021,1,28]],"date-time":"2021-01-28T00:00:00Z","timestamp":1611792000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/501100003725","name":"National Research Foundation of Korea","doi-asserted-by":"publisher","award":["NRF-2019R1F1A1059408"],"award-info":[{"award-number":["NRF-2019R1F1A1059408"]}],"id":[{"id":"10.13039\/501100003725","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Sensors"],"abstract":"<jats:p>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.<\/jats:p>","DOI":"10.3390\/s21030869","type":"journal-article","created":{"date-parts":[[2021,1,28]],"date-time":"2021-01-28T05:23:05Z","timestamp":1611811385000},"page":"869","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":18,"title":["Balanced Leader Distribution Algorithm in Kubernetes Clusters"],"prefix":"10.3390","volume":"21","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-0268-4827","authenticated-orcid":false,"given":"Nguyen Dinh","family":"Nguyen","sequence":"first","affiliation":[{"name":"School of Information and Communication Engineering, Chungbuk National University, Cheongju, Chungbuk 28644, Korea"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6246-6218","authenticated-orcid":false,"given":"Taehong","family":"Kim","sequence":"additional","affiliation":[{"name":"School of Information and Communication Engineering, Chungbuk National University, Cheongju, Chungbuk 28644, Korea"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"1968","published-online":{"date-parts":[[2021,1,28]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","first-page":"81","DOI":"10.1109\/MCC.2014.51","article-title":"Containers and cloud: From lxc to docker to kubernetes","volume":"1","author":"Bernstein","year":"2014","journal-title":"IEEE Cloud Comput."},{"key":"ref_2","doi-asserted-by":"crossref","unstructured":"Felter, W., Ferreira, A., Rajamony, R., and Rubio, J. (2015, January 29\u201331). An updated performance comparison of virtual machines and linux containers. Proceedings of the 2015 IEEE international symposium on performance analysis of systems and software (ISPASS), Philadelphia, PA, USA.","DOI":"10.1109\/ISPASS.2015.7095802"},{"key":"ref_3","doi-asserted-by":"crossref","unstructured":"Soltesz, S., P\u00f6tzl, H., Fiuczynski, M.E., Bavier, A., and Peterson, L. (2007, January 21\u201323). Container-based operating system virtualization: A scalable, high-performance alternative to hypervisors. Proceedings of the 2nd ACM SIGOPS\/EuroSys European Conference on Computer Systems 2007, Lisboa, Portugal.","DOI":"10.1145\/1272996.1273025"},{"key":"ref_4","unstructured":"(2020, October 19). Kubernetes, Production-Grade Container Orchestration. Available online: https:\/\/kubernetes.io\/."},{"key":"ref_5","doi-asserted-by":"crossref","unstructured":"Deshpande, U. (2019, January 7\u201310). Caravel: Burst tolerant scheduling for containerized stateful applications. Proceedings of the 2019 IEEE 39th International Conference on Distributed Computing Systems (ICDCS), Dallas, TX, USA.","DOI":"10.1109\/ICDCS.2019.00143"},{"key":"ref_6","unstructured":"(2020, October 19). Simple Leader Election with Kubernetes and Docker. Available online: https:\/\/kubernetes.io\/blog\/2016\/01\/simple-leader-election-with-kubernetes\/."},{"key":"ref_7","doi-asserted-by":"crossref","first-page":"78","DOI":"10.1109\/MCOM.001.1900660","article-title":"Toward Highly Scalable Load Balancing in Kubernetes Clusters","volume":"58","author":"Nguyen","year":"2020","journal-title":"IEEE Commun. Mag."},{"key":"ref_8","doi-asserted-by":"crossref","first-page":"052092","DOI":"10.1088\/1757-899X\/569\/5\/052092","article-title":"Research on resource prediction model based on kubernetes container auto-scaling technology","volume":"Volume 569","author":"Zhao","year":"2019","journal-title":"IOP Conference Series: Materials Science and Engineering"},{"key":"ref_9","doi-asserted-by":"crossref","unstructured":"Nguyen, T.T., Yeom, Y.J., Kim, T., Park, D.H., and Kim, S. (2020). Horizontal Pod Autoscaling in Kubernetes for Elastic Container Orchestration. Sensors, 20.","DOI":"10.3390\/s20164621"},{"key":"ref_10","unstructured":"(2020, October 19). Prometheus. Available online: https:\/\/prometheus.io\/."},{"key":"ref_11","doi-asserted-by":"crossref","unstructured":"Chang, C.C., Yang, S.R., Yeh, E.H., Lin, P., and Jeng, J.Y. (2017, January 4\u20138). A kubernetes-based monitoring platform for dynamic cloud resource provisioning. Proceedings of the 2017 IEEE Global Communications Conference, Singapore.","DOI":"10.1109\/GLOCOM.2017.8254046"},{"key":"ref_12","unstructured":"(2020, October 19). Apache JMeter. Available online: https:\/\/jmeter.apache.org\/."},{"key":"ref_13","doi-asserted-by":"crossref","unstructured":"Medel, V., Rana, O., Ba\u00f1ares, J.\u00c1., and Arronategui, U. (2016, January 6\u20139). Adaptive application scheduling under interference in kubernetes. Proceedings of the 2016 IEEE\/ACM 9th International Conference on Utility and Cloud Computing (UCC), Shanghai, China.","DOI":"10.1145\/2996890.3007889"},{"key":"ref_14","doi-asserted-by":"crossref","first-page":"53","DOI":"10.1016\/j.sysarc.2016.12.007","article-title":"State machine replication in containers managed by Kubernetes","volume":"73","author":"Netto","year":"2017","journal-title":"J. Syst. Archit."},{"key":"ref_15","doi-asserted-by":"crossref","unstructured":"Liu, Q., Haihong, E., and Song, M. (2020, January 26\u201328). The Design of Multi-Metric Load Balancer for Kubernetes. Proceedings of the 2020 International Conference on Inventive Computation Technologies (ICICT), Coimbatore, India.","DOI":"10.1109\/ICICT48043.2020.9112373"},{"key":"ref_16","unstructured":"Vayghan, L.A., Saied, M.A., Toeroe, M., and Khendek, F. (2019, January 22\u201326). Microservice Based Architecture: Towards High-Availability for Stateful Applications with Kubernetes. Proceedings of the 2019 IEEE 19th International Conference on Software Quality, Reliability and Security (QRS), Sofia, Bulgaria."},{"key":"ref_17","doi-asserted-by":"crossref","unstructured":"Santos, J., Wauters, T., Volckaert, B., and De Turck, F. (2019, January 24\u201328). Towards network-aware resource provisioning in kubernetes for fog computing applications. Proceedings of the 2019 IEEE Conference on Network Softwarization (NetSoft), Paris, France.","DOI":"10.1109\/NETSOFT.2019.8806671"},{"key":"ref_18","doi-asserted-by":"crossref","unstructured":"Santos, J., Wauters, T., Volckaert, B., and De Turck, F. (2019). Resource provisioning in Fog computing: From theory to practice. Sensors, 19.","DOI":"10.3390\/s19102238"},{"key":"ref_19","doi-asserted-by":"crossref","first-page":"183879","DOI":"10.1109\/ACCESS.2020.3029583","article-title":"ElasticFog: Elastic Resource Provisioning in Container-Based Fog Computing","volume":"8","author":"Nguyen","year":"2020","journal-title":"IEEE Access"},{"key":"ref_20","doi-asserted-by":"crossref","unstructured":"Gawel, M., and Zielinski, K. (2019, January 8\u201313). Analysis and Evaluation of Kubernetes based NFV management and orchestration. Proceedings of the 2019 IEEE 12th International Conference on Cloud Computing (CLOUD), Milan, Italy.","DOI":"10.1109\/CLOUD.2019.00094"},{"key":"ref_21","unstructured":"Vayghan, L.A., Saied, M.A., Toeroe, M., and Khendek, F. (2018, January 2\u20137). Deploying microservice based applications with Kubernetes: Experiments and lessons learned. Proceedings of the 2018 IEEE 11th international conference on cloud computing (CLOUD), San Francisco, CA, USA."},{"key":"ref_22","doi-asserted-by":"crossref","first-page":"133","DOI":"10.1145\/279227.279229","article-title":"The part-time parliament","volume":"16","author":"Lamport","year":"1998","journal-title":"ACM Trans. Comput. Syst."},{"key":"ref_23","unstructured":"Ongaro, D., and Ousterhout, J. (2014, January 19\u201320). In search of an understandable consensus algorithm. Proceedings of the USENIX Annual Technical Conference, Philadelphia, PA, USA."},{"key":"ref_24","doi-asserted-by":"crossref","first-page":"72","DOI":"10.1109\/TNSM.2019.2891592","article-title":"Load balancing of distributed datastore in opendaylight controller cluster","volume":"16","author":"Kim","year":"2019","journal-title":"IEEE Trans. Netw. Serv. Manag."},{"key":"ref_25","doi-asserted-by":"crossref","unstructured":"Oliveira, C., Lung, L.C., Netto, H., and Rech, L. (2016). Evaluating raft in docker on kubernetes. International Conference on Systems Science, Springer.","DOI":"10.1007\/978-3-319-48944-5_12"},{"key":"ref_26","doi-asserted-by":"crossref","unstructured":"Netto, H.V., Luiz, A.F., Correia, M., de Oliveira Rech, L., and Oliveira, C.P. (2018, January 25\u201328). Koordinator: A service approach for replicating Docker containers in Kubernetes. Proceedings of the 2018 IEEE Symposium on Computers and Communications (ISCC), Natal, Brazil.","DOI":"10.1109\/ISCC.2018.8538452"},{"key":"ref_27","unstructured":"(2020, October 19). Docker. Available online: https:\/\/www.docker.com\/."},{"key":"ref_28","unstructured":"(2020, October 19). Containerd. Available online: https:\/\/containerd.io\/."},{"key":"ref_29","unstructured":"(2020, October 19). Deploying a Stateful Application. Available online: https:\/\/cloud.google.com\/."},{"key":"ref_30","unstructured":"Hunt, P., Konar, M., Junqueira, F.P., and Reed, B. (2010, January 23\u201325). ZooKeeper: Wait-free Coordination for Internet-scale Systems. Proceedings of the USENIX Annual Technical Conference, Boston, MA, USA."},{"key":"ref_31","unstructured":"(2020, October 19). Consul. Available online: https:\/\/www.consul.io\/."},{"key":"ref_32","unstructured":"(2020, October 19). Hey. Available online: https:\/\/github.com\/rakyll\/hey."}],"container-title":["Sensors"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/1424-8220\/21\/3\/869\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T05:16:32Z","timestamp":1760159792000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/1424-8220\/21\/3\/869"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,1,28]]},"references-count":32,"journal-issue":{"issue":"3","published-online":{"date-parts":[[2021,2]]}},"alternative-id":["s21030869"],"URL":"https:\/\/doi.org\/10.3390\/s21030869","relation":{},"ISSN":["1424-8220"],"issn-type":[{"value":"1424-8220","type":"electronic"}],"subject":[],"published":{"date-parts":[[2021,1,28]]}}}