The volcano dashboard provides a basic dashboard that can be easily deployed in your kubernetes cluster to show the status of resources including volcano jobs, queues, pods, and scheduler configuration.
The Scheduler page (/scheduler) provides a UI to read and write volcano-scheduler-configmap: reorder scheduling actions, edit plugin tiers and toggles, preview YAML diffs, and save via the Kubernetes API.
See docs/scheduler-config.md for usage, RBAC, and environment variables.
After upgrading to a build that includes this feature, re-apply the dashboard manifest so the ServiceAccount can patch the scheduler ConfigMap:
kubectl apply -f deployment/volcano-dashboard.yamlYou can follow the design doc to learn more about the design details.
Before installing the volcano dashboard, please ensure you have:
- A running Kubernetes cluster
kubectlconfigured to access your cluster- Volcano installed on your cluster (see Install Volcano below if needed)
This deploys the default image (volcanosh/volcano-dashboard:latest) from the manifest.
- Create the
volcano-systemnamespace (if it does not exist):
kubectl create ns volcano-system --dry-run=client -o yaml | kubectl apply -f -- Deploy the volcano dashboard:
kubectl apply -f https://raw.githubusercontent.com/volcano-sh/dashboard/main/deployment/volcano-dashboard.yaml- Access the dashboard by port-forwarding the service:
kubectl -n volcano-system port-forward svc/volcano-dashboard 8080:80 --address 0.0.0.0- Open your browser:
- Local: http://localhost:8080
- Remote:
http://<NODE_IP>:8080(replace<NODE_IP>with your node IP)
Use this when you want to run your own build instead of the published image (for example on kind).
- Build the image from the repository root:
docker build -f deployment/Dockerfile -t dashboard-app:dev .- Load the image into your cluster (kind example):
kind load docker-image dashboard-app:dev --name kind- Deploy dashboard resources:
kubectl create ns volcano-system --dry-run=client -o yaml | kubectl apply -f -
kubectl apply -f deployment/volcano-dashboard.yaml- Point the deployment at your local image (replaces the default without editing YAML):
kubectl -n volcano-system set image deploy/volcano-dashboard \
volcano-dashboard=dashboard-app:dev
kubectl -n volcano-system rollout status deploy/volcano-dashboard-
Install Volcano if it is not already on the cluster.
-
Access the dashboard:
kubectl -n volcano-system port-forward svc/volcano-dashboard 8080:80Open http://localhost:8080.
For minikube, Docker-only workflows, and other cluster types, see CONTRIBUTING.md.
The dashboard requires Volcano CRDs and controllers. If they are not installed yet:
kubectl apply -f https://raw.githubusercontent.com/volcano-sh/volcano/master/installer/volcano-development.yamlVerify the APIs are available:
kubectl api-resources | grep -E "batch.volcano.sh|scheduling.volcano.sh"
kubectl get jobs.batch.volcano.sh -A
kubectl get queues.scheduling.volcano.sh
kubectl get podgroups.scheduling.volcano.sh -AYou can follow our CONTRIBUTING.md.
You can read our LICENSE.
