[
https://issues.apache.org/jira/browse/YUNIKORN-2981?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17944895#comment-17944895
]
Wilfred Spiegelenburg commented on YUNIKORN-2981:
-------------------------------------------------
We should only ever override the `default-scheduler` not any custom scheduler
that has been set on a pod by default. If we have a custom scheduler we should
let the pod pass and not make any changes. That check should be made *before*
we do anything else.
We can then add an override of custom scheduler option ({*}false{*} by
default). We can use that if we want to force everything in the cluster to be
scheduled by YuniKorn based on namespaces etc.
Adding the option to override some but not all of the schedulers passed in is I
think not the correct user experience. We need something that is easily
explained: you set a custom scheduler on the pod YuniKorn ignores it (default)
or overrides it (if configured).
So in processPod before checking user info:
* check the schedulername is *not* `default-scheduler` or `yunikorn`
* check if custom scheduler override is set to `false`: return admission
response to allow the pod without any changes
if we have the default, yunikorn or custom override keep processing the pod.
BTW the new behaviour should be the default: do not override custom scheduler.
It would be a backwards incompatible change as we would not override every
scheduler as we currently do so we need to announce this.
Targeted this for 1.8.
> Support filtering schedulerName
> -------------------------------
>
> Key: YUNIKORN-2981
> URL: https://issues.apache.org/jira/browse/YUNIKORN-2981
> Project: Apache YuniKorn
> Issue Type: New Feature
> Components: shim - kubernetes
> Reporter: haorenhui
> Assignee: Kaichia Chen
> Priority: Minor
> Labels: pull-request-available, release-notes
>
> In our K8S environment, there are multiple schedulers working
> simultaneously (provided by different vendors), and Yunikorn is currently
> unable to handle situations where pods in a certain namespace may need to be
> scheduled by different schedulers. The current approach is to intercept all
> pods in the namespace (enableYunikorn=true) and modify their schedularName.
> Regardless of whether its schedulerName value is default scheduler or other.
> We hope that Yunikorn can add process and bypassing of spec.schedulerName
> on pods in the configuration, just like namespace.
> {code:java}
> // case
> admissionController.filtering.processSchedulerNames:
> ^default-scheduler$|^yunikorn$
> admissionController.filtering.bypassSchedulerNames: ^other-scheduler$ {code}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]