Should I run Headlamp as a desktop app or deploy it in-cluster?

Updated

Run Headlamp as a desktop app if you want to manage clusters locally without deploying anything into them, or if you manage several unrelated clusters. Deploy it in-cluster if you want a shared web UI that multiple users reach through an ingress server. The two are not mutually exclusive — Headlamp can be run as a web app, a desktop app, or both.

Desktop app: when local access fits better

Headlamp's desktop build is aimed at users who don't want to deploy it in a cluster, or who want to manage unrelated clusters locally. It runs on Windows, Linux, and macOS.

Install options per platform:

Platform Install method Command
Windows WinGet winget install headlamp
Windows Chocolatey choco install headlamp
Linux Flatpak (requires the Flathub repository) flatpak install flathub io.kinvolk.Headlamp
macOS Homebrew brew install --cask headlamp

Each platform also offers a direct binary download. Headlamp notes that Windows and macOS may show warnings when running unsigned apps.

Choose this route when you want a single operator working from a local machine, when you don't have permission to install workloads into the clusters you use, or when the clusters you manage aren't related to each other.

In-cluster: when a shared web UI fits better

A common use case for any Kubernetes web UI is to deploy it in-cluster and set up an ingress server so it's available to users. That's the pattern to pick when several people need the same UI and you want to control access centrally.

Install paths:

  • 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 a deployment and service:
    kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/headlamp/main/kubernetes-headlamp.yaml
    
    Review the file and change what you need before applying.
  • 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
    

How the two compare

Dimension Desktop app In-cluster
Where it runs On your local machine Inside the cluster
Best for Users who don't want to deploy in-cluster; managing unrelated clusters locally Serving a web UI to multiple users via ingress
Access model Local to the operator Shared, reached through an ingress server
Install effort Package manager or binary per platform Helm, kubectl apply, Minikube addon, Docker Desktop extension, or Glasskube

What stays the same either way

Headlamp adapts to a user's cluster permissions through RBAC-based controls, so what each user sees follows their cluster permissions rather than the deployment mode. It also supports adaptable UI and branding, letting you create custom experiences with minimal effort. Headlamp is an official Kubernetes sub-project and part of SIG UI, and it works with your favorite Kubernetes flavor.

If you're unsure, start with the desktop app to explore a cluster without changing it, then move to an in-cluster deployment once you need to share the UI with a team.