Exploring Potential for Non-Disruptive Vertical Auto Scaling and Resource Estimation in Kubernetes

Exploring Potential for Non-Disruptive Vertical Auto Scaling and Resource Estimation in Kubernetes
复制标题

DOI:
10.1109/cloud.2019.00018
复制
发表时间:
2019-07
期刊:
2019 IEEE 12th International Conference on Cloud Computing (CLOUD)
影响因子:
--
通讯作者:
Gourav Rattihalli;M. Govindaraju;Hui Lu;Devesh Tiwari
Gourav Rattihalli;M. Govindaraju;Hui Lu;Devesh Tiwari
中科院分区:
其他
文献类型:
--
作者:
Gourav Rattihalli;M. Govindaraju;Hui Lu;Devesh Tiwari

文献摘要

相似文献

云平台通常需要用户提供应用程序的资源需求,以便资源管理器可以调度具有足够分配的容器。但是,对容器资源的要求通常取决于许多因素,例如为每次运行指定的应用程序输入参数、优化标志、输入文件和属性。因此,对于用户来说,准确地估计给定容器的资源需求是复杂的,导致资源高估,从而对整体利用率产生负面影响。我们设计了一个基于资源利用率的自动缩放系统(RUBAS),可以动态调整Kubernetes集群中运行的容器的分配。RUBAS通过整合容器迁移,无中断地改进了Kubernetes Vertical Pod Autoscaler(VPA)系统。我们的实验使用多个科学基准。我们使用Kubernetes VPA分析了RUBAS的分配模式。我们比较了就地和远程节点迁移的容器迁移性能,并评估了RUBAS的开销。我们的结果表明,与Kubernetes VPA相比,RUBAS将集群的CPU和内存利用率提高了10%,并将运行时间减少了15%,每个应用程序的开销从5%到20%不等。
Cloud platforms typically require users to provide resource requirements for applications so that resource managers can schedule containers with adequate allocations. However, the requirements for container resources often depend on numerous factors such as application input parameters, optimization flags, input files, and attributes that are specified for each run. So, it is complex for users to estimate the resource requirements for a given container accurately, leading to resource over-estimation that negatively affects overall utilization. We have designed a Resource Utilization Based Autoscaling System (RUBAS) that can dynamically adjust the allocation of containers running in a Kubernetes cluster. RUBAS improves upon the Kubernetes Vertical Pod Autoscaler (VPA) system non-disruptively by incorporating container migration. Our experiments use multiple scientific benchmarks. We analyze the allocation pattern of RUBAS with Kubernetes VPA. We compare the performance of container migration for in-place and remote node migration and we evaluate the overhead in RUBAS. Our results show that compared to Kubernetes VPA, RUBAS improves the CPU and memory utilization of the cluster by 10% and reduces the runtime by 15% with an overhead for each application ranging from 5% to 20%.