Skip to content

KueueViz dashboard

KueueViz was enabled with the controller on Kueue via GitOps (enableKueueViz: true). WebSocket URL and CORS are set in that Application’s Helm values — do not patch the ConfigMap or Deployment by hand (Argo CD would overwrite them).

It is not Argo CD — it visualizes Kueue Workloads, LocalQueues, and ClusterQueues. Open it after Queues and flavors so tenant namespaces and sample Jobs exist.

Work from demo/:

Terminal window
cd "$LAB_DIR"
Terminal window
kubectl get deploy -n kueue-system | grep kueueviz
kubectl get pods -n kueue-system | grep kueueviz

Expect backend and frontend Deployments Available (names and ages vary):

kueue-kueueviz-backend 1/1 1 1 170m
kueue-kueueviz-frontend 1/1 1 1 170m
kueue-kueueviz-backend-6c5969b79c-ddftm 1/1 Running 0 170m
kueue-kueueviz-frontend-8c5b7d485-2mh5z 1/1 Running 0 170m

Optional — confirm the GitOps-managed WebSocket target is already ws://localhost:8081:

Terminal window
kubectl -n kueue-system get configmap kueue-kueueviz-frontend-env \
-o jsonpath='{.data.env\.js}{"\n"}'
window.env = {
VITE_WEBSOCKET_URL: "ws://localhost:8081",
REACT_APP_WEBSOCKET_URL: "ws://localhost:8081"
};

Ingress is off. Only port-forward (no kubectl patch / set env):

Terminal window
pkill -f 'port-forward.*kueueviz' 2>/dev/null || true
kubectl port-forward -n kueue-system svc/kueue-kueueviz-frontend 8080:8080 >/tmp/kueueviz-frontend.log 2>&1 &
kubectl port-forward -n kueue-system svc/kueue-kueueviz-backend 8081:8080 >/tmp/kueueviz-backend.log 2>&1 &

Open http://localhost:8080.

Workloads for project-a / b / c (when Jobs exist), LocalQueues, and ClusterQueue shared-batch. With Jobs cleared, the dashboard still shows queues/flavors with empty workload lists. During a burst, Admitted vs waiting Workloads update in the UI while kubectl get localqueue -A still shows the quota numbers.

KueueViz dashboard showing LocalQueues project-a/b/c and ClusterQueue shared-batch

Official docs: Enable KueueViz.

Next: Verify batch admission.