ProactivePolicy applies Kubex recommendations to matching workloads within a namespace.
Use it when you want resource targets to come from Kubex recommendation data instead of fixed values in the manifest, and the policy should be owned within a single namespace.
For the cluster-scoped variant, see Cluster Proactive Policies.
Scope Mapping
ProactivePolicyis namespaced and references anAutomationStrategyin the same namespace.ClusterProactivePolicyis cluster-scoped and references aClusterAutomationStrategy; that resource is documented separately in Cluster Proactive Policies.
Field Reference
ProactivePolicy.spec
Example: Namespaced Proactive Policy
Ephemeral Storage
Kubex can right-size container ephemeral-storage requests and limits, the same way it does for CPU and memory. It is off by default, and turning it on takes two steps. Upgrading the chart doesn’t change storage on any workload until both are done.-
Turn it on for the controller in your Helm values. Do this only if your Kubex instance is on a rapid release that supports ephemeral-storage automation. On any other release, leave it off.
-
Allow storage changes in each
AutomationStrategyorClusterAutomationStrategythat should make them. Every storage change is off in a strategy until you set it totrue:
policy.policies in your Helm values can’t turn on storage changes. Use an AutomationStrategy or ClusterAutomationStrategy instead.
What it means for your workloads
- Kubernetes cannot change ephemeral storage on a running pod. By default, Kubex applies storage changes the next time the pod is recreated (for example a rollout, scale-up, or node drain). A container crash restart does not apply them. They never cause an eviction.
- CPU and memory rightsizing for the same pod is unaffected and happens as usual.
- Set
restartStrategy: Evictto let Kubex restart the pod to apply storage changes. This requirespodEviction.enabled: truein the strategy. A pod with CPU or memory changes together with storage changes is then restarted once to apply all of them.
floor, ceiling, and per-container overrides under enablement.ephemeralStorage. To stop them in one strategy, set its storage fields back to false or remove them. To stop them everywhere, remove EPHEMERAL_STORAGE_AUTOMATION_ENABLED from your Helm values.
See Automation Strategies for the full field list.
Safety and scope
- Storage changes are checked against node ephemeral-storage capacity, namespace
ResourceQuota, andLimitRange. - Kubex does not resize PVCs or manage
emptyDirsizeLimit.
Notes
- Use namespaced proactive policies when teams own their own namespaces.
- Container filtering happens before recommendation age and
KubexAutomationchecks, so summaries cover only containers owned by the policy. - By default, only one same-kind proactive policy contributes to a workload. With
globalConfiguration.multiPolicyContainerRightsizingEnabled: true, policies can contribute to separate container/resource targets;PolicyEvaluationresolves overlapping targets. See Multi-Policy Container Rightsizing. Modelis included in default workload types. Usespec.scope.workloadTypes: [Model]when you want to restrict scope to KubeAIModelobjects only. Recommendations and rollback state are stored on theModelowner, then inherited by model-owned pods.- For cluster-scoped examples and field references, see Cluster Proactive Policies.
- EXPERIMENTAL: Recommendations can now include
gpu.gpuOverallOptimal, which is applied as a proactiverequests.gputarget. See the GPU Sharing with KAI guide for more information.

