Abstract:In the optimization stage, Kubernetes determines the score of a node only according to its utilization of CPU and memory. This can only guarantee the resource utilization of a single node but fails to achieve the load balancing of cluster resources. In response to this problem, a genetic algorithm-based Kubernetes resource scheduling algorithm is proposed. In the algorithm, two evaluation indicators, i.e., network bandwidth and disk IO, are added and assigned with different weights. In addition, a check dictionary is introduced to check and repair the individuals that do not meet the configuration in the new population generated by the genetic algorithm. Experimental results show that compared with the Kubernetes default resource scheduling strategy, this algorithm takes into account the resource utilization of all nodes in the cluster and performs better in ensuring cluster load balancing.