-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
eksctl utils update-aws-node wiping service account annotation #1645
Comments
Even if we have the proper service account defined in cluster.yaml iam:
withOIDC: true
serviceAccounts:
- metadata:
name: aws-node
namespace: kube-system
labels:
aws-usage: cluster-ops
attachPolicyARNs:
- "arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy" eksctl utils update-aws-node -f cluster.yaml eksctl just wipes the annotation and aws-node and will fail to create and attach any new IPs to the node. |
Is this fixed by #1990 in the next release, 0.18.0? Or possibly just the part
|
I feel like the behaviour of recreating the I'm actually surprised this ever worked, since the Using Helm to manage this instead would avoid such issues, but I suspect we don't want to pull Helm into eksctl just to manage addon upgrades when they have a Helm chart available. Personally I plan to move control of aws-node to the Helm chart once it's a bit more stable and supported, and probably core-dns too, at some point. Edit: #2245 suggests we might pull in Helm after all. |
While I agree that problems like this are better solved using another component like Helm to manage configuration, there's also an easy fix for this issue. |
What happened?
We have IRSA configured with the OIDC provider and part of our update or create script runs
eksctl utils update-aws-node -f $config_file -p $aws_profile --approve
to ensure it is up to date, however it recreates the aws-node SA which is where we have our annotation for the ARN of the role it needs to run as. I also noticed that if you leave off the--aprove
it says that it is essentially doing a "plan" (no changes) however I observed the same functionality of it wiping the annotation.What you expected to happen?
I'm not sure why on the update the Service Account needs to be completely recreated, but that could be due to my lack of understanding some of the underlying components. I would think that it would do a check to see if the Service Account already exists, if not then create it, otherwise just leave it.
How to reproduce it?
Add any annotation to the aws-node SA then run the update-aws-node function and it will remove it.
Anything else we need to know?
I'm using eksctl 0.11.0 on Catalina.
Versions
Logs
The text was updated successfully, but these errors were encountered: