-
Notifications
You must be signed in to change notification settings - Fork 5k
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
[prometheus-node-exporter] prevent node exporter from being scheduled on fargate or virtual nodes #4736
[prometheus-node-exporter] prevent node exporter from being scheduled on fargate or virtual nodes #4736
Conversation
4c38cbd
to
092e199
Compare
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.
Thank you, @mariuskimmina, for your PR. That would be a useful change for users of mixed EKS clusters. Similarly in AKS with virtual nodes (type: virtual-kubelet
) which could also be supported in your change.
Now, affinity
is a user settable field and may already include nodeAffinity
. In your current implementation, the field would eventually get overwritten by the user's nodeAffinity
. Both user's configuration and the template's field have to be merged. I'd suggest using a helper template for the purpose.
The other option is inserting the field directly in the values file's affinity
. You probably meant to do this. Personally, I'd prefer doing it as described above, though.
2c75a3b
to
3ba3825
Compare
Hey @zeritti, thanks for taking the time to look at it. I updated the PR with a template approach now. |
3ba3825
to
18e1ef3
Compare
18e1ef3
to
b59179d
Compare
I found the Azure one you were talking about, my only concern here is that
|
267eb4a
to
99d1fe2
Compare
Added the Azure version and tested a few more cases, let me know what you think @zeritti |
99d1fe2
to
df8fd48
Compare
df8fd48
to
e6afc7d
Compare
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.
i don't see why is this needed if there is already a generic solution available.
It's a common problem for people that run EKS with a mixture of Fargate and EC2 nodes, as seen by the number of opened issues around this in the past. I think this would be a sane default configuration to provide that can safe some people the trouble of having to search for this and then add it themselves. |
ccef119
to
e130137
Compare
Any more thought on this @monotek @zeritti @zanhsieh ? I think adding this as default value would save quite a few people the time of having to search for this and add it themselves. I think if you are using a mixture of EC2 nodes and Fargate you'll always want to have this |
d043a15
to
d8cc0fb
Compare
Any update @monotek @zeritti @zanhsieh ?
|
d8cc0fb
to
85c815e
Compare
There is no generic solution available. Proposed change collects solution that proved to be working. It's better than encourage everyone to copy-paste some values from comment hidden deep in pile of github issues. |
I let this decisson to the maintainers of the chart... |
Given the extensive use of EKS and AKS, offering more out-of-the-box default configurations would be a better option. At least theoretically, it wouldn't cause any inconvenience to users who do not use these two services, right? |
… on fargate or virtual nodes Signed-off-by: Marius Kimmina <[email protected]>
19c5549
to
13d06ce
Compare
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.
Since there is no indication of the default hard node affinity in the values file, please, enter a comment at the affinity
field saying that the default node affinity excludes Fargate nodes and virtual kubelets from scheduling unless overriden by hard node affinity set in the field.
Signed-off-by: Marius Kimmina <[email protected]>
Signed-off-by: Marius Kimmina <[email protected]>
Thanks again for reviewing @zeritti |
Signed-off-by: zeritti <[email protected]>
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.
LGTM
What this PR does / why we need it
This PR prevents node-exporter from being scheduled on fargate
Which issue this PR fixes
Special notes for your reviewer
If my understanding is correct, then for people that have already added this nodeAffinity this would not be a breaking change, it would simply be redundant - but this I am not completely sure about.
Checklist
[prometheus-couchdb-exporter]
)