随着云计算飞速发展, 以Docker为代表的容器技术逐渐被重视. 目前, 3种常见的容器编排工具有Kubernetes、Docker Swarm和Rancher. 然而, 现有的容器编排工具在所有工作节点的总容量超标时, 将会有响应时间长和资源占用较多等问题. 因此, 本文设计LSD (least space unused)算法以及LRU-SD (least recently used and space unused)算法, 并应用于3种编排工具中. 当总容量超出上限时, 则选择删除不工作的节点并且增加新的工作节点. 做法上, LSD算法是删除剩余空间最少的工作节点, LRU-SD算法先考虑删除最久未使用的节点, 当有多个符合要求的节点时, 则删除剩余空间最少的工作节点. 实验部分, 分析与比较使用不同算法对3种容器编排工具的影响, 包含响应时间、CPU和内存. 实验结果发现, LSD算法、LRU-SD算法和LRU算法不仅能够提高编排工具的响应时间, 还可以增加资源的使用率. 同时, 在提升CPU的使用率方面, LRU-SD算法的效果最好.
As cloud computing rapidly develops, container technology, represented by Docker, has been gradually paid attention to. At present, three common container orchestration tools are Kubernetes, Docker Swarm, and Rancher. However, when the total capacity of all working nodes exceeds the limit, the existing container orchestration tools will have problems such as long response time and large resource occupation. Therefore, the least space unused (LSD) algorithm and least recently used and space unused (LRU-SD) algorithm are designed in this study and applied to three kinds of orchestration tools. When the total capacity exceeds the upper limit, the non-working nodes are deleted and new working nodes are added. In practice, the LSD algorithm deletes the working node with the least remaining space, while the LRU-SD algorithm first considers deleting the longest unused node. When there are multiple qualified nodes, the working node with the least remaining space is deleted. In the experiment part, the impacts of different algorithms on three container orchestration tools are analyzed and compared in terms of response time, CPU, and memory. The experimental results show that the LSD algorithm, the LRU-SD algorithm, and the LRU algorithm can not only improve the response time of the orchestration tools but also increase the utilization of resources. At the same time, the LRU-SD algorithm is the most effective in improving CPU utilization.