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.
On this page:
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-authConfigMap, and the required add-ons are installed and healthy. See Enable optimization on EKS clusters.
-
Azure : On each AKS cluster, Microsoft Entra ID integration and RBAC are enabled. See Enable optimization on AKS 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.