Kubernetes container optimization

Identify and rightsize over-provisioned containers in Amazon Elastic Kubernetes Service (EKS) public and private clusters and Azure Kubernetes Service (AKS) public clusters.

Optimizations relate to:

  • Vertical Pod Autoscaler (VPA): Adjusts CPU and memory resource requests.

  • Horizontal Pod Autoscaler (HPA): Scales pod replicas based on CPU or memory usage.

For rightsizing optimizations to be applied, your Kubernetes environment must be deployed and managed using Helm charts. Non-Helm deployments are not currently supported.

Data sources

Metrics are retrieved from the Kubernetes Metrics Server in your managed clusters.

Prerequisites

Ensure the following prerequisites are in place:

  • AWS : For each EKS cluster, the optimization IAM role or user for Perforce Unified Compliance is included in the aws-auth ConfigMap, and the required add-ons are installed and healthy. See Enable optimization on EKS clusters.

Evaluation

Usage patterns from the Kubernetes Metrics Server are evaluated and a set of default criteria applied to flag inefficiencies.

Insights

Kubernetes container optimizations are presented incrementally to help reduce risk. Each optimization represents a step toward a more efficient state. After a PR is merged, additional PRs may follow to further improve configuration.

Risk levels

Risk levels represent how much headroom, or buffer, is available, based on how far the current configuration deviates from the optimal state. These deviations are normalized to allow risk to be interpreted consistently.

  • Low risk. A significant buffer exists between the current configuration and projected usage. The container is likely to be significantly over-provisioned.

  • Moderate risk. A smaller buffer exists. The container is likely to be over-provisioned and might be safe to adjust, but the margin is smaller.

  • High risk. The container is close to being correctly provisioned. There is not enough gap between request and usage to be confident that it is safe to reduce resources. Higher-risk optimizations require manual review even when the affected resource is mapped to version control.

Begin optimizing your Kubernetes containers

Optimize your infrastructure