Skip to main content

Kubernetes Dashboard

The official web UI for Kubernetes. Manage workloads, inspect pod logs, scale Deployments, and troubleshoot your cluster — all from a browser with no additional tooling.

✓ One-command installation ✓ kubectl proxy secure access ✓ RBAC token authentication ✓ Workloads, Services, Namespaces

What is Kubernetes Dashboard?

Kubernetes Dashboard is the official general-purpose web UI for Kubernetes clusters, maintained by the Kubernetes project under the kubernetes/dashboard GitHub repository. It runs as a Deployment inside your cluster and provides a visual interface for every aspect of cluster state: Deployments, ReplicaSets, StatefulSets, DaemonSets, Jobs, CronJobs, Pods, Services, Ingresses, ConfigMaps, Secrets, PersistentVolumes, Nodes, and Namespaces.

Beyond read-only inspection, the Dashboard supports full CRUD operations — you can create resources by pasting YAML, edit live manifests inline, delete objects, scale Deployments up or down, trigger rolling restarts, view streaming pod logs, and exec into container shells. When paired with Metrics Server it also shows real-time CPU and memory utilization graphs for nodes and pods.

Installation via kubectl apply

Deploy the Dashboard using the official recommended manifest:

# Deploy Kubernetes Dashboard (check GitHub for latest version tag)
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v3.0.0/aio/deploy/recommended.yaml

# Verify pods are running in the kubernetes-dashboard namespace
kubectl get pods -n kubernetes-dashboard

# Expected output:
# NAME                                         READY   STATUS    RESTARTS
# dashboard-metrics-scraper-7b68d5954d-xkz2r   1/1     Running   0
# kubernetes-dashboard-6b8958bdf5-kwxvf         1/1     Running   0

Accessing the Dashboard via kubectl proxy

The safest way to access the Dashboard is through kubectl proxy, which creates an encrypted tunnel to the API server without exposing any ports:

# Start the proxy (runs in foreground, Ctrl+C to stop)
kubectl proxy

# Access the Dashboard at:
# http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

Creating an Admin Service Account & Token

The Dashboard requires a bearer token for authentication. Create a service account with cluster-admin access:

# 1. Create ServiceAccount
kubectl create serviceaccount admin-user -n kubernetes-dashboard

# 2. Bind to cluster-admin ClusterRole
kubectl create clusterrolebinding admin-user \
  --clusterrole=cluster-admin \
  --serviceaccount=kubernetes-dashboard:admin-user

# 3. Generate a token (Kubernetes 1.24+)
kubectl create token admin-user -n kubernetes-dashboard

# For a long-lived token, create a Secret:
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
metadata:
  name: admin-user-secret
  namespace: kubernetes-dashboard
  annotations:
    kubernetes.io/service-account.name: admin-user
type: kubernetes.io/service-account-token
EOF

# Retrieve the token value
kubectl get secret admin-user-secret -n kubernetes-dashboard \
  -o jsonpath='{.data.token}' | base64 -d

Managing Workloads from the Dashboard UI

Once logged in, the left sidebar gives you access to all resource types. Key workflows:

Installing Metrics Server for CPU/Memory Graphs

# Install Metrics Server
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

# For local clusters (minikube, kind) add --kubelet-insecure-tls flag:
kubectl patch deployment metrics-server -n kube-system \
  --type='json' -p='[{"op":"add","path":"/spec/template/spec/containers/0/args/-","value":"--kubelet-insecure-tls"}]'

# Verify Metrics Server is working
kubectl top nodes
kubectl top pods -A

Kubernetes Dashboard vs Lens vs k9s

Feature K8s Dashboard Lens k9s
Interface Browser (web UI) Desktop app (Electron) Terminal (TUI)
Installation Runs inside cluster Local install (Mac/Win/Linux) Local binary
Multi-cluster One cluster per instance Yes (sidebar switcher) Yes (kubeconfig contexts)
Speed Medium Fast Very fast
Built-in metrics Via Metrics Server Built-in (Prometheus) Via Metrics Server
Cost Free / open source Free tier + paid Pro Free / open source
Best for Shared team access, no local install GUI-oriented engineers, multi-cluster Power users, fast navigation

