<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/what-is-karpenter-how-just-in-time-node-provisioning-cuts-kubernetes-cost-qvgbhxcxq" -->

---
title: What Is Karpenter? How Just-in-Time Node Provisioning...
description: Karpenter is an open-source Kubernetes node autoscaler created by AWS in 2021 and donated to CNCF in 2023, reaching v1.0 GA in November 2024. Unlike...
canonical: https://daily.dev/posts/what-is-karpenter-how-just-in-time-node-provisioning-cuts-kubernetes-cost-qvgbhxcxq
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: What Is Karpenter? How Just-in-Time Node Provisioning Cuts Kubernetes Cost | daily.dev
og:description: Karpenter is an open-source Kubernetes node autoscaler created by AWS in 2021 and donated to CNCF in 2023, reaching v1.0 GA in November 2024. Unlike...
og:url: https://daily.dev/posts/what-is-karpenter-how-just-in-time-node-provisioning-cuts-kubernetes-cost-qvgbhxcxq
og:image: https://api.daily.dev/og/posts/qvGbhxCxQ.png
og:image:alt: What Is Karpenter? How Just-in-Time Node Provisioning Cuts Kubernetes Cost
og:image:width: 1200
og:image:height: 630
og:locale: en
---

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

# What Is Karpenter? How Just-in-Time Node Provisioning Cuts Kubernetes Cost

**[Cast AI](https://daily.dev/sources/castai)** · 10 min read · 0 upvotes · 0 comments

## Summary

Karpenter is an open-source Kubernetes node autoscaler created by AWS in 2021 and donated to CNCF in 2023, reaching v1.0 GA in November 2024. Unlike traditional node-group-based autoscalers, Karpenter watches for unschedulable pods and provisions right-sized nodes directly from cloud APIs, selecting the optimal instance type from hundreds of options simultaneously. Its consolidation feature continuously removes empty or underutilized nodes and repacks workloads onto fewer machines using three policies: WhenEmpty, WhenEmptyOrUnderutilized, and Balanced. Two core CRDs govern behavior: NodePool (scheduling constraints and disruption policy) and NodeClass (cloud infrastructure config). Karpenter is GA on AWS via EKS Auto Mode and on Azure AKS via Node Auto Provisioning, but has no official GKE provider as of mid-2026. Key limitations include inability to address over-requested pods, challenges with stateful workload eviction, and reactive-only Spot interruption handling.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://cast.ai/blog/what-is-karpenter>

## Questions this post answers

### What is the difference between Karpenter and Cluster Autoscaler in Kubernetes?

Cluster Autoscaler scales pre-defined node groups with fixed instance types and polls the Kubernetes API every 10 or more seconds, operating only within pre-configured group boundaries. Karpenter instead provisions individual nodes directly from cloud APIs, reacting to scheduling events and selecting from all available instance types in near-real time, which yields better bin-packing and handles deprovisioning natively through consolidation.

_Comparing node autoscaling strategies before committing to a cluster architecture is easier with sources tracked on daily.dev._

### Is Karpenter available on Google Kubernetes Engine (GKE)?

No official Karpenter provider exists for GKE as of mid-2026. Community-maintained options are available but lack production support and full feature parity with the AWS and Azure providers. Karpenter is generally available on AWS via EKS Auto Mode (GA December 2024) and on Azure AKS via Node Auto Provisioning (GA late 2024), making AWS and Azure the more mature choices for Karpenter adoption.

_Teams weighing cloud provider node-autoscaling support can follow Karpenter's GKE progress on daily.dev._

### What are the three consolidation policies in Karpenter and how do they work?

Karpenter offers WhenEmpty, which removes nodes with no running pods; WhenEmptyOrUnderutilized, which cordons and evicts pods from underutilized nodes and reschedules them elsewhere to reduce total node count; and Balanced, which skips consolidation when cost savings are small relative to disruption cost. The consolidateAfter parameter adds a stabilization delay, and a budgets array caps how many nodes can be replaced concurrently or during scheduled windows.

_Configuring safe consolidation policies is easier when developers keep Kubernetes cost-tuning details on daily.dev._

## Similar posts on daily.dev

- [Understanding Karpenter architecture for Kubernetes autoscaling](https://daily.dev/posts/understanding-karpenter-architecture-for-kubernetes-autoscaling-yfyvuwcvq) · Datadog · 0 upvotes · 0 comments
- [Karpenter vs Cluster Autoscaler: Which to Use in 2026](https://daily.dev/posts/karpenter-vs-cluster-autoscaler-which-to-use-in-2026-alll01fsk) · Cast AI · 0 upvotes · 0 comments
- [Is There a Karpenter Equivalent on GKE?](https://daily.dev/posts/is-there-a-karpenter-equivalent-on-gke--9xeya0tyh) · Cast AI · 0 upvotes · 0 comments
- [Deploy Karpenter on EKS: Node Auto-Scaling Guide \(2026\)](https://daily.dev/posts/deploy-karpenter-on-eks-node-auto-scaling-guide-2026--xmjijfzcy) · Cast AI · 0 upvotes · 0 comments
- [Being a Karpenter Admin: Scaling Without Chaos](https://daily.dev/posts/being-a-karpenter-admin-scaling-without-chaos-wzhd8bre3) · Medium · 0 upvotes · 0 comments

---

Tags: [#aws](https://daily.dev/tags/aws), [#kubernetes](https://daily.dev/tags/kubernetes), [#finops](https://daily.dev/tags/finops)

[View this post on daily.dev](https://daily.dev/posts/what-is-karpenter-how-just-in-time-node-provisioning-cuts-kubernetes-cost-qvgbhxcxq)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"What Is Karpenter? How Just-in-Time Node Provisioning Cuts Kubernetes Cost","url":"https://daily.dev/posts/what-is-karpenter-how-just-in-time-node-provisioning-cuts-kubernetes-cost-qvgbhxcxq","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/what-is-karpenter-how-just-in-time-node-provisioning-cuts-kubernetes-cost-qvgbhxcxq"},"datePublished":"2026-08-05T10:41:44.835Z","dateModified":"2026-09-13T19:43:28.304Z","description":"Karpenter is an open-source Kubernetes node autoscaler created by AWS in 2021 and donated to CNCF in 2023, reaching v1.0 GA in November 2024. Unlike...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/1fb3de0d4f6a87018a20b05beccb9133?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/1fb3de0d4f6a87018a20b05beccb9133?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Cast AI","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Cast AI","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/e5868702aaf84d8293e56794e2c6629c","url":"https://daily.dev/sources/castai"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/what-is-karpenter-how-just-in-time-node-provisioning-cuts-kubernetes-cost-qvgbhxcxq","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"aws,kubernetes,finops","timeRequired":"PT10M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Cast AI","item":"https://daily.dev/sources/castai"},{"@type":"ListItem","position":3,"name":"What Is Karpenter? How Just-in-Time Node Provisioning Cuts Kubernetes Cost"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/what-is-karpenter-how-just-in-time-node-provisioning-cuts-kubernetes-cost-qvgbhxcxq#faq","mainEntity":[{"@type":"Question","name":"What is the difference between Karpenter and Cluster Autoscaler in Kubernetes?","acceptedAnswer":{"@type":"Answer","text":"Cluster Autoscaler scales pre-defined node groups with fixed instance types and polls the Kubernetes API every 10 or more seconds, operating only within pre-configured group boundaries. Karpenter instead provisions individual nodes directly from cloud APIs, reacting to scheduling events and selecting from all available instance types in near-real time, which yields better bin-packing and handles deprovisioning natively through consolidation. Comparing node autoscaling strategies before committing to a cluster architecture is easier with sources tracked on daily.dev."}},{"@type":"Question","name":"Is Karpenter available on Google Kubernetes Engine (GKE)?","acceptedAnswer":{"@type":"Answer","text":"No official Karpenter provider exists for GKE as of mid-2026. Community-maintained options are available but lack production support and full feature parity with the AWS and Azure providers. Karpenter is generally available on AWS via EKS Auto Mode (GA December 2024) and on Azure AKS via Node Auto Provisioning (GA late 2024), making AWS and Azure the more mature choices for Karpenter adoption. Teams weighing cloud provider node-autoscaling support can follow Karpenter's GKE progress on daily.dev."}},{"@type":"Question","name":"What are the three consolidation policies in Karpenter and how do they work?","acceptedAnswer":{"@type":"Answer","text":"Karpenter offers WhenEmpty, which removes nodes with no running pods; WhenEmptyOrUnderutilized, which cordons and evicts pods from underutilized nodes and reschedules them elsewhere to reduce total node count; and Balanced, which skips consolidation when cost savings are small relative to disruption cost. The consolidateAfter parameter adds a stabilization delay, and a budgets array caps how many nodes can be replaced concurrently or during scheduled windows. Configuring safe consolidation policies is easier when developers keep Kubernetes cost-tuning details on daily.dev."}}]}
```

