Skip to main content

Automating Container Recommendation

The Kubex Automation Controller provides intelligent, policy-driven automation for managing container resource configurations in Kubernetes clusters. It safely and efficiently optimizes workload resources based on Kubex’s optimization recommendations while respecting your operational constraints.

Key Features

  • Automated Resizing: Dynamic CPU and memory optimization based on actual usage patterns
  • Zero-Downtime Optimization: In-place container resizing without pod restarts (Kubernetes 1.33+) with automatic fallback to pod eviction
  • Safety-First Approach: Multi-layered validation that is HPA-aware, enforces LimitRange and ResourceQuota policies, respects PodDisruptionBudgets, and validates node capacity before applying changes
  • Smart Pause Control: Annotation-based pausing for learning periods after application changes or applying permanent exclusions
  • Policy-Driven: Configurable automation rules for downsizing, upsizing, and constraint handling
  • Flexible Targeting: Multiple scope configurations for different automation behaviors across cluster regions
  • Enterprise Ready: RBAC integration, audit trails, and GitOps compatibility

Getting Started

There are a few steps to enable automation for your environment:
  1. Deploy the Kubex Automation Controller: Use the Helm chart to deploy the controller and mutating admission webhook. All required files and detailed instructions are provided in the [ Kubex Automation Controller Helm Chart ].
  2. Configure Policies: Define your automation behavior through the configuration files. The policy settings determine which workloads are optimized and how the automation behaves.
    See the [ Getting Started Guide ] for detailed configuration instructions.
  3. Optional Kubex Management Layer:

    Important: The filter and enable/disable controls inside Kubex only work when the Helm values set remoteEnablement: true. When this flag remains false (the default), automation scope is managed exclusively through the Helm chart configuration.

    Both conditions must be met: the workload must match your Helm-defined scope (namespace and optional podLabel) and be enabled in Kubex. If either side is missing, automation does not run for that container.

    Right-click in the container tree view to select Enable Automation or Disable Automation for workloads that already match your Helm scope.

    Figure: Enabling Automation from KubexRemote enablement lets you toggle automation directly from the tree viewer for workloads matching your Helm-defined scope.

    The Automation Enabled tree filter then shows only the containers that have been explicitly enabled through this additional management layer, so you can audit what has been turned on from the UI.

    Figure: Containers with Automation EnabledThe tree filter surfaces only those workloads you have explicitly enabled through Kubex, giving you a quick audit list of automation-ready containers.

Monitoring Automation Activity

If you need to confirm which clusters have automation deployed—or check the health of those deployments—open the Automation status page for detailed telemetry and recent change history. The Container Overview Summary page shows how many container manifests are currently enabled for automation and how many have been actively automated over the past 7 and 90 days. Each metric is interactive—clicking any of the numbers drills into the filtered list of containers that make up that count so you can review the specific workloads behind the summary.

Figure: Container Overview Automation Summary

Selecting the Last 7 Days count drills into the detailed container list shown below. This view represents only new optimizations applied in the last week—it excludes pods that are simply maintaining an older recommendation.

The Last Automated Spec Change column captures the most recent resource change Kubex made; if a metric is not listed, it was either already at the desired configuration or the current policy is not configured to resize that dimension.

Figure: Automation Last 7 Days

Selecting the Automated Optimization count also opens a modal with the full history of new optimizations performed on that workload. Each row represents a distinct automation event; clicking a row updates the CPU and Memory utilization charts beneath the table so you can zoom into the exact date and time of that change. Use the table view switcher to expand beyond the default 7-day window and review the last 90 days or the entire duration since automation was enabled.

Figure: Container Automated Optimizations Modal

Use the table view selector to swap the metrics from the automated optimizations from last 7 days view to the last 90 days or the full duration since automation was enabled. This lets you validate both short-term activity and long-term adoption without leaving your page selection.

Figure: Adjusting the Table View

Automation Policies

Automation policies define how the Kubex Automation Controller optimizes your workloads. These policies are configured through the Helm chart values and determine which resources are automatically optimized, under what conditions, and with what constraints. For detailed information on configuring automation policies, including policy structure, safety rules, and advanced configurations, see the Policy Configuration Guide in the Helm chart documentation.