Improved NSGA-III based resource scheduling strategy for Kubernetes
摘要
In this paper, we study the dynamic relationship between the resource demands of Pods and the resource quotas of each node in the cluster. We fully consider the significance of different resource objects in the Kubernetes cluster. On the basis of the two resource metrics (CPU and memory) considered by the default scheduling algorithm, we additionally introduce disk capacity and network bandwidth as evaluation criteria for the algorithm. To improve cluster resource utilization and load balancing, we propose two new concepts: resource matching degree and load balancing coefficient. By incorporating the node resource utilization metric, we establish a three-dimensional multi-objective decision-making model. To efficiently solve this model, we finally propose a collaborative optimization scheme that integrates deep reinforcement learning, K-means clustering, and NSGA-III. Specifically, we first generate initial populations close to the optimal solution through deep reinforcement learning, and then improve the NSGA-III algorithm based on K-means clustering to solve the model, so as to find the optimal node for Pod deployment.