-
Notifications
You must be signed in to change notification settings - Fork 672
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
There is no plugin for podAffinity violations #1462
Comments
Any news? |
Hi @tuxillo, sorry but unfortunately we don't have much bandwidth for adding new plugins at this time. The descheduling framework refactor is meant to make it easier for anyone to develop their own plugins. The existing plugin code should serve as a guide, but we hope to publish a more generic developer guide in the future. |
@damemi thanks for the update. No worries! I was wondering if this plugin was missing for any particular reason. I might give it a try at implementing it but, should I wait for the refactor you're mentioning? |
@tuxillo please feel free to implement it and open a PR if you'd like! the refactor is done already. Ideally, the goal of this was to make it so you don't even need to contribute the plugin code here if you don't want to and could just build your own descheduler with your plugin imported. |
I did an initial version using Let me explain my use case: I set application A to run in certain nodes. I want application B to always run in nodes where application A is, so for application B I use:
As you know, sometimes app A will drift to other nodes (karpenter is auto scaling) but app B won't follow. The affinity is broken. What I am currently doing in predicates is:
So when the candidate pod are in the same node (since that's the topology key), just don't evict it. I think I'm missing some parts of the problem or not following the correct approach. Any pointers would be appreciated 😄 |
Is your feature request related to a problem? Please describe.
I think it is a problem because, as far as I know, there is no way of rescheduling pods that are in violation of podAffinity.
Describe the solution you'd like
Make a plugin available that deals with this, right? 🥲
Describe alternatives you've considered
Right now I'm manually doing rollout in deployments so that the scheduling is right, for example after ugprades.
What version of descheduler are you using?
descheduler version:
latest
Additional context
Issue #1286 was closed as "Not planned" but feedback was provided and I think it's a feature that's pretty much needed.
The text was updated successfully, but these errors were encountered: