> For the complete documentation index, see [llms.txt](https://docs.akamas.io/insights/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.akamas.io/insights/analysis-and-recommendations/node-groups-recommendations.md).

# Node Groups Recommendations

The Node Groups tab within the Cluster Analysis page provides recommendations for optimizing your Kubernetes node pools. This tab helps you identify opportunities to select more cost-effective instance types while maintaining the capacity your workloads require.

## Supported Autoscalers

Akamas Insights supports node group recommendations for clusters using:

* **Kubernetes Cluster Autoscaler** - The standard autoscaler for Kubernetes clusters;
* **Karpenter** - A flexible, high-performance node provisioner.

## How Node Groups Are Identified

Akamas Insights identifies node groups by reading Kubernetes node labels. The platform automatically detects the appropriate label based on your cloud provider:

* **EKS**: `eks.amazonaws.com/nodegroup`
* **GKE**: `cloud.google.com/gke-nodepool`
* **AKS**: `agentpool`
* **Karpenter**: `karpenter.k8s.aws/instance-family` and related labels

Nodes without the expected label are grouped as "Unlabeled Nodes" and can still receive recommendations. You can also select a custom label if your environment uses non-standard node pool identification.

## Node Groups Analysis

![Cluster Node Groups Tab](/files/S5isjrFfaA2UQ41B0olR)

The Node groups tab provides recommendations for Kubernetes cluster autoscaler configuration:

**Node Pool Configuration**:

* Current node pool sizes;
* Recommended minimum and maximum nodes;
* Recommended instance types;
* Cost implications of changes.

**Autoscaler Settings**:

* Scale-up and scale-down thresholds;
* Resource utilization targets;
* Buffer capacity recommendations.

## Adjusting the Recommendation Filters

Each node pool has a **Recommendation filters** panel that lets you narrow which instance types the engine considers when computing a recommendation.

* The panel header shows an **"N / M Instance type matched"** badge: how many of the node pool's available instance types satisfy your current filters. It sits next to the **Recommendation filters** toggle, so you can read it whether the panel is open or collapsed. The badge stays grey while no filter is active (all instance types are considered) and is highlighted once a filter narrows the set.
* Every active filter appears as a **removable chip** in an **ACTIVE** row that stays visible even when the panel is collapsed. Click a chip's **✕** to clear that single filter. When no filter is set, the open panel reads "No filters applied. The engine considers all instance types."
* While you have edits that have not yet been saved, the panel offers a way back: use **"Reset to last saved"** to revert just the Instance properties back to the values that were last applied, or **"Discard changes"** to revert all of your edits to the last saved state. **"Discard changes"** and **"Save and Apply"** stay in the footer at all times and simply enable once you have unsaved edits; the **"Reset to last saved"** link appears only while you have them.

Filters are saved **centrally for the cluster**, so applying them updates the recommendation that everyone viewing this cluster sees. To apply your changes, click **Save and Apply** (available only once you have unsaved changes). A confirmation dialog appears first — confirming saves the filters and recomputes the node groups recommendation, and you'll see a "Filters saved" notification. Nothing is changed for other viewers until you confirm.

{% hint style="warning" %}
Node groups recommendations require additional cluster autoscaler integration and may not be available in all deployments.
{% endhint %}
