Skip to content

Commit

Permalink
Doc: Apache YuniKorn gang-scheduling for kubeflow training-operator (#…
Browse files Browse the repository at this point in the history
…3888)

* Docs: Apache YuniKorn gang-scheduling for kubeflow training-operator

Signed-off-by: HuangTing-Yao <tingyao@apache.org>

* minor fix

Signed-off-by: HuangTing-Yao <tingyao@apache.org>

* fix duplicate explicit target name issue

Signed-off-by: HuangTing-Yao <tingyao@apache.org>

---------

Signed-off-by: HuangTing-Yao <tingyao@apache.org>
  • Loading branch information
HuangTing-Yao authored Jul 26, 2023
1 parent 845d0f5 commit 713f3f8
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions rsts/deployment/plugins/k8s/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,10 @@ Install the K8S Operator
the same time.

To `enable gang scheduling for the Kubeflow training-operator <https://www.kubeflow.org/docs/components/training/job-scheduling/>`_,
you can install the `Kubernetes scheduler plugins <https://github.com/kubernetes-sigs/scheduler-plugins/tree/master>`_:
you can install the `Kubernetes scheduler plugins <https://github.com/kubernetes-sigs/scheduler-plugins/tree/master>`_ or `Apache YuniKorn scheduler <https://yunikorn.apache.org/>`_.

1. Install the `scheduler plugin as a second scheduler <https://github.com/kubernetes-sigs/scheduler-plugins/tree/master/manifests/install/charts/as-a-second-scheduler>`_.
1. Install the `scheduler plugin <https://github.com/kubernetes-sigs/scheduler-plugins/tree/master/manifests/install/charts/as-a-second-scheduler>`_ or
`Apache YuniKorn <https://yunikorn.apache.org/docs/next/#install>`_ as a second scheduler
2. Configure the Kubeflow training-operator to use the new scheduler:

Create a manifest called ``kustomization.yaml`` with the following content:
Expand Down Expand Up @@ -98,7 +99,7 @@ Install the K8S Operator
- name: training-operator
command:
- /manager
- --gang-scheduler-name=scheduler-plugins
- --gang-scheduler-name=<scheduler-plugins/yunikorn>
Install the patched kustomization with:
Expand All @@ -107,7 +108,12 @@ Install the K8S Operator
kustomize build path/to/overlay/directory | kubectl apply -f -
3. Use a Flyte pod template with ``template.spec.schedulerName: scheduler-plugins-scheduler``
3. (Only for Apache YuniKorn) Configure ``template.metadata.annotations.yunikorn.apache.org/task-group-name`` ,
``template.metadata.annotations.yunikorn.apache.org/task-groups`` and
``template.metadata.annotations.yunikorn.apache.org/schedulingPolicyParameters`` in Flyte pod templates.
See `Apache YuniKorn Gang-Scheduling <https://yunikorn.apache.org/docs/next/user_guide/gang_scheduling>`_ for more configuration detail.

4. Use a Flyte pod template with ``template.spec.schedulerName: scheduler-plugins-scheduler``
to use the new gang scheduler for your tasks.

See the :ref:`using-k8s-podtemplates` section for more information on pod templates in Flyte.
Expand Down

0 comments on commit 713f3f8

Please sign in to comment.