[Question] How kube batch ensure the cache consistency if when another pod is scheduled by the default kube scheduler? #922
Comments
If kube-batch and default-scheduler scheduled pods to the same pods, kubelet will reject it if no more resources, and ether kube-batch or default-scheduler will re-schedule it later :) |
Thanks @k82cn for your reply. What if in a period of 1s, other tasks of a podgroup are scheduled but one task is rejected by the kubelet, then the gang scheduling might fail? |
my understanding is that gang scheduling will fail. it's not a big deal. we still have the next round. asynchronous binding in default scheduler may fail too and default scheduler will add that pod to backoffQ or unschedulableQ and waits for the next chance to re-schedule. if you really mind the race condition, scheduling framework proposed at community, aiming at extending the abilities of default scheduler by plugins may help. Mr @k82cn is one of the proposers. Codes are already merged in k8s. |
All right. I'm just trying to estimate the risk of leveraging this plugin as the batch scheduler.
|
|
Thanks @xial-thu for your reply.
|
pods are associated with podgroup only by annotations. normal pods will be scheduled anyway. logics are in the codes. |
Haa, it seems that kube batch can be still a feasible option for gang scheduling but not that ready. |
I think you can try volcano which we already put into product environment :) |
Two questions then:
|
It's up to you; it support multi-scheduler way, and it also support features in default scheduler.
It dependent on how define "large-scale scenarios", it's still updating. |
@xial-thu , any detail on that? |
Sorry I lost the screen snapshot and logs. I remember pods are shown as something like “admissionError”, I'm not sure. I'm planning to do some benchmark by kubemark. I'll update if I met that problem again. |
That's great ! |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
Stale issues rot after 30d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
/kind feature
Since kube batch session open and seems that it will update its cache snapshot every 1 second (pls correct me if I didn't understand correctly), what if there are any other normal pod being scheduled by the k8s default scheduler during this time period of 1s and will the kube-batch cache still be consistent with the cluster status?
Or will kube-batch and kube-scheduler schedule pods at the same time?
Thanks in advance if there are some explanation or code reference could work as well.
The text was updated successfully, but these errors were encountered: