Local cluster: Monitoring¶
vind nodes are just Docker containers, so container-level usage is always
available with no extra install. Kubernetes-level usage (kubectl top)
needs a metrics-server, which isn't part of this cluster by default — the
kubectl get ns output in README.md has no metrics-server namespace.
docker stats — live container CPU/memory (works immediately)¶
docker stats
No arguments shows a live-updating table for every container on the Docker host, not just this cluster's — useful for a first look, noisy if you have other containers running.
docker stats vcluster.cp.local-k8s vcluster.node.local-k8s.worker-1 vcluster.node.local-k8s.worker-2 vcluster.node.local-k8s.worker-3 --no-stream
Scoped to just this cluster's four containers (control plane + 3 workers —
see README.md's Docker container mapping section for the naming
convention), and --no-stream prints a single snapshot instead of a
live-updating view — easier to copy into a bug report or compare
before/after a change.
This reads straight from the Docker host's cgroups, so it's accurate regardless of what's running inside the vcluster and needs nothing installed in-cluster.
kubectl top — Kubernetes-level view (needs metrics-server)¶
kubectl top reads from the Metrics API, which nothing in this cluster
serves by default. Install metrics-server once per cluster:
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
Then:
kubectl top node
Per-node CPU/memory usage as Kubernetes sees it (via kubelet's cAdvisor
stats) — same underlying numbers as docker stats, but expressed against
each node's allocatable capacity rather than raw host resources.
kubectl top pod -n <namespace>
Per-pod CPU/memory within a namespace — e.g. -n llm-d-sim-local-gen to
check a model's decode/prefill pods, or -n app-shaide for the Shaide
stack. Without -n, only the default namespace is shown; add -A for
every namespace at once.
When to use which: docker stats for a quick, dependency-free check
of the whole cluster's footprint on your laptop; kubectl top once
metrics-server is installed, when you need per-pod attribution inside a
specific namespace rather than per-container totals.