kube-scheduler-simulator icon indicating copy to clipboard operation
kube-scheduler-simulator copied to clipboard

Support external scheduler

Open sanposhiho opened this issue 2 years ago • 8 comments

There is great value for this project to support many types of schedulers.

Just replacing here to create user's scheduler is the easy way for users to use their scheduler in simulator, but, if user's scheduler is based on different version of Kubernetes or built on a completely different mechanism than kube-scheduler in k/k, it doesn't work.

For those schedulers, I propose here to support "external scheduler".

Users can run any type of scheduler as outside schedulers and that scheduler will communicate with kube-apiserver in the simulator to run simulation on the simulator.

There is drawback to outside scheduler: they cannot change scheduler configuration via Web UI (or simulator API). But, the big advantage of this is users can use their scheduler with the other advanced features of the simulator like Scenario. https://github.com/kubernetes-sigs/kube-scheduler-simulator/issues/140

/kind feature /triage accepted /priority important-longterm

sanposhiho avatar Jun 03 '22 08:06 sanposhiho

/retitle Support external scheduler

sanposhiho avatar Jul 22 '22 10:07 sanposhiho

/priority important-soon

sanposhiho avatar Aug 31 '22 15:08 sanposhiho

/remove-priority important-soon

sanposhiho avatar Aug 31 '22 15:08 sanposhiho

/remove-priority important-longterm

/priority important-soon

sanposhiho avatar Aug 31 '22 15:08 sanposhiho

give this a higher priority. It will important both for version issue and scenario API.

sanposhiho avatar Aug 31 '22 15:08 sanposhiho

/area simulator

sanposhiho avatar Sep 04 '22 03:09 sanposhiho

/priority next-release

sanposhiho avatar Sep 04 '22 03:09 sanposhiho

/assign

sanposhiho avatar Sep 12 '22 03:09 sanposhiho

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot avatar Dec 11 '22 04:12 k8s-triage-robot

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

k8s-triage-robot avatar Jan 10 '23 05:01 k8s-triage-robot

/remove-lifecycle rotten /lifecycle frozen

sanposhiho avatar Jan 17 '23 01:01 sanposhiho

/remove-priority next-release

Still quite important, but just remove it from next release candidate.

sanposhiho avatar Feb 03 '23 06:02 sanposhiho

@sanposhiho how to use external scheduler? is there a doc?

hzliangbin avatar Feb 13 '23 06:02 hzliangbin

I'd say this external scheduler feature has not get completed yet.

We have implemented the way to disable the scheduler running in the simulator via an option so that people can run their own scheduler instead of the scheduler inside the simulator. https://github.com/kubernetes-sigs/kube-scheduler-simulator/pull/227

But, that's not enough because an external scheduler won't show any detailed scheduling results from each plugin.

To let any scheduler show the detailed scheduling results, people need to replace their all scheduler plugins with wrapped plugins in their scheduler, and it's now kinda troublesome + no doc explains how.

So, we need to provide some easy ways to do that, write the doc based on them, then this task is marked as done finally.

sanposhiho avatar Feb 13 '23 07:02 sanposhiho

We're now working on the prioritized issues for the first release. We'll work on this after that. (so, not immediately)

sanposhiho avatar Feb 13 '23 07:02 sanposhiho

@sanposhiho it's ok. just want an instruction for config external scheduler.

hzliangbin avatar Feb 15 '23 03:02 hzliangbin