Roh Joo-Young, Choi Sang-Hoon, Park Ki-Woong
SysCore Lab, Sejong University, Seoul 05006, Republic of Korea.
Department of Computer and Information Security, Sejong University, Seoul 05006, Republic of Korea.
Sensors (Basel). 2024 Sep 26;24(19):6244. doi: 10.3390/s24196244.
In modern cloud environments, container orchestration tools are essential for effectively managing diverse workloads and services, and Kubernetes has become the de facto standard tool for automating the deployment, scaling, and operation of containerized applications. While Kubernetes plays an important role in optimizing and managing the deployment of diverse services and applications, its default scheduling approach, which is not optimized for all types of workloads, can often result in poor performance and wasted resources. This is particularly true in environments with complex interactions between services, such as microservice architectures. The traditional Kubernetes scheduler makes scheduling decisions based on CPU and memory usage, but the limitation of this arrangement is that it does not fully account for the performance and resource efficiency of the application. As a result, the communication latency between services increases, and the overall system performance suffers. Therefore, a more sophisticated and adaptive scheduling method is required. In this work, we propose an adaptive pod placement optimization technique using multi-tier inspection to address these issues. The proposed technique collects and analyzes multi-tier data to improve application performance and resource efficiency, which are overlooked by the default Kubernetes scheduler. It derives optimal placements based on the coupling and dependencies between pods, resulting in more efficient resource usage and better performance. To validate the performance of the proposed method, we configured a Kubernetes cluster in a virtualized environment and conducted experiments using a benchmark application with a microservice architecture. The experimental results show that the proposed method outperforms the existing Kubernetes scheduler, reducing the average response time by up to 11.5% and increasing the number of requests processed per second by up to 10.04%. This indicates that the proposed method minimizes the inter-pod communication delay and improves the system-wide resource utilization. This research aims to optimize application performance and increase resource efficiency in cloud-native environments, and the proposed technique can be applied to different cloud environments and workloads in the future to provide more generalized optimizations. This is expected to contribute to increasing the operational efficiency of cloud infrastructure and improving the quality of service.
在现代云环境中,容器编排工具对于有效管理各种工作负载和服务至关重要,而Kubernetes已成为自动化容器化应用程序的部署、扩展和操作的事实上的标准工具。虽然Kubernetes在优化和管理各种服务和应用程序的部署方面发挥着重要作用,但其默认调度方法并非针对所有类型的工作负载进行优化,常常会导致性能不佳和资源浪费。在服务之间存在复杂交互的环境中,如微服务架构,情况尤其如此。传统的Kubernetes调度器根据CPU和内存使用情况做出调度决策,但这种安排的局限性在于它没有充分考虑应用程序的性能和资源效率。结果,服务之间的通信延迟增加,整体系统性能受到影响。因此,需要一种更复杂、自适应的调度方法。在这项工作中,我们提出了一种使用多层检查的自适应Pod放置优化技术来解决这些问题。所提出的技术收集和分析多层数据,以提高应用程序性能和资源效率,而这些是默认的Kubernetes调度器所忽略的。它根据Pod之间的耦合和依赖关系得出最佳放置位置,从而实现更高效的资源使用和更好的性能。为了验证所提出方法的性能,我们在虚拟化环境中配置了一个Kubernetes集群,并使用具有微服务架构的基准应用程序进行了实验。实验结果表明,所提出的方法优于现有的Kubernetes调度器,平均响应时间最多减少11.5%,每秒处理的请求数量最多增加10.04%。这表明所提出的方法最小化了Pod间通信延迟,并提高了全系统的资源利用率。本研究旨在优化云原生环境中的应用程序性能并提高资源效率,所提出的技术未来可应用于不同的云环境和工作负载,以提供更通用的优化。这有望有助于提高云基础设施的运营效率并改善服务质量。