DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
Skip to content
World desk5 min

How to Troubleshoot a Kubernetes HPA That Won’t Scale Down

Compare an HPA’s desired replicas with the workload’s actual count, then investigate stabilization, configured limits, metrics, pod samples, or another system writing replicas.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Start by comparing the HPA’s desired replica count with the workload’s actual count. If the desired count is still high, investigate the recommendation: the five-minute default stabilization window, configured limits and policies, metric errors, or conservative handling of incomplete pod metrics can all delay a reduction. If the HPA’s desired count is lower than the workload’s actual count, look for scale-update problems or another system resetting the replica count.

1. Find out whether the HPA wants to scale down

An HPA is a periodic control loop, not an immediate reaction to each new metric reading. Kubernetes documents a default controller synchronization interval of 15 seconds; actual reconciliation can take longer depending on metrics and control-plane conditions.

As an Amazon Associate I earn from qualifying purchases.

  1. Run kubectl get hpa to compare each HPA’s current and desired replicas and reported metrics.
  2. Run kubectl describe hpa <hpa-name> for the target reference, conditions, events, and more detail about the metrics and scaling status.
  3. Inspect the referenced workload and its events—for example, kubectl get deployment <deployment-name> -o yaml or the equivalent command for a StatefulSet. Compare the workload’s live replica count with the HPA’s desired count.

The difference determines the next branch: a high desired count calls for investigating the calculation and its constraints; a lower desired count that is not reflected in the workload calls for investigating whether the scale update is blocked or overwritten.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Read the HPA conditions

  • AbleToScale indicates whether the HPA can fetch or update the target’s scale, including whether backoff is preventing an update.
  • ScalingActive indicates whether scaling is active.
  • ScalingLimited indicates that the desired scale was capped by configured bounds. Read the condition’s reason and compare the desired count with the HPA limits.

2. Check scale-down stabilization and policy

Kubernetes documents a default scale-down stabilization window of 300 seconds (five minutes). During the window, the controller uses the highest recent replica recommendation. A brief drop in demand therefore may not lower the desired count while an earlier, higher recommendation remains in the window.

#1 Best Overall

Inspect spec.behavior.scaleDown.stabilizationWindowSeconds, policies, and selectPolicy in the HPA configuration. A scale-down policy can limit how quickly replicas are removed; selectPolicy: Disabled disables scaling in that direction.

Do not shorten the window just to make the count fall faster. A shorter window can reduce idle capacity sooner, but can also cause replica churn after brief metric dips. Weigh responsiveness against pod startup time, latency sensitivity, and the cost of keeping extra replicas before changing it.

3. Verify the target and replica limits

Check minReplicas, maxReplicas, and scaleTargetRef. If the workload is already at minReplicas, the HPA cannot reduce it further under that configuration. If ScalingLimited is true, use its reason and the configured bounds to identify the cap.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The target must support the Kubernetes scale subresource. Its reference and labels also determine which pods are selected for metric calculations, so confirm that the HPA points to the intended workload and that the selected pods are the ones you expect.

4. Check every metric configured on the HPA

Review each metric in the HPA, not just the one that appears most relevant. With multiple metrics, the HPA normally uses the metric recommendation that calls for the largest replica count. A failing metric can also matter even when another metric appears to justify scaling down: if one metric cannot be converted into a desired count while an available metric suggests scale-down, Kubernetes skips the scale-down.

Resource metrics

For CPU or memory resource metrics, check that the resource metrics API, metrics.k8s.io, is registered and returning current readings. Metrics Server is a common provider, but the metrics pipeline depends on the cluster installation. For CPU utilization targets, also verify that every relevant container has a CPU request; utilization is calculated relative to CPU requests.

Custom and external metrics

For custom or external metrics, check the relevant API—custom.metrics.k8s.io or external.metrics.k8s.io—and the adapter that provides it. Verify the configured metric name, selector, and target. A missing API, adapter error, or mismatched metric configuration can prevent a usable recommendation.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Resolve metric errors, or confirm that a failing metric should still be configured, before treating a persistent high desired count as only a stabilization-window issue.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

5. Look for incomplete samples and pod readiness effects

Missing pod metrics can make a scale-down calculation conservative. When recalculating a reduction, the controller assumes pods with missing metrics consume 100% of the target metric, which can reduce or prevent the proposed decrease. CPU samples for initializing or not-yet-ready pods may also be set aside under the controller’s readiness rules.

Inspect pod readiness, restarts, metric freshness, and whether the metrics pipeline has readings for all selected pods. For CPU utilization, include sidecars when checking requests unless the HPA is configured to use a container resource metric.

6. Find any other system writing the replica count

If the HPA reports a lower desired count but the workload does not follow—or the count drops and then rises—look for a second writer. Check Deployment or StatefulSet manifests and automation for a hard-coded spec.replicas, and review recent GitOps reconciliation, rollouts, operator actions, or manual changes.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Kubernetes recommends omitting spec.replicas from manifests for workloads managed by an HPA. Applying a manifest that sets it can write the replica count back and cause the count to flap against the HPA.

Match the symptom to the first check

Observation Check first What it may mean
The HPA’s desired count stays high even though metrics look low. Scale-down stabilization window and recent recommendations. A higher recommendation may still be inside the window.
The desired count is at the configured floor. minReplicas and the ScalingLimited condition. The HPA may have reached its permitted minimum.
The HPA reports metric errors. The resource, custom, or external metrics API and its provider or adapter. A failed metric path may make a scale-down unavailable or cause it to be skipped.
The desired count is lower than the workload’s actual count. AbleToScale, events, backoff, access to the scale target, and competing writes. The HPA may be unable to update the target, or another reconciler may be overwriting it.
CPU utilization does not support the expected reduction. CPU requests, selected pods, readiness, and missing samples. The calculated utilization or conservative handling of incomplete metrics may differ from expectations.
The replica count returns after a manual or manifest change. Workload manifests, GitOps, operator, or deployment configuration. A separate writer may be restoring the count.

Version-specific note: scaling to zero

Kubernetes v1.37 documentation describes scale-to-zero as a beta feature enabled by default. It supports object or external metrics with minReplicas: 0, not CPU or memory resource metrics, which require running pods. The feature gate must be enabled on both the API server and controller manager. Check the cluster’s actual Kubernetes version and feature-gate configuration before relying on it; scale-to-zero does not resolve an ordinary resource-metric HPA that is above its configured minimum.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.