This topic describes optimizing a workload with Pod rightsizing.
A workload is optimized after the following steps:
You apply a Pod rightsizing policy to a workload.
Pod rightsizing changes the allocated resources according to the selected optimization strategy.
This process completes within 2 hours of applying the solution.
Pod rightsizing policies
You can apply the following built-in resource optimization policies:
Balanced: A balanced setup with moderate buffers and stable recommendations for general workloads.
Stability-focused: Prioritizes availability and resiliency by using longer lookback periods and larger buffers. Suitable for mission-critical or long-lived services.
Cost-focused: Aggressively minimizes overprovisioning to reduce cost with minimal buffers and fast reaction to utilization drops. Suitable for non-critical or stateless services.
The built-in optimization policies rightsize both CPU and memory. To rightsize only one of those resources and retain manual control over the other, use Selective Pod rightsizing. For more information, see Pod rightsizing policy advanced capabilities.
For more information about the fixed parameter settings for the built-in policies, see Built-in Pod rightsizing policy fixed parameter values.
You can also create and use custom policies.
The following table demonstrates the Balanced optimization policy recommendations:
Over-provisioned | Under-provisioned | |
|---|---|---|
Current | 2.0 cores | 1.8 cores |
Actual (last 24 hours) | 0.6 cores | 1.0 cores |
Policy buffer calculation (20%) | 0.6 x 0.2 = 0.12 cores | 1.8 x 0.2 = 0.36 cores |
Recommendation | 0.6 + 0.12 = .72 cores | 1.8 + 0.36 = 2.16 cores |
Result | Reduce from 2.0 to 0.72 cores, saving 64% with safety buffer for spikes | Increase from 1.0 to 2.16 cores, preventing throttling and performance issues |
A workload could have both over-provisioned and under-provisioned recommendations, one for RAM and the other for CPU, or vice-versa.
After the initial resource reduction, Kompass continues to analyze and adjust the resources to ensure that managed workloads are being optimized according to the selected policy. Changes may be made every hour or when an optimization policy is changed.
You can apply Pod rightsizing to a workload using the user interface or using YAML.
After Pod rightsizing is active on a workload, you can use the user interface to see the impact on the workload in terms of CPU, RAM, cost, and other metrics. You can also change the selected optimization policy or remove the solution entirely. For more info, see either the user interface or YAML sections.
You can see changes made by the solution in the Audit Log from the user interface main menu.
For information about supported environments and workload types, see the Kubernetes resource optimization supported environments.