October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk3 min

Kubernetes Autoscaling During Cluster Upgrades: HPA, Drains, and Node Capacity

HPA scales workload replicas while node autoscalers handle capacity separately. Safely upgrade by following your provider’s sequence, checking PDBs and health, and monitoring pending Pods.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

During a Kubernetes upgrade, the HorizontalPodAutoscaler (HPA) continues adjusting workload replicas from metrics; it does not upgrade nodes or reserve capacity for evicted Pods. Node autoscaling is a separate loop that may add capacity for unschedulable Pods, but it cannot guarantee that capacity will appear. Plan the upgrade using your cluster provider’s procedure, check PodDisruptionBudgets (PDBs) and application health before draining, follow version-skew rules for the exact release, and monitor pending Pods throughout.

What HPA and node autoscaling do during an upgrade

HPA scales workload replicas

An HPA periodically adjusts a workload’s replica count based on observed resource utilization or other configured metrics. When it targets a Deployment, the Deployment controller manages ReplicaSets during a rolling update while the HPA remains attached to the Deployment. A StatefulSet manages its Pods directly.

As an Amazon Associate I earn from qualifying purchases.

HPA behavior depends on metrics and readiness as well as replica targets. Kubernetes documents a default five-minute CPU initialization period and a 30-second initial readiness delay for relevant HPA startup handling. These are controller defaults, not universal settings for every cluster; check the target release and controller flags before relying on them. If a rollout changes autoscaled container names or metric configuration, follow the HPA guide’s ordering guidance.

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

Node autoscaling responds to scheduling needs

Node autoscalers can attempt to provision nodes when Pods cannot be scheduled on existing capacity, and can consolidate nodes that are no longer needed. Cluster Autoscaler works with preconfigured node groups; Karpenter provisions according to NodePool constraints and also handles aspects of node lifecycle. Their scope and upgrade behavior differ by configuration and provider integration, so neither is universally safer for upgrades.

When a node is drained, its Pods may be rescheduled elsewhere, remain pending until capacity is available, or wait because a disruption budget blocks eviction. An autoscaler may react to unschedulable Pods, but provisioning is not assured: configured limits, scheduling constraints, provider integration, and cloud capacity can all prevent a suitable node from appearing.

Choose the upgrade sequence for your cluster

The correct procedure depends on how the cluster was deployed. Kubernetes’ general upgrade guidance separates control-plane and node upgrades, then addresses clients and manifest changes for API updates. Its manual sequence does not cover every third-party network or storage extension, so check compatibility of those components as well.

For kubeadm, the documented order is one primary control-plane node, additional control-plane nodes, then worker nodes. A minor-version kubelet upgrade requires draining the node first. These instructions are not a replacement for a managed Kubernetes provider’s upgrade workflow.

Free tools Windows power users keep installed

One-click scans. No signup required.

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

Version skew rules are specific to the source and target Kubernetes releases and component versions. Consult the policy for the exact versions you are running; examples on living documentation pages are release-specific, not timeless instructions.

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

Check disruption budgets and health before draining

kubectl drain marks a node unschedulable and evicts eligible Pods through the Eviction API. A PDB can limit or block voluntary evictions, so inspect its allowed disruptions and verify actual application health before maintenance. A PDB is an eviction constraint, not proof that the application can meet its availability goal.

The PDB policy IfHealthyBudget, the default, can block removal of running but unhealthy Pods when the application is already disrupted. AlwaysAllow permits eviction of unhealthy running Pods even when budget criteria are not met. Kubernetes’ disruption guidance suggests considering AlwaysAllow to help drain misbehaving applications; changing the policy also changes which Pods can be evicted, so assess the availability tradeoff for that workload.

Operational checklist

  1. Identify the supported path. Confirm the cluster provisioning method, current and target Kubernetes versions, and the provider’s upgrade procedure.
  2. Check workload readiness and disruption. Review replica counts, readiness behavior, PDB status, and application health before starting node maintenance.
  3. Drain and upgrade in the required order. Use the sequence supported by your deployment method, and make sure each node returns to service before proceeding according to your runbook.
  4. Track scheduling and capacity. Watch pending Pods, requested-resource shortfalls, affinity or storage constraints, and node-autoscaler limits while nodes are unavailable.
  5. Monitor workload scaling. Compare HPA recommendations with actual ready replicas through the rollout, and check metric configuration if autoscaled containers or metric names change.
  6. Verify extensions and integrations. Check add-ons, device plugins, storage and network integrations, and API compatibility against the target release where applicable.

References

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.

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

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
Outdated Drivers Are Slowing You DownFree scan - exact matches
PC Slower Than It Used to Be?Free scan - under a minute

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.