{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,29]],"date-time":"2026-07-29T14:42:18Z","timestamp":1785336138393,"version":"3.55.0"},"reference-count":37,"publisher":"MDPI AG","issue":"16","license":[{"start":{"date-parts":[[2020,8,17]],"date-time":"2020-08-17T00:00:00Z","timestamp":1597622400000},"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"}]},{"name":"Institute of Information &amp; Communications Technology Planning &amp; Evaluation","award":["2018-0-00387"],"award-info":[{"award-number":["2018-0-00387"]}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Sensors"],"abstract":"<jats:p>Kubernetes, an open-source container orchestration platform, enables high availability and scalability through diverse autoscaling mechanisms such as Horizontal Pod Autoscaler (HPA), Vertical Pod Autoscaler and Cluster Autoscaler. Amongst them, HPA helps provide seamless service by dynamically scaling up and down the number of resource units, called pods, without having to restart the whole system. Kubernetes monitors default Resource Metrics including CPU and memory usage of host machines and their pods. On the other hand, Custom Metrics, provided by external software such as Prometheus, are customizable to monitor a wide collection of metrics. In this paper, we investigate HPA through diverse experiments to provide critical knowledge on its operational behaviors. We also discuss the essential difference between Kubernetes Resource Metrics (KRM) and Prometheus Custom Metrics (PCM) and how they affect HPA\u2019s performance. Lastly, we provide deeper insights and lessons on how to optimize the performance of HPA for researchers, developers, and system administrators working with Kubernetes in the future.<\/jats:p>","DOI":"10.3390\/s20164621","type":"journal-article","created":{"date-parts":[[2020,8,17]],"date-time":"2020-08-17T21:58:53Z","timestamp":1597701533000},"page":"4621","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":159,"title":["Horizontal Pod Autoscaling in Kubernetes for Elastic Container Orchestration"],"prefix":"10.3390","volume":"20","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-8186-2600","authenticated-orcid":false,"given":"Thanh-Tung","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-0003-2568-4368","authenticated-orcid":false,"given":"Yu-Jin","family":"Yeom","sequence":"additional","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"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1253-6577","authenticated-orcid":false,"given":"Dae-Heon","family":"Park","sequence":"additional","affiliation":[{"name":"Electronics and Telecommunications Research Institute, Daejeon 34129, Korea"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2565-7186","authenticated-orcid":false,"given":"Sehan","family":"Kim","sequence":"additional","affiliation":[{"name":"Electronics and Telecommunications Research Institute, Daejeon 34129, Korea"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"1968","published-online":{"date-parts":[[2020,8,17]]},"reference":[{"key":"ref_1","unstructured":"(2020, June 23). Amazon Web Services. Available online: https:\/\/aws.amazon.com."},{"key":"ref_2","unstructured":"(2020, June 23). Google Cloud Platform. Available online: https:\/\/cloud.google.com."},{"key":"ref_3","unstructured":"(2020, June 23). Microsoft Azure. Available online: https:\/\/azure.microsoft.com."},{"key":"ref_4","doi-asserted-by":"crossref","first-page":"677","DOI":"10.1109\/TCC.2017.2702586","article-title":"Cloud Container Technologies: A State-of-the-Art Review","volume":"7","author":"Pahl","year":"2017","journal-title":"IEEE Trans. Cloud Comput."},{"key":"ref_5","doi-asserted-by":"crossref","unstructured":"He, S., Guo, L., Guo, Y., Wu, C., Ghanem, M., and Han, R. (2012, January 26\u201329). Elastic application container: A lightweight approach for cloud resource provisioning. Proceedings of the 2012 IEEE 26th International Conference on Advanced Information Networking and Applications, Fukuoka, Japan.","DOI":"10.1109\/AINA.2012.74"},{"key":"ref_6","doi-asserted-by":"crossref","unstructured":"Dua, R., Raja, A.R., and Kakadia, D. (2014, January 11\u201314). Virtualization vs containerization to support PaaS. Proceedings of the 2014 IEEE International Conference on Cloud Engineering, Boston, MA, USA.","DOI":"10.1109\/IC2E.2014.41"},{"key":"ref_7","doi-asserted-by":"crossref","first-page":"24","DOI":"10.1109\/MCC.2015.51","article-title":"Containerization and the PaaS Cloud","volume":"2","author":"Pahl","year":"2015","journal-title":"IEEE Cloud Comput."},{"key":"ref_8","unstructured":"(2020, June 23). Docker. Available online: https:\/\/www.docker.com."},{"key":"ref_9","unstructured":"(2020, June 23). Amazon Elastic Container Service. Available online: https:\/\/aws.amazon.com\/ecs."},{"key":"ref_10","unstructured":"(2020, June 23). Red Hat OpenShift Container Platform. Available online: https:\/\/www.openshift.com\/products\/container-platform."},{"key":"ref_11","unstructured":"(2020, June 23). Kubernetes. Available online: www.kubernetes.io."},{"key":"ref_12","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 GLOBECOM 2017\u20142017 IEEE Global Communications Conference, Singapore.","DOI":"10.1109\/GLOCOM.2017.8254046"},{"key":"ref_13","unstructured":"(2020, June 23). Prometheus. Available online: https:\/\/prometheus.io."},{"key":"ref_14","unstructured":"(2020, June 23). Cloud Native Computing Foundation. Available online: https:\/\/www.cncf.io."},{"key":"ref_15","doi-asserted-by":"crossref","unstructured":"Thurgood, B., and Lennon, R.G. (2019). Cloud computing with Kubernetes cluster elastic scaling. ICPS Proc., 1\u20137.","DOI":"10.1145\/3341325.3341995"},{"key":"ref_16","doi-asserted-by":"crossref","unstructured":"Rattihalli, G., Govindaraju, M., Lu, H., and Tiwari, D. (2019, January 8\u201313). Exploring potential for non-disruptive vertical auto scaling and resource estimation in kubernetes. Proceedings of the IEEE International Conference on Cloud Computing (CLOUD), Milan, Italy.","DOI":"10.1109\/CLOUD.2019.00018"},{"key":"ref_17","doi-asserted-by":"crossref","unstructured":"Song, M., Zhang, C., and Haihong, E. (2018, January 23\u201325). An auto scaling system for API gateway based on Kubernetes. Proceedings of the 2018 IEEE 9th International Conference on Software Engineering and Service Science (ICSESS), Beijing, China.","DOI":"10.1109\/ICSESS.2018.8663784"},{"key":"ref_18","doi-asserted-by":"crossref","unstructured":"Jin-Gang, Y., Ya-Rong, Z., Bo, Y., and Shu, L. (2017, January 9\u201310). Research and application of auto-scaling unified communication server based on Docker. Proceedings of the 2017 10th International Conference on Intelligent Computation Technology and Automation (ICICTA), Changsha, China.","DOI":"10.1109\/ICICTA.2017.41"},{"key":"ref_19","doi-asserted-by":"crossref","unstructured":"Townend, P., Clement, S., Burdett, D., Yang, R., Shaw, J., Slater, B., and Xu, J. (2019, January 4\u20139). Improving data center efficiency through holistic scheduling in kubernetes. Proceedings of the 2019 IEEE International Conference on Service-Oriented System Engineering (SOSE), Newark, CA, USA.","DOI":"10.1109\/SOSE.2019.00030"},{"key":"ref_20","first-page":"30","article-title":"Auto-scaling policies to adapt the application deployment in Kubernetes","volume":"2575","author":"Rossi","year":"2020","journal-title":"CEUR Workshop Proc."},{"key":"ref_21","doi-asserted-by":"crossref","unstructured":"Balla, D., Simon, C., and Maliosz, M. (2020, January 20\u201324). Adaptive scaling of Kubernetes pods. Proceedings of the IEEE\/IFIP Network Operations and Management Symposium 2020: Management in the Age of Softwarization and Artificial Intelligence, NOMS 2020, Budapest, Hungary.","DOI":"10.1109\/NOMS47738.2020.9110428"},{"key":"ref_22","doi-asserted-by":"crossref","unstructured":"Casalicchio, E., and Perciballi, V. (2017, January 18\u201322). Auto-scaling of containers: The impact of relative and absolute metrics. Proceedings of the 2017 IEEE 2nd International Workshops on Foundations and Applications of Self* Systems (FAS*W), Tucson, AZ, USA.","DOI":"10.1109\/FAS-W.2017.149"},{"key":"ref_23","doi-asserted-by":"crossref","first-page":"995","DOI":"10.1007\/s10586-018-02890-1","article-title":"A study on performance measures for auto-scaling CPU-intensive containerized applications","volume":"22","author":"Casalicchio","year":"2019","journal-title":"Clust. Comput."},{"key":"ref_24","doi-asserted-by":"crossref","first-page":"102734","DOI":"10.1016\/j.advengsoft.2019.102734","article-title":"Key influencing factors of the Kubernetes auto-scaler for computing-intensive microservice-native cloud-based applications","volume":"140","author":"Taherizadeh","year":"2020","journal-title":"Adv. Eng. Softw."},{"key":"ref_25","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_26","doi-asserted-by":"crossref","unstructured":"Santos, J., Wauters, T., Volckaert, B., and Turck, F.D. (2019). Resource provisioning in fog computing: From theory to practice. Sensors, 19.","DOI":"10.3390\/s19102238"},{"key":"ref_27","doi-asserted-by":"crossref","unstructured":"Zheng, W.S., and Yen, L.H. (2018). Auto-scaling in Kubernetes-based Fog Computing platform. International Computer Symposium, Springer.","DOI":"10.1007\/978-981-13-9190-3_35"},{"key":"ref_28","unstructured":"(2020, June 23). Heapster. Available online: https:\/\/github.com\/kubernetes-retired\/heapster."},{"key":"ref_29","unstructured":"(2020, June 23). InfluxDB. Available online: https:\/\/www.influxdata.com."},{"key":"ref_30","unstructured":"(2020, June 23). Grafana. Available online: https:\/\/grafana.com."},{"key":"ref_31","unstructured":"(2020, June 23). Apache JMeter. Available online: https:\/\/jmeter.apache.org."},{"key":"ref_32","doi-asserted-by":"crossref","unstructured":"Syu, Y., and Wang, C.M. (2018, January 27\u201330). modeling and forecasting http requests-based Cloud workloads using autoregressive artificial Neural Networks. Proceedings of the 2018 3rd International Conference on Computer and Communication Systems (ICCCS), Nagoya, Japan.","DOI":"10.1109\/CCOMS.2018.8463336"},{"key":"ref_33","doi-asserted-by":"crossref","unstructured":"Dickel, H., Podolskiy, V., and Gerndt, M. (2019, January 18\u201321). Evaluation of autoscaling metrics for (stateful) IoT gateways. Proceedings of the 2019 IEEE 12th Conference on Service-Oriented Computing and Applications (SOCA), Kaohsiung, Taiwan.","DOI":"10.1109\/SOCA.2019.00011"},{"key":"ref_34","unstructured":"(2020, June 23). Prometheus Operator. Available online: https:\/\/github.com\/coreos\/prometheus-operator."},{"key":"ref_35","unstructured":"(2020, June 23). CAdvisor. Available online: https:\/\/github.com\/google\/cadvisor."},{"key":"ref_36","unstructured":"(2020, June 23). Prometheus Adapter. Available online: https:\/\/github.com\/DirectXMan12\/k8s-prometheus-adapter."},{"key":"ref_37","unstructured":"(2020, June 23). Gatling. Available online: https:\/\/gatling.io\/open-source."}],"container-title":["Sensors"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/1424-8220\/20\/16\/4621\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T10:02:07Z","timestamp":1760176927000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/1424-8220\/20\/16\/4621"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,8,17]]},"references-count":37,"journal-issue":{"issue":"16","published-online":{"date-parts":[[2020,8]]}},"alternative-id":["s20164621"],"URL":"https:\/\/doi.org\/10.3390\/s20164621","relation":{},"ISSN":["1424-8220"],"issn-type":[{"value":"1424-8220","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020,8,17]]}}}