Cloud applications are increasingly executed onto lightweight containers that can be efficiently managed to cope with highly varying and unpredictable workloads. Kubernetes, the most popular container orchestrator, provides means to automatically scale containerized applications to keep their response time under control. Kubernetes provisions resources using two main components: i) Horizontal Pod Autoscaler (HPA), which controls the amount of containers running for an application, and ii) Vertical Pod Autoscaler (VPA), which oversees the resource allocation of existing containers. These two components have several limitations: they must control different metrics, they use simple threshold-based rules, and the reconfiguration of existing containers requires stopping and restarting them. To overcome these limitations this paper presents KOSMOS, a novel autoscaling solution for Kubernetes. Containers are individually controlled by control-theoretical planners that manage container resources on-the-fly (vertical scaling). A dedicated component is in charge of handling resource contention scenarios among containers deployed in the same node (a physical or virtual machine). Finally, at the cluster-level a heuristic-based controller is in charge of the horizontal scaling of each application.

KOSMOS: Vertical and Horizontal Resource Autoscaling for Kubernetes / L. Baresi, D.Y.X. Hu, G. Quattrocchi, L. Terracciano (LECTURE NOTES IN COMPUTER SCIENCE). - In: ICSOC Service-Oriented Computing / [a cura di] H. Hacid, O. Kao, M. Mecella, N. Moha, H. Paik. - [s.l] : Springer Science and Business Media Deutschland GmbH, 2021. - ISBN 978-3-030-91430-1. - pp. 821-829 (( 19. International Conference : November 22–25 (online) 2021 [10.1007/978-3-030-91431-8_59].

KOSMOS: Vertical and Horizontal Resource Autoscaling for Kubernetes

G. Quattrocchi
Penultimo
;
2021

Abstract

Cloud applications are increasingly executed onto lightweight containers that can be efficiently managed to cope with highly varying and unpredictable workloads. Kubernetes, the most popular container orchestrator, provides means to automatically scale containerized applications to keep their response time under control. Kubernetes provisions resources using two main components: i) Horizontal Pod Autoscaler (HPA), which controls the amount of containers running for an application, and ii) Vertical Pod Autoscaler (VPA), which oversees the resource allocation of existing containers. These two components have several limitations: they must control different metrics, they use simple threshold-based rules, and the reconfiguration of existing containers requires stopping and restarting them. To overcome these limitations this paper presents KOSMOS, a novel autoscaling solution for Kubernetes. Containers are individually controlled by control-theoretical planners that manage container resources on-the-fly (vertical scaling). A dedicated component is in charge of handling resource contention scenarios among containers deployed in the same node (a physical or virtual machine). Finally, at the cluster-level a heuristic-based controller is in charge of the horizontal scaling of each application.
Containers; Control theory; Kubernetes; Resource provisioning;
Settore IINF-05/A - Sistemi di elaborazione delle informazioni
Settore INFO-01/A - Informatica
2021
Book Part (author)
File in questo prodotto:
File Dimensione Formato  
978-3-030-91431-8_59.pdf

accesso riservato

Tipologia: Publisher's version/PDF
Licenza: Nessuna licenza
Dimensione 674.22 kB
Formato Adobe PDF
674.22 kB Adobe PDF   Visualizza/Apri   Richiedi una copia
Pubblicazioni consigliate

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/2434/1227074
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 32
  • ???jsp.display-item.citation.isi??? 21
  • OpenAlex ND
social impact