-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade to v1.0.4 breaks kubelet config using EC2NodeClass's spec.kubelet.clusterDNS #7235
Comments
A bit more clarity: Prior to With v1.0.4+, it's keeping the default value we pass into the node user-data:
So it's not just clusterDNS (e.g., maxPods is kept at 29 also). Looking at v1.0.4 release notes, there was a maxPods-related commit (#7020), but does that vibe with the symptoms of this issue? |
Do you have |
Indeed, looking at the nodepools, they have annotations like this (though not explicitly added (edit: by us), so probably by Karpenter itself when we migrated to v1.0):
Couple questions:
|
The
ref: https://karpenter.sh/docs/upgrading/v1-migration/#before-upgrading-to-v11
We had a bug that any new nodeclaim that was launched used the EC2NodeClass kubelet configuration, without considering the kubelet compatibility annotation. This fix was merged in at 1.0.2: kubernetes-sigs/karpenter#1667. Are you able to share node that were created on 1.0.3 with their nodepools and ec2nodeclass kubelet configurations? |
Yes, here's a slightly anonymized share of that: $ kubectl describe nodeclaim foo-bar-9lmsn
$ kubectl describe nodepool foo-bar
$ kubectl describe ec2nodeclass default-foobar
To re-iterate the behavior for complete understanding:
|
I believe this is the issue (and why we only see this issue when we upgrade to Looking at all commit differences from karpenter-provider-aws v1.0.3 and v1.0.4, it looks like the fix that was merged in kubernetes-sigs/karpenter#1667 was only pulled finally into ![]() If I'm reading that correctly, what does that mean? Do karpenter users who upgrade from |
Yes, as mentioed as part of the upgrade guide. You will need to drop the kubelet compatibility annotation from all their NodePools. However, make sure the kubelet configuration values are the same to avoid causing unexpected drift.
ref: https://karpenter.sh/docs/upgrading/v1-migration/#before-upgrading-to-v11 Apologize, I should have been clearer since |
No problem, thanks for confirming that! (I think a room for improvement is to add to Also, another point of clarity, the docs (ref: https://karpenter.sh/docs/upgrading/v1-migration/#before-upgrading-to-v11), claim we should remove the annotations before upgrading to Regardless, I'll remove the annotations this week and re-attempt an upgrade to v1.0.4+ ... will keep this ticket updated. |
This seems to have worked. We can close this issue if you guys agree. (still not sure if current docs claiming we should remove the annotations before upgrading to v1.1 actually mean |
This issue has been inactive for 14 days. StaleBot will close this stale issue after 14 more days of inactivity. |
Closing. Above steps worked. For reference, v1.1 in migration docs is actually meant to be v1.0.1. |
Description
Observed Behavior:
After upgrading from
karpenter-provider-aws:v1.0.3
tov1.0.4
, the new Kubernetes nodes that Karpenter provisions does not have the EC2NodeClass'sspec.kubelet.clusterDNS
value in its/etc/kubernetes/kubelet/config
.For example, one of our EC2NodeClass's (e.g.,
default-ebs
) looks like this:Click to view EC2NodeClass
Notice,
spec.kubelet.clusterDNS: [169.254.20.11]
However, on the new node, we see:
Also confirmed the NodePool the node is part of refers to the same EC2NodeClass as above
Expected Behavior:
After reverting back to
v1.0.3
, we see the correct (expected) value on a new node:Reproduction Steps (Please include YAML):
See above:
karpenter-provider-aws:v1.0.3
spec.kubelet.clusterDNS
/etc/kubernetes/kubelet/config
on node has that same valuekarpenter-provider-aws:v1.0.4
Versions:
ChartImage Version:v1.0.4
kubectl version
):Server Version: v1.30.4-eks-a737599
bottlerocket v1.24.1
The text was updated successfully, but these errors were encountered: