[ 
https://issues.apache.org/jira/browse/YUNIKORN-971?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17479124#comment-17479124
 ] 

Weiwei Yang commented on YUNIKORN-971:
--------------------------------------

hi [~ccondit], thank you for getting this done and thank you [~pbacsko] for the 
review.

Sorry I just got some time looking at the details, my major concern is: we are 
tracking all nodes' info in yunikorn, and that runs in parallel with the 
default scheduler. Potentially it may happen that YK thinks the pod should be 
allocated on node A, but when we pass that to the default scheduler, it fails. 
I am worried about the following issue:

if a pod is unable to be allocated on A, in today's implementation the pod will 
be left unschedulable. this is not good, it should be retried on a different 
node. YK or the default scheduler doesn't have this issue because as long as 
they decide to allocate the pod onto a node, it will start to do the binding 
steps. but here, even YK-plugin decides to allocate on A, the default scheduler 
will still need to run its own validations before binding the pod, so the above 
issue could happen. 

I want to understand more about the reason for implementing the Filter plugin. 
I understand YK can select its own priority list of nodes, but how that is 
different than the default scheduler? Ideally, we can add some customized Score 
plugin 
([https://kubernetes.io/docs/concepts/scheduling-eviction/scheduling-framework/#scoring)]
 to control the behavior, why we need to do this by implementing the Filter 
plugin?

Another thing, [~ccondit], can you put your design doc in a google doc, I have 
some comments to add. And once the doc is settled, we need to publish it to the 
website.

> Implement YuniKorn as a Kubernetes Scheduler Plugin
> ---------------------------------------------------
>
>                 Key: YUNIKORN-971
>                 URL: https://issues.apache.org/jira/browse/YUNIKORN-971
>             Project: Apache YuniKorn
>          Issue Type: New Feature
>          Components: shim - kubernetes
>            Reporter: Craig Condit
>            Assignee: Craig Condit
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.0.0
>
>         Attachments: YuniKorn as K8S Scheduler Plugin.pdf
>
>
> As of Kubernetes 1.19, there is a new [scheduling 
> framework|https://kubernetes.io/docs/concepts/scheduling-eviction/scheduling-framework/]
>  available to scheduler implementations. This exposes all the functionality 
> of the default Kubernetes scheduler, but allows plugins to be added which 
> augment and extend the default scheduler functionality. 
> We should explore implementing YuniKorn using this new framework. See 
> attached design document for rationale and approach.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to