Skip to content

Headlamp

A full-featured, extensible Kubernetes dashboard with RBAC support.

Time: ~10 minutes Difficulty: Beginner

  • Installing Headlamp via Helm
  • Creating a ServiceAccount token for authentication
  • Navigating cluster resources, logs, and events
  • Using the built-in terminal for exec into pods

Headlamp is a CNCF Sandbox project that provides a production-grade Kubernetes UI. Unlike simpler dashboards, Headlamp supports:

  • RBAC-aware authentication
  • Plugin system for extending the UI
  • Cluster and namespace resource browsing
  • In-browser pod terminal (exec)
  • Resource editing from the UI
  • Multi-cluster support
Terminal window
helm repo add headlamp https://kubernetes-sigs.github.io/headlamp/
helm repo update
helm install headlamp headlamp/headlamp \
--namespace headlamp \
--create-namespace

Headlamp requires a token for authentication:

Terminal window
# Create a service account
kubectl create serviceaccount headlamp-admin -n headlamp
# Bind cluster-admin role (for local dev only, never in production)
kubectl create clusterrolebinding headlamp-admin \
--clusterrole=cluster-admin \
--serviceaccount=headlamp:headlamp-admin
# Generate a token
kubectl create token headlamp-admin -n headlamp --duration=24h

Copy the token output. You will paste it into the Headlamp login screen.

Terminal window
kubectl port-forward svc/headlamp -n headlamp 8080:80

Open http://localhost:8080, paste the token from the previous step, and click “Authenticate”.

FeatureDescription
WorkloadsView and manage Deployments, StatefulSets, DaemonSets, Jobs, CronJobs
PodsLive logs, exec terminal, resource usage, events
NetworkingServices, Ingresses, Endpoints, NetworkPolicies
StoragePersistentVolumes, PersistentVolumeClaims, StorageClasses
ConfigConfigMaps, Secrets (values hidden by default)
RBACRoles, RoleBindings, ClusterRoles, ClusterRoleBindings
ClusterNodes, Namespaces, CRDs, Events
  1. Deploy several demos from this repo (Redis, ArgoCD, Cert-Manager)
  2. Open Headlamp
  3. Browse each namespace to see the resources
  4. Click on a pod to view live logs
  5. Use the built-in terminal to exec into a running pod
  6. Edit a ConfigMap from the UI and watch the pod pick up changes
Terminal window
kubectl delete clusterrolebinding headlamp-admin
kubectl delete serviceaccount headlamp-admin -n headlamp
helm uninstall headlamp -n headlamp
kubectl delete namespace headlamp

See docs/deep-dive.md for details on Headlamp’s CNCF status, token-based authentication, plugin architecture, multi-cluster support, and how it compares to other dashboard options.

Move on to CloudNativePG to run production-grade PostgreSQL with automatic failover.