Kubernetes Dashboards and Portainer

by Neil Cresswell, on July 28, 2021

There has been a lot of fanfare in the Kubernetes community around the plethora of "dashboards" that are available, and seemingly making the life of a Developer / DevOps Engineer monumentally easy.

By "dashboard", I mean Lens, Octant, Headlamp, Kubernetes Dashboard, and in some regards, also the Rancher Cluster Explorer as well as many others. All of these dashboards are trying to do one thing; present what's available via the Kubernetes API in a graphical way, and in a way that makes it simpler to see what's going on under the covers without actually having to remember the KubeCTL commands to do so. Most of these tools are installed locally on a users machine, however a few are deployed by an admin centrally and accessed by users via a browser. There are even a few SaaS dashboard offerings out there (although for something so simple, I'm not sure why you need a SaaS version).

Our assessment of these dashboards is that their UX and features are remarkably similar. Lens, with its 'plugin' architecture is probably the most advanced, as it allows other ISVs to extend the base functionality to support additional dashboard operations. Unless you use this Lens feature, pretty much any of the dashboards could be swapped with another, and you wouldn't really notice any change in functionality. Sure there are slight differences between the dashboards (can see all workloads across all namespaces vs can only see workloads within a selected namespace, as an example), but materially, there are no major differences.

Make no mistake, we here at Portainer are great fans of dashboards, it's where we started life, being a Docker Dashboard (and to this day, we remain a very strong Docker dashboard), however where we diverge from the common school of thought is that we believe Kubernetes is overly complicated for a straight 1:1 abstraction of API to GUI, and that with all of these dashboards, if you don't know Kubernetes (or how to write YAML files) you can't really get started.

In Portainer, we created a higher level abstraction in our Kubernetes UI so that as long as you know Docker (think Docker on your laptop) then you can deploy, manage and maintain your applications in Kubernetes, without first having to learn the inner workings and finer details of Kubernetes. We call this our "getting started" or "Kubernetes onramp" experience, and it's what you use when you deploy an app via our form-based deployment page. Of course, not everyone wants this level of abstraction, so we also have an "advanced mode" button, which lets you deploy any Kubernetes manifest of your choosing (from git or by directly pasting in the YAML).

Screenshot for Kubernetes Dashboard blog

We realise that this might not be all you want, and that you may actually have your own personal preferences in regards to using one of the aforementioned dashboards, or even KubeCTL on your PC natively. This may even extend to using your own CD deployment tool where DevOps have this flexibility. This is what we call "bring your own tooling", and as everyone wants to maximise the efficiency of Developers/DevOps/Ops, if BYOT is how to get this, why should we stop that?

You will soon see (in Portainer CE 2.9, due to be released in October for KubeCon USA), the ability to use Portainer (itself) as a Kubernetes endpoint, allowing you to use ANY dashboard or CD tool to manage environments under Portainer control. We will also provide you with access to KubeCTL directly inside Portainer, so you can run commands directly against Kubernetes endpoints (within the limits of your assigned permissions).

So, what is Portainer's value proposition here, especially if users don't actually use Portainer, and instead prefer using other dashboards ... well that's simple, its what's always been our value proposition; centralised management, control, and governance. Portainer still acts as a centralised IAM, authenticating users, assigning roles and setting access control across all your environments, regardless of how many clusters you manage, on-prem, cloud, or edge. If you want to onboard Kubernetes (or Docker) quickly, grant users access, specify RBAC rules centrally, then Portainer is for you. We will also always retain and continue to enhance our "getting started" experience, so as to make the power of containers available to everyone, not just those that can afford to retrain in Kubernetes.

As always. comments welcome.



Interested in running Portainer in a business environment?

Portainer Business is our fully featured, fully supported business product. It is used by some of the largest organizations in the world to deliver a powerful self-service container management experience for developers and IT teams. With more than 500,000 active users, Portainer is proven to be the simplest and most effective way of managing Docker, Swarm, and Kubernetes environments.


Topics:kubernetesContainer Service Delivery