Hello world. Here is web-based Kubernetes scheduler simulator.
On the simulator, you can create/edit/delete these resources to simulate a cluster.
- Nodes
- Pods
- Persistent Volumes
- Persistent Volume Claims
- Storage Classes
You can create resources with yaml file as usual.
And, after pods are scheduled, you can see the results of
- Each Filter plugins
- Each Score plugins
- Final score (normalized and applied Plugin Weight)
You can configure the scheduler on the simulator through KubeSchedulerConfiguration.
Scheduler Configuration | Kubernetes
Note: changes to any fields other than .profiles
are disabled on simulator, since they do not affect the results of the scheduling.
In real Kubernetes, we cannot know the results of scheduling in detail without reading the logs, which usually requires privileged access to the control plane. Therefore, we have developed a simulator for kube-scheduler -- you can try out the behavior of the scheduler with web UI while checking which plugin made what decision for which Node.
It can be used to learn about the Kubernetes scheduler or to examine the detailed behavior of plugins, etc.
We have docker-compose.yml to use the simulator easily.
You can use it with the below command.
make docker_build_and_up
Then, you can access the simulator with http://localhost:3000
Note: Insufficient memory allocation sometimes causes problems in building the image. Please allocate enough memory in that case.
You have to run frontend, server and etcd.
To run this simulator's server, you have to install Go and etcd.
You can install etcd with kubernetes/kubernetes/hack/install-etcd.sh.
make start
It starts etcd and simulator-server locally.
To run the frontend, please see README.md on ./web dir.
see CONTRIBUTING.md
Learn how to engage with the Kubernetes community on the community page.
You can reach the maintainers of this project at:
Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.