kubernetes: [Umbrella] Skip Filter plugins when coupled PreFilter plugin returns `Skip` status
What would you like to be added?
It’s spawned from https://github.com/kubernetes/kubernetes/issues/107556.
After https://github.com/kubernetes/kubernetes/pull/114125 gets merged, the scheduler skips the plugin in Filter, if that plugin return Skip in PreFilter. In other words, the plugin can return Skip when it doesn’t do anything on Pod’s scheduling.
For example, if the pod doesn’t have any inter-pod affinity, the inter-pod affinity plugin PreFilter can return Skip, and the scheduler won’t run the inter-pod affinity plugin Filter.
Here, I just listed all filter plugins, not all of them may not need to return Skip in PreFilter though. Assignee, please make sure your plugin really needs to return Skip or not.
Please feel free to assign what you’d like to work on. And please comment in this issue before starting to work on so that we can avoid many people from working on the same thing!
- InterPodAffinity @sanposhiho https://github.com/kubernetes/kubernetes/pull/114889
- NodeAffinity @sanposhiho https://github.com/kubernetes/kubernetes/pull/114125
- NodeName @1978629634 https://github.com/kubernetes/kubernetes/pull/114386
- NodePorts @tangwz https://github.com/kubernetes/kubernetes/pull/118271
- NodeResourceFit @tangwz (no need to implement)
- NodeUnschedulable @sivchari (no need to implement)
- CSILimits @tangwz https://github.com/kubernetes/kubernetes/pull/115398
- nonCSILimits @tangwz https://github.com/kubernetes/kubernetes/pull/115398
- TopologySpread @utam0k https://github.com/kubernetes/kubernetes/pull/117683
- TaintToleration (no need to implement) @sivchari https://github.com/kubernetes/kubernetes/pull/114405
- VolumeBinding @kidddddddddddddddddddddd https://github.com/kubernetes/kubernetes/pull/114897
- VolumeRestriction @kidddddddddddddddddddddd https://github.com/kubernetes/kubernetes/pull/114898
- VolumeZone @kidddddddddddddddddddddd https://github.com/kubernetes/kubernetes/pull/114896
Why is this needed?
The scheduler can know which plugins it really needs/doesn’t need to run to get the scheduling result. It’d contribute to the scheduling performance.
/sig scheduling /assign
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Reactions: 2
- Comments: 29 (25 by maintainers)
@utam0k Thanks, just assigned it to you!
@sanposhiho Can I take it?
@sanposhiho I think
NodeResourceFitdoes not need to implement too.@sivchari For
NodeUnschedulable, agree. Marked it as done. But, forNodePorts, it can return Skip when no container hasPorts.ok we can get started on the work now then
@sanposhiho Sorry, but I can’t find the time to try this PR😭 Please allow me to unassign.
@sanposhiho Please assign me to NodePorts and NodeUnschedulable.
I’m working on NodeResourceFit now,I’m interested in it.
/assign
👍
/assign @utam0k
I’ll handle the
TaintTolerationplugin. /assignVolumeZonecan useskipwhen pod has no topology labels.VolumeRestrictioncan useskipwhen pod has no volumes? And also, since we’re optimizingvolumebindingin #114098, I think I can do this forvolumebindingin that pr.I’ll handle these three plugins after #114125 being merged. /assign