Sensors (Aug 2020)

Horizontal Pod Autoscaling in Kubernetes for Elastic Container Orchestration

  • Thanh-Tung Nguyen,
  • Yu-Jin Yeom,
  • Taehong Kim,
  • Dae-Heon Park,
  • Sehan Kim

DOI
https://doi.org/10.3390/s20164621
Journal volume & issue
Vol. 20, no. 16
p. 4621

Abstract

Read online

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

Keywords