-
Notifications
You must be signed in to change notification settings - Fork 164
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 topology spread constrant option #343
Conversation
Signed-off-by: Loc Mai <locmai0201@gmail.com>
Signed-off-by: Loc Mai <locmai0201@gmail.com>
@@ -468,6 +470,7 @@ ingester: | |||
prometheus.io/port: '8080' | |||
|
|||
nodeSelector: {} | |||
topologySpreadConstraints: [] |
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.
Question for reviewers: given that ingesters have a pod disruption budget of 1, would it make sense to revise the default podAntiAffinity config a few lines below this to make it a hard requirement that more than one ingester should never be scheduled to the same node? That behavior could also be implemented using topologySpreadConstraints constructs, which would eliminate the need for the podAntiAffinity config.
This is desirable because presently it is possible to get two pods on one node, and then when node patching happens, the process gets stuck because it can't evict two ingester pods in order to patch the node.
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.
would you be open to create an seperate PR after this is merged?
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!
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.
would it make sense to revise the default podAntiAffinity config a few lines below this to make it a hard requirement that more than one ingester should never be scheduled to the same node?
We do this for our production deployments with an override. We should probably pick a clear strategy for this chart on whether the chart defaults represent good production values or whether they are more tuned for testing. It is helpful to be able to deploy multiple ingester pods to a single node for testing.
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.
argh nice but you have to use helm-docs@1.8.1. apparently they changed some things
Signed-off-by: Loc Mai <locmai0201@gmail.com>
@nschad Thanks for taking a look, I just pushed a new one to solve that. |
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.
Sorry, didn't realize you were waiting on me. Looks good.
What this PR does:
Provide the ability to configure Pod Topology Spread Constraints.
Checklist
CHANGELOG.md
updated - the order of entries should be[CHANGE]
,[FEATURE]
,[ENHANCEMENT]
,[BUGFIX]