What Is Headlamp?

Updated

Headlamp is a user-friendly Kubernetes UI focused on extensibility. It is an official Kubernetes sub-project and part of SIG UI, and it can run as a web app, a desktop app, or both. If you manage Kubernetes clusters and want a graphical interface that adapts to a user's cluster permissions, Headlamp is built for that use case.

What Headlamp Does

Headlamp gives you a UI for working with Kubernetes. Its core characteristics, based on the project's own description, are:

  • Extensible UI and branding — you can create custom experiences with minimal effort.
  • RBAC-based controls — Headlamp adapts to a user's cluster permissions.
  • Desktop and web deployment — it can run as a web app, a desktop app, or both.

Because it is an official Kubernetes sub-project under SIG UI, it sits within the Kubernetes ecosystem rather than being a third-party add-on.

When to Use the Desktop App vs. In-Cluster

Headlamp supports two main ways of running, and the choice depends on what you need to manage.

Mode Best for Notes
Desktop app Users who don't want to deploy it in a cluster, or who want to manage unrelated clusters locally Available for Windows, Linux, and macOS
In-cluster Making a Kubernetes web UI available to users, typically behind an ingress server A common use case for any Kubernetes web UI

If you only need to manage clusters from your own machine, the desktop app avoids deploying anything into the cluster. If you need a shared, browser-accessible UI for a team, the in-cluster deployment is the usual path.

How to Install Headlamp

Desktop App

Download a binary for your platform, or use a package manager:

  • Windows: winget install headlamp or choco install headlamp
  • Linux: flatpak install flathub io.kinvolk.Headlamp (make sure the Flathub repository is set up)
  • macOS: brew install --cask headlamp

The project notes that Windows and Mac may show warnings when running Headlamp unsigned apps.

In-Cluster

A common approach is to deploy Headlamp in-cluster and set up an ingress server so users can reach it. Installation options include:

  • Helm:
    helm repo add headlamp https://kubernetes-sigs.github.io/headlamp/
    helm install my-headlamp headlamp/headlamp --namespace kube-system
    
  • kubectl apply with a configuration file for the deployment and service:
    kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/headlamp/main/kubernetes-headlamp.yaml
    
  • Minikube addon:
    minikube addons enable headlamp
    minikube service headlamp -n headlamp
    
  • Docker Desktop extension — Headlamp ships as a Docker Desktop extension.
  • Glasskube:
    glasskube install headlamp
    

Headlamp works with your favorite Kubernetes flavor, so the in-cluster route is not tied to a single distribution.

What to Check Before Choosing It

  • Permissions behavior: Headlamp adapts to a user's cluster permissions via RBAC-based controls, so what a given user sees depends on their cluster access.
  • Deployment preference: decide up front whether you want a local desktop tool or a shared in-cluster UI, since the install path differs.
  • Extensibility needs: if you want custom UI or branding, extensibility is a stated focus of the project.

The project's own framing is straightforward: it is a user-friendly Kubernetes UI focused on extensibility, runnable as a web app, desktop app, or both.