Commodore: Fail Safe Container Scheduling in Kubernetes

  • Christos Christodoulopoulos
  • Euripides G. M. PetrakisEmail author
Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 926)


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.


  1. 1.
    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 2017Google Scholar
  2. 2.
    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)Google Scholar
  3. 3.
    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 2017Google Scholar
  4. 4.
    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)CrossRefGoogle Scholar
  5. 5.
    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)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  • Christos Christodoulopoulos
    • 1
  • Euripides G. M. Petrakis
    • 1
    Email author
  1. 1.School of Electrical and Computer EngineeringTechnical University of Crete (TUC)ChaniaGreece

Personalised recommendations