Abstract
Kubernetes is a tool to facilitate deployment of multiple virtualized applications using container technology. Kubernetes scheduling mechanism orchestrates computing resources per application at runtime. However, resource allocation is static, as the maximum amount of computing resources that each application can use, must be reserved in advance. If the application requests more resources than the maximum, a fail scheduling event is generated. Although solutions to the problem of automatic scaling in Kubernetes are known to exist and automatic scaling is supported by cloud providers such as Amazon and Google, these solutions are fully proprietary and not generic (e.g. do not apply to all Kubernetes distributions). Our solution, referred to as “Commodore”, is capable of allocating (or de-allocating) resources based on the actual demands of running applications. Taking advantage of the virtualization features of cloud computing, applications are deployed on worker machines (nodes) as Virtual Machines (VMs). This not only results in better utilization of computing resources (i.e. CPU, memory and network are defined virtually) but also, in enhanced software security by isolating services or applications from each other. The experimental results demonstrated that Commodore responds to the increasing (or decreasing) resource demands of each application leading to significantly faster response times compared to a non-auto scaled implementation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
References
Al-Dhuraibi, Y., Paraiso, F., Djarallah, N., Merle, P.: Autonomic vertical elasticity of docker containers with ELASTICDOCKER. In: International Conference on Cloud Computing (CLOUD 2017), pp. 472–479, Honolulu, USA, June 2017
Bondi, A.B.: Characteristics of scalability and their impact on performance. In: 2nd International Workshop on Software and Performance, pp. 195–203, NY, USA (2000)
Christodoulopoulos, C.: Commodore: fail safe container scheduling in kubernetes. Technical report TR-TUC-ISL-07-2017, School of Electrical and Computer Engineering, TUC, Chania, Greece, December 2017
Lorido-Botran, T., Miguel-Alonso, J., Lozano, J.A.: A review of auto-scaling techniques for elastic applications in cloud environments. J. Grid Comput. 12(4), 559–592 (2014)
Sharma, P., Chaufournier, L., Shenoy, P., Tay, Y.C.: Containers and virtual machines at scale: a comparative study. In: 17th International Middleware Conference, pp. 1:1–1:13, NY, USA (2016)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Christodoulopoulos, C., Petrakis, E.G.M. (2020). Commodore: Fail Safe Container Scheduling in Kubernetes. In: Barolli, L., Takizawa, M., Xhafa, F., Enokido, T. (eds) Advanced Information Networking and Applications. AINA 2019. Advances in Intelligent Systems and Computing, vol 926. Springer, Cham. https://doi.org/10.1007/978-3-030-15032-7_83
Download citation
DOI: https://doi.org/10.1007/978-3-030-15032-7_83
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-15031-0
Online ISBN: 978-3-030-15032-7
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)