kruize/autotune
Autonomous Performance Tuning for Kubernetes!
What it solves
Kruize addresses the challenge of manually tuning Kubernetes resource allocations. It prevents over-provisioning, which wastes money, and under-provisioning, which degrades application performance, by automatically suggesting the correct amount of CPU, memory, and GPU resources needed for workloads.
How it works
Kruize connects to a monitoring stack (like Prometheus or Thanos) to analyze historical resource usage patterns. It uses metadata and metric profiles to understand the environment and define what constitutes "good performance." Based on this analysis, it generates right-sizing recommendations for:
- Containers: CPU and memory requests and limits.
- Namespaces: Resource quota limits.
- NVIDIA GPUs: Optimal MIG slice configurations for A100 and H100 accelerators.
- Application Runtimes: Optimized configurations for JVMs and frameworks like Quarkus (Alpha).
Users can choose between cost-optimized or performance-optimized profiles and set custom observation windows.
Who it’s for
It is designed for Kubernetes and OpenShift administrators and DevOps engineers who want to reduce infrastructure costs and improve workload stability without manual trial-and-error tuning.
Highlights
- Multi-resource support: Optimizes CPU, memory, and GPU (MIG slices).
- GPU Optimization: Specifically supports NVIDIA A100 and H100 accelerators.
- Integration: Works with Prometheus and Thanos for data collection.
- Flexible Profiles: Offers predefined and custom terms for observation windows and optimization goals (cost vs. performance).
- Deployment: Available via a dedicated operator for simplified management.
Related
- Project
- Project
- Project
- Project
- Project