Quick Links
- Getting Started with Kubex Automation Engine
- Quick Links
- Prerequisites
- Step 1: Prepare Required Settings
- Step 2: Container Resource Sizing Guidance
- Step 3: Install the Helm Chart
- Step 4: Verify Controller Health
- Step 5: Create Your First Strategy and Policy
- GitOps Integration
- Step 6: Validate Recommendation Application
- Apply Configuration Updates
- Uninstall
- Next Steps
Prerequisites
Before you begin, ensure you have:- Kubernetes 1.28+
- Helm 3+
kubectlaccess to the target cluster- The
kubex-crdschart installed in the target cluster before installingkubex-automation-engine - Kubex connection details from the Automation tab in the Kubex UI
- A target workload that already has valid Kubex recommendations
- Proactive rightsizing only works when a valid recommendation exists for the in-scope container
- Recommendations are typically available about 24 hours after data collection starts
Step 1: Prepare Required Settings
Use the provided kubex-automation-values.yaml template as your starting point and update it with your environment-specific settings. At minimum, make sure these required fields are set:secondaryCluster so it follows recommendations from the active cluster.
username, epassword, url, and DENSIFY_BASE_URL. For the full Secret format, see External Credential Secret.
If you are deploying on OpenShift, also set openshift.enabled: true in your values file to apply the chart’s restricted-friendly OpenShift defaults.
Step 2: Container Resource Sizing Guidance
Container resource requests and limits should be adjusted based on the number of managed containers in the cluster. Use these values as a starting point and tune them based on workload churn, recommendation volume, and webhook traffic.Controller manager (resources)
Gateway sidecar (gateway.resources)
Sizing notes:
Smallmeans up to 1,000 managed containersMediummeans 1,000 to 10,000 managed containersLargemeans more than 10,000 managed containers- The chart currently exposes sizing controls for the controller manager and gateway sidecar; the older webhook and Valkey components do not apply to this chart
- For slow API servers, webhook latency, restrictive admission environments, or placement resilience, continue with the Tuning Guide
Step 3: Install the Helm Chart
Add the Kubex Helm repository on the machine where you run Helm:Step 4: Verify Controller Health
Check the deployment:- The controller pod is running
spec.automationEnabledistrue- Review the full
statusblock, not juststatus.conditions status.conditions[type=PodAdmissionWebhookHealthy].statusisTrue- Any additional status fields that report controller readiness, webhook health, last sync, or reconciliation errors reflect the expected healthy state for your environment
Step 5: Create Your First Strategy and Policy
Strategy and policy CRs should be managed separately from the Helm chart usingkubectl, GitOps, or another external delivery workflow. This approach keeps the chart focused on installing and operating the controller while allowing strategy and policy configurations to evolve independently of chart upgrades.
For a detailed explanation of GitOps ownership and why pod-level resizing does not create drift in the original workload manifest, see GitOps Integration.
The main CR patterns are:
AutomationStrategy/ClusterAutomationStrategy: define how resizing is allowed to happen, including enablement rules, in-place resize behavior, eviction fallback, and safety checks.ProactivePolicy/ClusterProactivePolicy: define where recommendation-driven automation applies and which strategy to reference.StaticPolicy/ClusterStaticPolicy: define where fixed request/limit values should be enforced and which strategy to reference.
- Use namespaced CRs when a team should manage automation within its own namespace.
- Use cluster-scoped CRs when a platform team needs one policy model across many namespaces.
- Strategy configuration: Automation Strategies
- Cluster-wide strategy configuration: Cluster Automation Strategies
- Recommendation-driven policy configuration: Proactive Policies
- Cluster-wide recommendation-driven policy configuration: Cluster Proactive Policies
- Fixed-resource policy configuration: Static Policies
- Strategy and policy model overview: Policy Configuration
- Install or upgrade the controller with Helm (as done in Step 3).
- Create one or more
AutomationStrategyorClusterAutomationStrategyobjects for the resize behaviors you want. - Create
ProactivePolicy,ClusterProactivePolicy,StaticPolicy, orClusterStaticPolicyobjects that reference those strategies. - Apply and reconcile those manifests through
kubectl, GitOps, or another external workflow.
Step 6: Validate Recommendation Application
Check policy objects:RESIZED, EVICTED, BLOCKED_RETRYING, or BLOCKED.
Apply Configuration Updates
Re-apply chart changes with:Uninstall
Use this sequence when you want to remove the controller without leaving policy or strategy resources stuck inTerminating.
Remove externally managed CRs first
If you manage policies and strategies outside Helm, first request deletion of those CRs before uninstalling the chart so the running controller can process their cleanup logic. This matters most forProactivePolicy and ClusterProactivePolicy resources. Deleting them while the controller is still running gives the controller a chance to remove Kubex annotations it previously placed on workloads.
Manually remove finalizers from external CRs only if deletion is stuck
The chart’s pre-delete hook removes finalizers from Helm-managed custom resources created by this release sohelm uninstall can complete while the controller is shutting down.
CRs managed outside Helm are not part of that hook. Do not clear finalizers before attempting deletion, because that can bypass controller cleanup. Only if a policy or strategy CR stays in Terminating after the delete step above should you manually clear its finalizers, and you should do that before helm uninstall:
Uninstall the Helm releases
After external CR cleanup is complete, remove the controller chart:Next Steps
- Review Configuration Reference for Helm keys and generated CRs
- Review Tuning Guide for slow-cluster tolerance, webhook fail-open expectations, and example values
- Review Policy Configuration for strategy and scope design
- Review Safety Controls for webhook health gating, pause controls, freshness checks, and execution-time safety filters
- Review Rollback Policies to add health monitoring and automatic rollback for production deployments
- Review Troubleshooting if rightsizing is selected but not applied
- Use externally managed CRs for
StaticPolicyandClusterStaticPolicyuntil Helm-managed generation is added for those resource types

