Allow daemonset plugins running on subset of nodes #990
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What this PR does / why we need it:
For daemonsets, node affinity can be set to limit/select the nodes
which the daemonset will run on. Since this is a native k8s feature
we should support it.
However, we use 'node-plugin' as a key in a few places which need
to understand that not every node will be considered.
The upstream logic for this node selection is in the core scheduling
packages and not readily consumable as a module. As a result, the
most reasonable path forward is to implement a small bit of the
desired functionality on our end.
For now, we just care about the RequiredDuringSchedulingIgnoredDuringExecution
field and only for node labels. This allows picking out nodes based on
labels that may satisfy most use cases.
Which issue(s) this PR fixes
Fixes #988
Special notes for your reviewer:
Release note: