A practical configuration guide for Karpenter v1 API covering NodePool and EC2NodeClass resources. Explains requirements blocks (instance families, sizes, architectures, capacity types), resource limits, taints vs startupTaints, disruption policies (WhenEmpty, Balanced, WhenEmptyOrUnderutilized), consolidateAfter, expireAfter, and weighted NodePools for spot-with-on-demand-fallback patterns. Includes full annotated YAML examples, common misconfiguration pitfalls (deprecated v1alpha5 API, missing limits, too-broad instance families, role/instanceProfile conflicts), and debugging commands for diagnosing pending pods, limit exhaustion, and PDB-blocked consolidation.

16m read timeFrom cast.ai
Post cover image
Table of contents
Key takeawaysNodePool vs NodeClass vs the legacy ProvisionerConfiguring a NodePoolConfiguring an EC2NodeClass (AMI, subnets, security groups, user data)Weighted NodePools and prioritizationBeyond NodePool configuration: Workload-Aware ConsolidationCommon configuration mistakesDebugging your NodePoolNext stepsFrequently Asked Questions
238 Impressions