-
Notifications
You must be signed in to change notification settings - Fork 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
Add support for tags on AWS managed nodegroups to indicate resources #5596
Add support for tags on AWS managed nodegroups to indicate resources #5596
Conversation
|
Welcome @tbalzer! |
Any chance to get a review on this? We're willing to contribute more time into this as needed, as this missing feature prevented us from using scale-from-zero when having pending pods with ephemeral-storage requests on AWS with managed nodegroups and we think that's a perfectly valid usecase that's missing after the support for Labels/Taints being extracted from managed nodegroups in a scale-from-zero scenario. Currently we're running our clusters with our self-hosted cluster-autoscaler image that has this included, but would obviously prefer to be able to use upstream again. So far I can say it's worked flawlessly. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tbalzer thanks for this :) Left a couple questions/suggestions inline for you but I think the code makes sense.
fb32b84
to
53d55dc
Compare
@jaypipes : Thanks for the feedback and attention. I've updated the code according to your suggestions and replaced the commit. PTAL again. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I'm happy with this. Thank you @tbalzer for your work! :)
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: jaypipes, tbalzer The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
@jaypipes : Can you also add an lgtm here or should I ping someone else for this? |
@tbalzer I'd prefer another approver have a quick look. @gjtempleton can you have a quick looksie? Thanks! |
/assign @gjtempleton |
53d55dc
to
3ab6ead
Compare
@gjtempleton : Any chance to get a review? This is getting more and more stale. |
@tbalzer apologies, I'll give this a review this week. |
Thanks for this. /lgtm |
…scaler-1.26 Backport #5596 [CA] AWS - Add support for tags on AWS managed nodegroups to indicate resources into CA 1.26
…scaler-1.27 Backport #5596 [CA] AWS - Add support for tags on AWS managed nodegroups to indicate resources into CA 1.27
What type of PR is this?
/kind feature
What this PR does / why we need it:
This PR introduces a feature that allows handling of ephemeral storage and custom resources in a scale-from-zero scenario when using EKS nodegroups.
It does this via allowing tags in the form of
k8s.io/cluster-autoscaler/resources/<resource>: <quantity>
analogous to how they are allowed directly on an ASG.As the EKS-managed ASGs in case of managed nodegroups don't support custom tags for those resources they will be read from the managed nodegroup and processed accordingly.
Which issue(s) this PR fixes:
NONE
Special notes for your reviewer:
I have modeled this after the implementation for ASGs and tried to be as clean as possible, passing through the Tags in the managed node group cache. I don't expect anybody will find it unexpected that these specific annotations influence the node templates.
As for documentation regarding this I didn't immediately find a place where one could mention that the ASG annotations also work for managed nodegroups, however I initially just assumed they would until I looked at the code.
Does this PR introduce a user-facing change?
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:
NONE