0

I have created the EKS cluster.

Then follow the document (https://eksctl.io/usage/eksctl-karpenter/) to add karpenter support,

 metadata:
   name: eks-dev
   region: ap-southeast-2
   version: "1.22"
+  tags:
+    karpenter.sh/discovery: eks-dev

+iam:
+  withOIDC: true # required

+karpenter:
+  version: '0.9.0'

 managedNodeGroups:
 - name: spot

but when I upgrade it, nothing happen.

$ eksctl upgrade cluster -f eks-dev.yaml --approve
2022-06-07 21:08:25 [!]  NOTE: cluster VPC (subnets, routing & NAT Gateway) configuration changes are not yet implemented
2022-06-07 21:08:25 [ℹ]  no cluster version update required
2022-06-07 21:08:26 [ℹ]  re-building cluster stack "eksctl-eks-dev-cluster"
2022-06-07 21:08:26 [✔]  all resources in cluster stack "eksctl-eks-dev-cluster" are up-to-date
2022-06-07 21:08:26 [ℹ]  checking security group configuration for all nodegroups
2022-06-07 21:08:26 [ℹ]  all nodegroups have up-to-date cloudformation templates
$

The note is about to igonre the change for VPC, but Karpenter change is not related to vpc.

So how can I fix this issue?

Bill
  • 2,494
  • 5
  • 26
  • 61

1 Answers1

1

Support for karpenter only applies to new cluster, it has no effect to existing cluster. You can manually install karpenter on existing cluster following this guide.

gohm'c
  • 13,492
  • 1
  • 9
  • 16
  • realized `eksctl` is not idempotent infrastructure as code, bad design. – Bill Jun 10 '22 at 00:05
  • `eksctl` is a cli tool that backed by EKS API for quick cluster provision and removal, it removed all the hassles if you would do it with aws cli or CloudFormation. It was never meant to be an IaC tool. For IaC you can try [here](https://github.com/aws-ia/terraform-aws-eks-blueprints/tree/main/examples/karpenter). You will see the different (eg. line of code, maintainability etc) and appreciate what `eksctl` can do for you, but you can't blame it for what it is **not** in the first place. – gohm'c Jun 10 '22 at 03:01
  • But in their document, they never say that clearly, all setting are only effective at first run, unless you hit the probelm. And I never see any other tools work like this way. – Bill Jun 10 '22 at 10:23
  • and so many people are confused and waiting for this feature: https://github.com/weaveworks/eksctl/issues/2774 – Bill Jun 10 '22 at 10:26
  • `...all setting are only effective at first run` - try checkout `eksctl -h`, there are quite a number of things you can change with `eksctl`. For most clusters these are good enough already. If you need further more, you can try out the IaC tool provided in the comment above. `karpenter` is under heavy development... after sometime you will see what this mean. It is actually better to keep this addon apart from IaC for the time being. – gohm'c Jun 10 '22 at 11:25
  • if not all, then it will be most. But who know which can, which can't be updated by eksctl? there is no a single document to tell you. You have to guess, right? – Bill Jun 10 '22 at 11:39