Dynamic Resource-Balancing Scheduling Strategies for Kubernetes in the 58 Cloud Platform
The article analyzes the limitations of native Kubernetes scheduling, proposes usage‑based and dynamic‑weight scheduling strategies to improve multi‑resource balance, presents experimental results showing significant CPU and memory utilization gains, and discusses cost benefits and future directions for the private cloud platform.
58 Cloud Platform, a private cloud built on Kubernetes (K8S), aims to provide an efficient, one‑stop cloud solution for internal services, emphasizing resource utilization, rapid deployment, and standardized environments.
K8S native scheduling relies on resource requests, which often mismatch actual usage, leading to low utilization and resource over‑commitment.
The article identifies two main issues with native scheduling: request‑based scheduling and resource over‑commitment, which cause waste and instability.
To address these, the authors evolved the scheduling strategy in two stages: a usage‑based scheduling strategy that replaces requests with actual usage for CPU, memory, and disk, and a dynamic‑weight scheduling strategy that balances multiple resources without mutual interference.
In the usage‑based approach, they analyze monitoring data to predict resource usage during peak periods (e.g., 9‑10 am) and compute expected usage for each container, achieving better applicability than native policies.
The dynamic‑weight strategy automatically calculates weights per resource based on container demands, node idle levels, and overall cluster scarcity, using a formula (shown in the image) to derive dynamic scores for each pod‑node pair.
Example calculations demonstrate how dynamic weights produce distinct scores for different pods and nodes, leading to more appropriate placement compared to fixed‑weight scoring.
Evaluation using normal distribution curves shows that both CPU and memory utilization distributions narrow significantly under the new strategies, indicating improved balance.
From a cost perspective, the optimized scheduling and over‑commitment techniques increased server resource utilization by over four times, saving tens of millions of yuan annually.
In summary, the research presents an innovative multi‑resource dynamic balancing approach for Kubernetes scheduling, with plans to contribute the work to the open‑source community.
58 Tech
Official tech channel of 58, a platform for tech innovation, sharing, and communication.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.