terraform-aws-eks-blueprints-addons
terraform-aws-eks-blueprints-addons copied to clipboard
Upgrade karpenter to v1
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.
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 For k8s 1.30, only karpenter >=v0.37 is supported, see https://karpenter.sh/docs/upgrading/compatibility/.
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
Are there plans to support karpenter v1++ or?
still not updated. waiting for this as well. considering just to migrate out of this, we should have a flag for this.
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
}
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 tov1.1.0
v1.0introduced CRD changes, which are not part of the Helm chart. So these CRDs need to be installed separatelymodule "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
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.
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!
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 😄
Still no news for karpenter 1.0? 😢
Is there any news about the resolution of this issue? Is it planned?