As important as Kubernetes is to the modern cloud-native stack, it’s still not easy to use on your own hardware. That’s surprising, considering how long it’s been around. Sure, you can use managed cloud services such as Azure Kubernetes Service, but what’s needed is a common user interface that works not only with those cloud services but also with development systems and on-premises clusters.

The Kubernetes development team knows this is a problem, and its user interface special interest group, SIG-UI, has been working on a solution. This group runs two projects: Dashboard and Headlamp. Headlamp is a relatively new part of the core Kubernetes project, recently moving from its place in the CNCF’s Sandbox program. The transition was recently announced in Microsoft’s keynote slot at KubeCon+CloudNativeCon Europe 2025 in London.

Introducing Headlamp

Much of Headlamp comes from work done by Microsoft’s Kinvolk team in Germany, alongside both Flatcar’s container-optimized Linux and the Inspektor Gadget eBPF monitoring tool set. As Microsoft’s Andrew Randall noted at KubeCon, the project began when the team began thinking about how to deliver Kubernetes for the rest of us—the beginners and the Windows administrators—the people who expect an out-of-the-box experience.

If you’ve installed Kubernetes, even in a Minikube development environment, you know that you quickly have to get into the weeds of YAML and kubectl, even before using Helm to install necessary extensions and applications. It’s clear that some form of out-of-the-box experience is necessary just to get over that first hump.

That’s the intent behind Headlamp: to go from a standalone installation to a running Kubernetes environment in seconds, or to pick up your laptop, point it at a running Kubernetes environment, and start managing it.

Setting up Headlamp for the first time

I started by setting up a Minikube environment on a PC running Ubuntu 24.10. This was relatively simple to use Curl to download a binary release package from GitHub before running an install script. Some prerequisites are necessary. The system needs a container environment, and I installed KVM2 and Docker to ensure that this was ready for Minikube’s Kubernetes environment. It’s a good idea to have kubectl in place before you start, as you will need the Kubernetes command line to get everything working.

With Minikube running, I could now install Headlamp. There are several different installation options, but I chose Flatpak to install the full desktop application. You need to add Flatpak support if you’re not using a Red Hat Linux and then configure access to Kinvolk’s repository. Once installed, Headlamp adds an icon to your desktop launcher.

If you install via Flatpak and intend to use Headlamp with external tools, you must enable access through its sandbox. This is a single command and can be cut and pasted from the Headlamp documentation.

I also installed Headlamp on a Windows development PC. You can use the Winget tool to quickly install from a command line, or if you prefer Chocolatey, Headlamp is available in its repository. Both Winget and Chocolatey have their own update mechanisms, so you can keep your Headlamp installation current.

Headlamp isn’t only a desktop application; it can be installed in-cluster as a web application. This last option works well for teams with a central Kubernetes platform, but if you’re working with a development tool like Minikube, having a separate application allows you to quickly tear down and rebuild your environment without needing to reinstall Headlamp and any customizations every time.

Using Headlamp with Kubernetes

My Headlamp install on Linux quickly detected the Minikube install via Kubernetes’ config file and started to monitor and manage the cluster. The Cluster view is the heart of Headlamp. Here you can see all the clusters you’re managing, with the ability to filter by namespace. It gives you a good overview of resource usage: CPU, memory, and the number of nodes and pods in use. Cluster events can be filtered to show only warnings. Other filters let you drill down into specific namespaces to help track down issues in busy clusters.

Headlamp makes it easy to navigate through the various components that make up a Kubernetes cluster. Various views drill down into pods, deployments, and more. The Pod view shows what’s running, the resources each pod is using, and the internal IP address. You can see how old a pod is and when it last restarted. Click into a pod and you get details of its containers, any ports that are being used, as well as environment variables.

Other options quickly expose service YAML, using a built-in editor so you can make changes to your environment on the fly. There’s even a terminal so you can interact with a local shell inside your containers.

The more tools in your cluster, the more detail Headlamp exposes. If you’ve got Prometheus installed, it’ll show metrics, using its built-in plug-in. That’s one of the advantages of Headlamp: It’s built around an extensible architecture, which its community can use to add new features to work with the ever-growing Kubernetes environment. If a feature you need isn’t part of the default installation, simply search the Headlamp app catalog and install it with a couple of clicks.

Exploring application deployments

Perhaps the most useful feature is Headlamp’s application map. Starting with a view of the currently managed namespaces, you can drill into individual pods and deployments. Once you start viewing a deployment, you can see how it’s built up of ReplicaSets, pods, services, and endpoints. As you click into the map, you’re presented with more and more detail about how your application is put together and how it’s built on top of a selection of containers. You can use the tools here to forward ports so you can evaluate code, as well as explore how tools like Helm deploy code into your cluster.

It’s important to note that, as it’s dependent on the Kubernetes APIs, Headlamp isn’t only for Azure, and it’s been tested on most cloud providers’ versions as well as common on-premises and desktop development distributions. The underlying plug-in model is designed to help you quickly customize your installations and add links to your own specific tools. Plug-ins can link Headlamp to external applications and services, for example, integrating with a bug tracker.

If your plug-in needs to display information, Headlamp uses the Storybook component UI development tools, which help you make new visual components that work inside and alongside its own features. There are tips in the Headlamp documentation on how to make your code visually consistent.

Headlamp is still a young project and it does have some rough edges. I had some issues working with remote Kubernetes installs. Getting the right authentication tool in place required more platform engineering experience than I have, and although I made some progress setting up Keycloak as an OpenID Connect provider, I got bogged down. An alternate OIDC tool, Dex, may offer an easier route to a remote authentication platform, but I shall leave exploring that avenue for another day.

Eyes on K8s

Using Headlamp with a local development Kubernetes system was a lot easier, and it’s likely to quickly become an essential component of a cloud-native development stack. However, larger-scale deployments currently need significant Kubernetes platform experience to get the right configuration in place. With Headlamp now part of the Kubernetes project, ironing out complexity will likely be a high priority, hopefully making it easier to connect to a Kubernetes instance with the right roles and permissions and start working.

There’s a lot to like in Headlamp. It offers developers and platform engineers a clean, easy-to-understand user interface that exposes the complexity of a Kubernetes environment while helping you navigate not one, but many clusters. Multicluster support from a standalone application is, of course, the big win here, and why using it is preferable to Kubernetes’ other UI, Dashboard.

Thinking about Andrew Randall’s KubeCon aim for the project, is this an out-of-the-box tool for the rest of us? Not yet, but it shows a lot of promise. If anything, it’s reminiscent of classic Windows management tools such as System Center—and that’s a good thing.