> ## Documentation Index
> Fetch the complete documentation index at: https://docs.niro.cx/llms.txt
> Use this file to discover all available pages before exploring further.

# Autoscaling Insights

> See the node autoscaler already running in your clusters — NodePools, instance constraints, and scale-down policy — without Niro taking it over.

## Overview

The **Autoscaling** page shows the node autoscaler configuration and status for each of your clusters. Niro reads this information from the cluster read-only — it never modifies the autoscaler configuration or makes scaling decisions.

<Note>
  Autoscaling insights are available on <Badge>Pro</Badge> and above.
</Note>

## Supported autoscalers

Niro detects and surfaces configuration for:

| Autoscaler             | What Niro reads                                                  |
| ---------------------- | ---------------------------------------------------------------- |
| **Karpenter**          | NodePools, NodeClasses, provisioner configuration, pending nodes |
| **Cluster Autoscaler** | NodeGroups, min/max bounds, scale-down configuration             |

If a cluster doesn't run either autoscaler, the autoscaling tab shows a notice that no autoscaler was detected.

## What you can see

### Fleet-level view (`/autoscaling`)

* All clusters with a detected autoscaler
* Per-cluster: autoscaler type, NodePool/NodeGroup count, current node count vs. capacity bounds

### Cluster-level view

Open a cluster → **Autoscaling** for a detailed breakdown:

**For Karpenter:**

* Each NodePool and its associated NodeClass
* Instance type requirements (CPU families, memory ranges)
* Spot vs. on-demand preference
* Scale-down behavior (consolidation policy, disruption budget)
* Currently pending node requests

**For Cluster Autoscaler:**

* Each NodeGroup with its min, current, and max node counts
* Scale-down settings (delay, utilization threshold)

## How Niro detects the autoscaler

During each agent heartbeat, the agent scans for Karpenter NodePool objects and Cluster Autoscaler Deployment resources. If either is found, Niro marks the cluster as autoscaler-enabled and begins surfacing that autoscaler's configuration.

No extra installation or configuration is required — Niro reads what's already in the cluster.

## Read-only guarantee

Niro never writes to your autoscaler configuration. It never creates, patches, or deletes NodePools, NodeClasses, or NodeGroups. If you see an autoscaler change in your cluster, it did not come from Niro.

<Note>
  Niro's autoscaling insights are purely observational. All scaling decisions remain with the autoscaler you installed.
</Note>

## Using autoscaling data alongside cost

The autoscaling view pairs naturally with [Cost Monitoring](/features/cost). Understanding your NodePool instance constraints (what sizes Karpenter can provision) helps explain why costs change during scale-out events.

## Related

<CardGroup cols={2}>
  <Card title="Cost Monitoring" icon="coin" href="/features/cost">
    How node costs are calculated and tracked.
  </Card>

  <Card title="Rightsizing" icon="chart-bar" href="/features/rightsizing">
    Adjust pod resource requests to work better with autoscaling.
  </Card>

  <Card title="Fleet Monitoring" icon="gauge" href="/guides/fleet-monitoring">
    Live node count, status, and resource pressure.
  </Card>

  <Card title="Plans" icon="credit-card" href="/reference/plans">
    Autoscaling insights are available on Pro and Enterprise.
  </Card>
</CardGroup>
