terraform-aws-eks-blueprints-addons icon indicating copy to clipboard operation
terraform-aws-eks-blueprints-addons copied to clipboard

Upgrade karpenter to v1

Open askulkarni2 opened this issue 1 year ago • 12 comments

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

What is the outcome that you are trying to reach?

With this launch, we should default to karpenter v1.

askulkarni2 avatar Aug 15 '24 14:08 askulkarni2

Is there any ETA on this?

Older version of karpenter doesn't seem to work with 1.30 cluster

{"level":"ERROR","time":"2024-08-28T10:13:51.191Z","logger":"controller.nodeclass","message":"karpenter version is not compatible with K8s version 1.30","commit":"2c8f2a5","ec2nodeclass":"default"}

utk231 avatar Sep 04 '24 11:09 utk231

@utk231 For k8s 1.30, only karpenter >=v0.37 is supported, see https://karpenter.sh/docs/upgrading/compatibility/.

pthevenet avatar Sep 04 '24 15:09 pthevenet

I think we need something similar to enable_v1_permissions in terraform-aws-eks.

https://github.com/terraform-aws-modules/terraform-aws-eks/blob/00d4cc1373d97a5abfa05b7cc75e9c9a189e4d5f/modules/karpenter/variables.tf#L120-L124

Atry avatar Oct 18 '24 18:10 Atry

Are there plans to support karpenter v1++ or?

koslib avatar Oct 24 '24 13:10 koslib

still not updated. waiting for this as well. considering just to migrate out of this, we should have a flag for this.

barakat-checkpoint avatar Dec 04 '24 09:12 barakat-checkpoint

Override the default chart version

module "eks_blueprints_addons" {
  source  = "aws-ia/eks-blueprints-addons/aws"
  version = "1.19.0"
  ....
  enable_karpenter = true
  karpenter = {
    chart_version       = "1.1.0"
    ...
  }
}

Before applying, make sure to follow the upgrade guideline https://karpenter.sh/v1.1/upgrading/upgrade-guide/

First, migrate to v1.0 (https://karpenter.sh/v1.0/upgrading/upgrade-guide/) then to v1.1.0

v1.0 introduced CRD changes, which are not part of the Helm chart. So these CRDs need to be installed separately

module "karpenter_crd" {
  source  = "aws-ia/eks-blueprints-addon/aws"
  version = "1.1.1"

  chart            = "karpenter-crd"
  chart_version    = "1.1.0"
  repository       = "oci://public.ecr.aws/karpenter"
  namespace        = "karpenter"
  create_namespace = true
}

cvrajeesh avatar Jan 12 '25 06:01 cvrajeesh

Override the default chart version

module "eks_blueprints_addons" { source = "aws-ia/eks-blueprints-addons/aws" version = "1.19.0" .... enable_karpenter = true karpenter = { chart_version = "1.1.0" ... } } Before applying, make sure to follow the upgrade guideline https://karpenter.sh/v1.1/upgrading/upgrade-guide/

First, migrate to v1.0 (https://karpenter.sh/v1.0/upgrading/upgrade-guide/) then to v1.1.0

v1.0 introduced CRD changes, which are not part of the Helm chart. So these CRDs need to be installed separately

module "karpenter_crd" { source = "aws-ia/eks-blueprints-addon/aws" version = "1.1.1"

chart = "karpenter-crd" chart_version = "1.1.0" repository = "oci://public.ecr.aws/karpenter" namespace = "karpenter" create_namespace = true }

Coming from 0.37.6 or a release previous to 1.0.x, there are IAM policy changes that prevent us from doing this. See https://github.com/aws-ia/terraform-aws-eks-blueprints-addons/issues/286

NicholasRaymondiSpot avatar Jan 28 '25 17:01 NicholasRaymondiSpot

I've seen this issue when searching for how to implement Karpenter using this repo. Therefore, I decided to go with terraform-aws-eks submodule called karpenter.

module "karpenter" {
  source  = "github.com/eks/aws//modules/karpenter"
  version = "~> 20.33"

  cluster_name = module.eks.cluster_name

  node_iam_role_additional_policies = {
    AmazonSSMManagedInstanceCore = "arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore"
  }

  create_pod_identity_association = true
}

This creates the required IAM role with all permissions and also sets up the Pod Identity association, so you can skip IRSA. It would be nice if you have a way to setup it without using IRSA.

alisson276 avatar Feb 03 '25 11:02 alisson276

Hello everyone!

We are considering upgrading from v0.37 to v1.0 and I would like to know if this problem is still present and if so, how to solve it?

EKS version v1.31

Thanks!

SitoRBJ avatar Jun 09 '25 09:06 SitoRBJ

Any updates on this?

I understand support is provided on a best-effort basis but I find it a bit concerning that support for this is still missing in an official AWS repo, especially since it's now blocking EKS upgrades due to Karpenter's compatibility.

I initially chose this module over the terraform-aws-eks karpenter submodule partly with the expectation that it would receive timely updates, but I might need to make the switch to avoid further delays.

Knowing my luck it will be released as soon as I do, so I might do you all a favor by starting to work on it 😄

Roberdvs avatar Jul 02 '25 08:07 Roberdvs

Still no news for karpenter 1.0? 😢

fabn avatar Sep 01 '25 11:09 fabn

Is there any news about the resolution of this issue? Is it planned?

SitoRBJ avatar Sep 09 '25 08:09 SitoRBJ