[
https://issues.apache.org/jira/browse/YUNIKORN-1084?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Craig Condit updated YUNIKORN-1084:
-----------------------------------
Description:
The current namespaceBlacklist property in the admission controller is very
unclear and doesn't handle all the cases we need. It is meant to ignore any
pods listed in the included namespaces. However, these pods still get annotated
with 'schedulerName: yunikorn' which is incorrect.
Additionally, when running in scheduler plugin mode, we often want to control
which namespaces should be processed by yunikorn scheduling logic, and which
should be passed through to the default scheduler logic.
We should use (all comma-separated regexes):
* processNamespaces: (default empty, means ALL)
* bypassNamespaces: (default '^kube-system$')
* labelNamespaces: (default empty, means ALL)
* noLabelNamespaces: (default empty, means NONE)
So the logic becomes:
1) Is namespace in bypassNamespaces or NOT in processNamespaces? If so, do
nothing (allow pod to proceed to default scheduler), and terminate.
2) Update schedulerName to yunikorn
3) Is namespace labelNamespaces and NOT in noLabelNamespaces? If so, apply
labels.
was:
The current namespaceBlacklist property in the admission controller is very
unclear and doesn't handle all the cases we need. It is meant to ignore any
pods listed in the included namespaces. However, these pods still get annotated
with 'schedulerName: yunikorn' which is incorrect.
Additionally, when running in scheduler plugin mode, we often want to control
which namespaces should be processed by yunikorn scheduling logic, and which
should be passed through to the default scheduler logic.
We should use (all comma-separated regexes):
* bypassNamespaces: (default '^kube-system$')
* labelNamespaces: (default empty, means ALL)
* noLabelNamespaces: (default empty, means NONE)
So the logic becomes:
1) Is namespace in bypassNamespaces? If so, do nothing (allow pod to proceed to
default scheduler), and terminate.
2) Update schedulerName to yunikorn
3) Is namespace labelNamespaces and NOT in noLabelNamespaces? If so, apply
labels.
> Update namespace handling in admission controller
> -------------------------------------------------
>
> Key: YUNIKORN-1084
> URL: https://issues.apache.org/jira/browse/YUNIKORN-1084
> Project: Apache YuniKorn
> Issue Type: Improvement
> Components: shim - kubernetes
> Reporter: Craig Condit
> Assignee: Craig Condit
> Priority: Major
>
> The current namespaceBlacklist property in the admission controller is very
> unclear and doesn't handle all the cases we need. It is meant to ignore any
> pods listed in the included namespaces. However, these pods still get
> annotated with 'schedulerName: yunikorn' which is incorrect.
> Additionally, when running in scheduler plugin mode, we often want to control
> which namespaces should be processed by yunikorn scheduling logic, and which
> should be passed through to the default scheduler logic.
> We should use (all comma-separated regexes):
> * processNamespaces: (default empty, means ALL)
> * bypassNamespaces: (default '^kube-system$')
> * labelNamespaces: (default empty, means ALL)
> * noLabelNamespaces: (default empty, means NONE)
> So the logic becomes:
> 1) Is namespace in bypassNamespaces or NOT in processNamespaces? If so, do
> nothing (allow pod to proceed to default scheduler), and terminate.
> 2) Update schedulerName to yunikorn
> 3) Is namespace labelNamespaces and NOT in noLabelNamespaces? If so, apply
> labels.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]