Kubernetes Dashboards: Everything You Need to Know
Kubernetes comes with its own web UI for deploying containerized applications to a cluster using wizards, troubleshooting workloads and managing cluster resources – known as Dashboard. But there are other options as well.
What Is a Kubernetes Dashboard?
Having one place to see logs, metrics and error reports is useful and if you’d rather use a graphical interface than the command line, you can initiate rolling updates, scale pods and nodes, create and restart pods and other resources like jobs and deployments, or see all the running services and edit them.
The Kubernetes Dashboard is actually a container that you have to choose to deploy, so it won’t be consuming resources if you choose to use a different Kubernetes dashboard for managing, monitoring and troubleshooting applications and the cluster itself.
Benefits of Kubernetes Dashboards
There’s a wide range of alternative Kubernetes dashboards: some aim to simplify operations and provide guardrails, others add advanced features or integrate Kubernetes with existing management ecosystems. Some run on the cluster, some on your local workstation and you can also consider SaaS solutions like Datadog and ContainIQ: what you pick will depend on whether you want to monitor the Kubernetes cluster itself, the performance of host servers, the application and service layer or the entire stack.
Additional Kubernetes Dashboard Options
You may also want to consider the implications of dashboards like Headlamp, Lens or Octant having both read and write access so you can use them to make changes the way you would with kubectl. This can be helpful but remember to use RBAC and admissions controllers if you want to avoid out-of-band changes through these tools because you use GitOps automated management.
Even without that, Headlamp is extremely capable, has good performance — and we like that it gives you the documentation for Kubernetes objects right in the interface.
Unusually, Headlamp gives you the choice of running it locally on your desktop or directly in the cluster if it’s used frequently. Authentication is through OpenID Connect (OIDC).
Skooner (Previously K8dash)
A fully web-based dashboard with both a detailed desktop view and a simpler interface optimized for running on mobile devices so you can get a real-time view of your cluster from almost anywhere, Skooner is both powerful and popular — and it’s now a CNCF sandbox project, which may see missing features like multicluster support arrive in future.
If you’re already using OIDC to authenticate to your cluster you can use that to log into dashboards by adding the environment variables: if not, you can use service account tokens or a NodePort service. Skooner is easy to install and only runs one service but it does rely on metrics-server for real-time metrics. You can monitor and manage a range of cluster objects — namespaces, nodes, pods, replica sets, deployments, storage, RBAC configurations and workloads — see logs and documentation, edit resource with the YAML editor or SSH into a running pod using a terminal in your browser window.
Open source maintained by Weaveworks, Scope is a monitoring, visualization and management web platform for Docker and Kubernetes that automatically generates maps of your container infrastructure and specific applications to help you troubleshoot stability and performance issues. You can see topologies for processes, containers, orchestrators and hosts and drill in for details and metrics, or launch a command line to interact with containers if you want to do more than pause, stop, restart or delete.
Increasingly, developers need to do at least a modicum of Kubernetes operations. Lens is actually a desktop IDE that catalogs your Kubernetes cluster and lets you explore and create resources even in extremely large clusters with thousands of pods. Lens Desktop was originally created by VMware and then open sourced by Mirantis but there are also various commercial modules for security scanning and collaboration that integrate with it.
Getting set up is fairly straightforward because the installer uses the existing kubeconfig file on your device so you don’t have to set up extra permissions or authentication options. If you want to display metrics rather than a catalog view (think directories of files or Slack channels) that lets you view and edit pods, deployments, namespaces, storage, networks, jobs, custom resources and other objects in your cluster, you can configure it to work with Prometheus to see live statistics and real-time log streams. Developers can use Lens to install apps from Helm charts, edit objects in a terminal window rather than using kubectl or add a limited range of plugins for more functionality.
If you just want a view of a Kubernetes cluster in your IDE, Kubernator is a Visual Studio Code extension that gives you a Kubernetes object tree viewer and manifest editor — but no dashboards.
Originally developed by Heptio and adopted by VMware as part of its Tanzu project, Octant appears to no longer be in active development and it hasn’t reached a 1.0 release. However, it’s still popular and you may find it useful for visualizing cluster workloads, namespaces, metadata and other real-time information that developers need to get an overview of how applications run on the cluster — especially if you don’t have a deep knowledge of Kubernetes already.
Octant runs locally on the workstation you use to manage Kubernetes clusters so it doesn’t use up cluster resources (which will be especially welcome if you’re using k3s, KIND or similar options for getting Kubernetes on systems with minimal resources). Like Lens, it uses your kubeconfig file for setup.
Octant calls itself “a platform with a dashboard view” rather than a dashboard. The interface is organized into applications, an overview of the Kubernetes namespace, a cluster overview and a panel for your choice of plugins (the extensibility is one of the big advantages of Octant), with diagrams to show the structure of applications, label filtering to narrow down what you see and color coding to help you spot potential issues.
Kubernetes Operational View (KOV) is a read-only system dashboard that runs locally and designed to give you an overview of multiple clusters in one screen. The rather retro console-style GUI is actually written in WebGL. KOV isn’t designed as a Kubernetes Dashboard replacement because you can’t manage applications or interact with the cluster, but you can see status and resource usage at a glance.
You might already be using Prometheus to monitor containerized workloads since this graduated CNCF project is an extremely popular monitoring and alerting toolkit with service discovery for many tools and clouds and integrations for a wide range of applications, usually used in conjunction with Grafana for creating dashboards. Kubernetes exposes metrics directly in the Prometheus format through the kube-state-metrics service, so you can use it to monitor your Kubernetes infrastructure as well as container workloads. This Grafana template for setting up the Kubernetes monitoring dashboard is a quick way to get started — or you can use a tool like Lens to consume Prometheus metrics.
Prometheus is powerful, fully free and has an active community that can help you get up to speed. Bear in mind that is a system to collect and process metrics not an event logging system so you may prefer something like Grafana Loki for handling logs, and it’s not designed to store data for a long time, so it’s less useful for long-term trend analysis.