Skip to content

Upgrade Karpenter from 1.6.0 to 1.9+ (required for Kubernetes 1.36) #281

@amdove

Description

@amdove

Summary

Upgrade the default Karpenter version from 1.6.0 to 1.9+ to support the planned Kubernetes 1.36 upgrade on EKS clusters.

Why this is needed

Karpenter publishes an explicit compatibility matrix that bounds each release to a supported Kubernetes version range. Karpenter 1.6.0 (released July 2025) was built and tested for Kubernetes 1.34–1.35. It is outside the supported range for Kubernetes 1.36, which risks node provisioning failures and undefined scheduling behaviour on upgraded clusters.

Karpenter 1.9+ is the minimum version with declared Kubernetes 1.36 support.

Relevant links:

⚠️ Backward compatibility — ordering constraint

Unlike the other pre-upgrade component changes, Karpenter 1.9.x cannot be deployed in place on clusters still running Kubernetes 1.33 or 1.34. The Karpenter compatibility matrix shows:

Karpenter version Supported K8s range
1.6.0 1.34 – 1.35
1.9.x 1.35 – 1.36

This means the upgrade sequence for most EKS clusters must be:

  1. Upgrade Kubernetes to 1.35 (if not already there)
  2. Upgrade Karpenter to 1.9+
  3. Upgrade Kubernetes to 1.36

For any EKS cluster already running K8s 1.35, step 1 can be skipped and Karpenter can be upgraded first.

Breaking changes in the upgrade

Between Karpenter 1.6 and 1.9, review the upgrade guide for any API or configuration changes. The v1beta1 → v1 API migration (NodePool, NodeClaim, EC2NodeClass) should already be complete as of 1.6, but verify no deprecated fields are in use.

Acceptance criteria

  • Default Karpenter version updated to 1.9.x (or latest compatible) in workload.go
  • Upgrade sequence documented: K8s → 1.35, then Karpenter → 1.9+, then K8s → 1.36
  • Verified working on a staging EKS cluster running K8s 1.35 before rolling to production

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions