kubernetes: low priority pods stuck in pending without any scheduling events
What happened?
My cluster already has high priority pending pods(lack of resources). Now I try to create a low priority pods, but it seems those pods won’t be handled by the kube-scheduler(no scheduling event at all). And then I modify the low priority pods to high priority, it can be scheduled successfully. Is it normal?
What did you expect to happen?
Low priority pods can also be handled by scheduler event there are high priority pods still pending in cluster.
How can we reproduce it (as minimally and precisely as possible)?
create some high priority pods with huge resource request( make sure they stuck in pending), then create some low priority pods with no resource request( make sure they can be scheduled on reasonable nodes). The scheduler won’t schedule the low priority pods (no events).
Anything else we need to know?
No response
Kubernetes version
$ kubectl version
v1.18.4
Cloud provider
OS version
# On Linux:
$ cat /etc/os-release
# paste output here
$ uname -a
# paste output here
# On Windows:
C:\> wmic os get Caption, Version, BuildNumber, OSArchitecture
# paste output here
Install tools
Container runtime (CRI) and and version (if applicable)
Related plugins (CNI, CSI, …) and versions (if applicable)
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 15 (15 by maintainers)
yes, that’s where the activeQ enqueue logic locates.
This is a general improvement on when unschedulable pods should be tried again. In your case those unschedulable pods are predominantly higher priority. If those pods are not moved as often to the active queue, then lower priority pods should have a higher chance of getting scheduling cycles.