Abstract:Kubernetes is an open-source platform for managing containerized applications. Nevertheless, its default scheduling algorithm only uses two resources, the central processing unit (CPU) and memory, as scoring metrics for computing nodes at the preference stage. Moreover, it also neglects the point that different types of Pods occupy different ratios of node resources. Consequently, a certain resource is highly likely to reach a performance bottleneck, ultimately causing an imbalance in the use of resources by nodes. To address the above problem, this study adds bandwidth and disk capacity to the original resource metrics of Kubernetes. The impact of the occupancy ratios of the four types of resources, i.e., CPU, memory, bandwidth, and disk capacity, at the nodes on the performance of the nodes may cause abnormal operation of the applications in Pods and even kill the Pods, ultimately affecting the overall high reliability of the cluster. For this reason, the study classifies the Pods waiting to be created into the compressible consumption type, the incompressible consumption type, and the balanced type and sets corresponding weights for each type. Finally, the optimal nodes for scheduling are obtained by an improved bald eagle search algorithm (TBESK). The experimental results show that as the number of Pods in the cluster increases, the standard deviation of the synthetic load of the TBESK algorithm is 24% lower than that of the default scheduling algorithm in the case of a large cluster load.