There has been a lot of fanfare in the Kubernetes community around the plethora of "dashboards" that are available, and which one is the best Kubernetes dashboard that can seemingly make 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 user's 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, at Portainer, we 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 these dashboards, if you don't know Kubernetes (or how to write YAML files) you can't really get started.
Getting Started with Kubernetes
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, which 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).
We realize 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 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 maximize the efficiency of Developers/DevOps/Ops, if BYOT is how to get this, why should we stop that?
In Portainer CE 2.9, we added 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 also provided 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? Simple, Portainer is a Kubernetes management platform that provides centralized management, control, and governance for enterprise Kubernetes management (as well as Docker/Swarm and Nomad).
Portainer still acts as a centralized IAM, authenticating users, assigning roles, and setting access control across all your environments, regardless of how many clusters you manage, on-prem, in the cloud, or at the edge. If you want to onboard Kubernetes (or Docker) quickly, grant users access, and specify RBAC rules centrally, then Portainer is for you. We will always retain, and continue to enhance our "getting started" experience, to make the power of containers available to everyone.
As always. comments welcome.
Neil