Kubernetes是Google主导的容器编排引擎, 其资源调度算法分为预选和优选两个过程. 针对预选过程要遍历所有节点比较耗时的问题, 改进的资源调度算法提出在选出满足条件的节点数量时直接进行优选而无需遍历所有节点, 从而提高资源调度效率; 针对优选过程只考虑了pod自身申请的CPU和内存使用情况, 并且未考虑节点本身的资源利用率的问题, 改进的资源调度算法综合考虑CPU、内存、网络、IO指标, 通过实验验证了改进算法能适应更加复杂的互联网应用环境, 进而提高集群的负载均衡效率.
Kubernetes is Google’s leading container orchestration engine. Its resource scheduling algorithm consists of two processes: pre-selection and optimization. The pre-selection process needs to traverse all nodes, which is time-consuming, the improved scheduling algorithm proposes to directly optimize the number of nodes that meet the conditions without having to traverse all, which is expected to improve the scheduling efficiency. For the optimization process, only the CPU and memory usage applied by the pod itself are considered, and the resource utilization of the node itself is not considered. The improved resource scheduling comprehensively considers CPU, memory, network, IO indicators. The improved algorithm is verified through experiments, which can adapt to more complex internet application environments, thereby improving the load balancing efficiency of the cluster.