Security Best Practices

Frequently Asked Questions

What is Kubernetes Dashboard and what can it do?▼

Kubernetes Dashboard is the official web-based UI for Kubernetes clusters. It lets you view and manage workloads (Deployments, StatefulSets, DaemonSets), Services, ConfigMaps, Secrets, PersistentVolumes, Namespaces, and Nodes from a browser. You can create, edit, and delete resources using the GUI, scale Deployments, trigger rolling restarts, view pod logs, and exec into containers — all without needing kubectl installed locally.

How do I create a service account token to log in to the Dashboard?▼

Create a ServiceAccount and bind it to the cluster-admin ClusterRole. Then generate a token: kubectl create token admin-user -n kubernetes-dashboard. This produces a bearer token you paste into the Dashboard login screen. For long-lived tokens (Kubernetes 1.24+), create a Secret of type kubernetes.io/service-account-token referencing the ServiceAccount and retrieve the token with: kubectl get secret admin-user-secret -n kubernetes-dashboard -o jsonpath='{.data.token}' | base64 -d

Is Kubernetes Dashboard safe to expose publicly?▼

No — the Dashboard should never be exposed directly to the internet. Access it exclusively via kubectl proxy (localhost tunnel) or through a VPN-protected ingress with authentication. The Dashboard historically had security vulnerabilities (CVE-2018-18264) when exposed with broad RBAC permissions. Always apply least-privilege RBAC, disable anonymous access, and use kubectl proxy or port-forwarding for access. For production monitoring, consider pairing it with an identity-aware proxy like Pomerium or oauth2-proxy.

What is the difference between Kubernetes Dashboard, Lens, and k9s?▼

Kubernetes Dashboard is browser-based and runs inside your cluster, requiring no local installation beyond kubectl proxy. Lens is a desktop Electron app with a rich GUI, multi-cluster support, built-in metrics, and a marketplace for extensions — ideal for developers managing many clusters. k9s is a terminal UI (TUI) that runs in your shell, extremely fast and keyboard-driven, preferred by power users who live in the terminal. For quick cluster-wide visibility with no local tooling, Dashboard wins. For daily multi-cluster workflows, Lens or k9s are faster.

How do I upgrade the Kubernetes Dashboard?▼

Apply the latest recommended manifest from the official GitHub release: kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v3.x.x/aio/deploy/recommended.yaml. Check the Dashboard GitHub releases page for the latest version tag. Always read the upgrade notes because RBAC requirements and namespace conventions change between major versions. Verify the running version at the bottom of the Dashboard UI after upgrading.

Can I use Kubernetes Dashboard with metrics (CPU/memory graphs)?▼

Yes. Install the Metrics Server in your cluster first (kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml), then the Dashboard will automatically display CPU and memory usage graphs for nodes and pods. Without Metrics Server the graphs section shows empty data. For advanced metrics and alerting, complement the Dashboard with Prometheus + Grafana rather than relying solely on the Dashboard's built-in graphs.

Share this tool: X / Twitter LinkedIn
✓ 60,000+ developers use DevPlaybook ★★★★★ 4.8 / 5 on Gumroad ✓ MIT licensed · Instant download ✓ No login required

Related Products

on Gumroad

You Might Also Need

More Free Tools

Enjoying this tool? Get more like it.

Weekly developer tool guides, productivity playbooks & AI tricks. Free. No spam.

DevPlaybook Pro 7 days free

Unlock AI-Powered Dev Tools

  • ⚡ AI Code Review, Doc Generator & SQL Builder
  • ⚡ All premium templates & early access
  • ⚡ Member discounts on Gumroad products
Start Free Trial →

$9/mo after trial · Cancel anytime

Want the full toolkit?

Get DevPlaybook Pro

Every template, guide, boilerplate, and automation script in one bundle. 13 premium products — grab them all at once and save big.

$79
$241 separately Save $162 (67% off)
Get DevPlaybook Pro — $79 →

MIT licensed · Instant download · No subscription

See what's included → Browse all deals →