Today we are exploring an alternative dashboard for Kubernetes. It is less focused on drawing cluster and workloads status, but its main purpose is to ease bearing with all these large YAML files that compose our clusters.

First of all, kudos to smp.io for creating this (and many others) awesome tool.

Quick links

Kubernator UI

Kubernator shows in a clean, code-focused UI all objects in your cluster, including custom resource definitions (CRDs). They are classified by namespace and object type. In the editing area, you can edit YAML code, delete the object and also create a new one. As you can see in the screenshot, the editor is prepared to make suggestions, show changes and many more features that will delight every admin.

It also includes a RBAC viewer, with a schema of the relations between all roles and bindings:

RBAC viewer

I prefer not to expand more on the use of this tool as its own documentation is very easy and visual.

All right, let’s deploy it! As with other tools, I have made a Helm chart to auto-deploy it in your cluster. It is available at GitHub: https://github.com/nachomillangarcia/helm-chart-kubernator

helm install --name kubernator --set ingress.externalDnsName=<YOUR KUBERNATOR DNS> .

One caveat of Kubernator is that it is a client-side-only app. It connects directly with Kubernetes API. This means that with the normal deployment, you can only use it by executing kubectl proxy , no possibility for using an ingress.

I’ve made a workaround in the Helm chart to solve this, adding a container with kubectl to the pod and some ingress rules to redirect the queries to the API to that container.

So this chart includes deployment and service definitions, and also an ingress and RBAC objects to allow access from outside. It is very important to protect the ingress endpoint; you can always disable this feature (check README for instructions).

Kubernator has changed the way I bear with managing tons of YAML definitions everyday, I hope it helps you too. Enjoy!

ignaciomillan.com