gke-cluster-autoscaler

Diagnose and optimize GKE Cluster Autoscaler scaling, provisioning, and scale-down blockers.

Updated May 11, 2026
One-click install
npx skills add https://github.com/alon3153/upe-social-publisher --skill gke-cluster-autoscaler-alon3153
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: gke-cluster-autoscaler
Source: https://github.com/alon3153/upe-social-publisher/tree/main/.agents/skills/gke-cluster-autoscaler
Command: npx skills add https://github.com/alon3153/upe-social-publisher --skill gke-cluster-autoscaler-alon3153

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) and assets (resource) components.

What problem does it solve? GKE clusters that fail to scale up during traffic spikes or refuse to scale down idle nodes waste money and cause outages. This Skill provides expert guidance for enabling, tuning, and troubleshooting the GKE Cluster Autoscaler, Node Auto Provisioning, and node pool auto-creation. ## Core Features & Use Cases - Scale-Down Blocker Detection: Enumerates all seven blocker categories (bare pods, safe-to-evict annotations, local storage, PDBs, min-nodes floors, node annotations, hostname constraints) and ships a script that scans the live cluster for each. - Live Autoscaler Log Tailing: Streams and colorizes the cluster-autoscaler-visibility log, surfacing scale-up errors, noScaleUp rejections, and noScaleDown reasons with messageId explanations. - Capacity Buffers & Tuning: Covers the CapacityBuffer CRD (active and standby strategies), consolidation tuning via autoscalingPolicy, location policies, Spot fallback design, and CUD vs reservation consumption. - Use Case: A team's pods stay pending during a launch. Use this Skill to read the visibility logs, identify a zonal Spot stockout, and add an On-Demand fallback priority plus locationPolicy ANY. ## Quick Start Ask the assistant why my GKE nodes are not scaling down and have it run the scale-down blocker scan against my cluster.

Frequently Asked Questions about gke-cluster-autoscaler

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why won't my GKE nodes scale down?▼

GKE scale-down is blocked by bare pods without controllers, safe-to-evict false annotations, emptyDir or hostPath local storage, PDBs with zero disruptions allowed, min-nodes floors, scale-down-disabled node annotations, or hostname scheduling constraints. Run the find-scale-down-blockers.sh script to enumerate all of them.

How do I troubleshoot GKE pods stuck pending during scale-up?▼

Check the cluster-autoscaler-visibility log in Cloud Logging for noScaleUp reasons and per-MIG errors like out.of.resources, quota.exceeded, or ip.space.exhausted. Also verify pod selectors use cloud.google.com/machine-family and that the GKE version supports the requested machine series.

What is the difference between CUDs and reservations in GKE autoscaling?▼

Committed Use Discounts are consumed automatically by the Cluster Autoscaler for matching machine families with no configuration. Reservations must be explicitly targeted via a ComputeClass reservations block or the Node Pool API, and new reservations need about 30 minutes before the autoscaler cache sees them.

Does GKE Cluster Autoscaler support topology spread constraints?▼

Yes, but only when whenUnsatisfiable is set to DoNotSchedule. The default ScheduleAnyway mode does not trigger zonal balancing during scale-up, so the autoscaler ignores soft spreading preferences.

How do I pre-warm GKE nodes for bursty traffic?▼

Use the CapacityBuffer CRD in Preview. Active buffers keep warm running nodes via placeholder pods, while standby buffers suspend initialized nodes so you pay only disk and IP with roughly 30-second resume. Size with fixed replicas or a percentage of a scalable reference.

When should I use ComputeClasses instead of Node Auto Provisioning?▼

On GKE 1.33.3 and later, ComputeClasses with nodePoolAutoCreation enabled work without cluster-wide Node Auto Provisioning and offer priority-based fallbacks. For ComputeClass YAML generation and priority configuration, defer to the dedicated gke-compute-classes skill.