Kubernetes with its container orchestration architecture in recent years has become a standard for organizations embracing containers and microservices.
Kubernetes provides various tools and features that can be implemented to figure out which microservices are creating problems so cluster admins can check the logs to resolve the issues.
This process is easy when you are working on a small scale but becomes challenging when you have Kubernetes running in production. In these scenarios, users require an interactive interface that makes it easy to manage clusters.
This blog post aims to share some of those user interface (UI) tools that allow easy interaction with your Kubernetes components while providing insights into what’s happening in the Kubernetes clusters.
Kubevious
Kubevious is a browser-based Kubernetes UI that can be implemented by users to easily manage their containerized applications while rendering out all the necessary details and configurations in a single place.
Kubevious supports all major Kubernetes distributions and can be implemented at any stage of your container orchestration strategy. It shows all the labels connected to your pods and services while eliminating the need to look for configuration files.
Kubevious UI which has a very application-centric view can list all the namespaces by easily identifying the desired Deployments, pods, and services. This is very helpful when cluster admins have to detect configuration errors and have a look at cluster configs for editing.
Kubevious also provides the ability to visualize RBAC roles and role bindings at a single place which helps in determining the access control for each cluster on the fly.
Another feature that makes Kubevious really interesting is Time Machine which can help resolve configuration errors by allowing users to have a look at past configuration files.
Kubevious really helps in navigating between cluster components and also helps in debugging many Kubernetes issues easily. For more information on Kubevious, you can visit our official GitHub Repository.
Lens
Lens is one of the powerful Kubernetes UI that was developed by Kontena Inc to simplify cluster management at scale for users who are just getting started in their K8s journey.
Lens is based as a desktop application that can be easily run on Windows, Mac, and Linux to connect to a local K8s Cluster while adding a custom configuration through kube configuration.
After connecting clusters, Lens provides a cluster overview of the resources used within the cluster and provides a list of the last seen events in the cluster. Pod navigation is also available, which provides an overview of pods as you move through the list.
Lens can be a nice option for your Kubernetes clusters because of its ability to filter out the cluster labels at one click. It automatically extracts contents from kubeconfig which is used to authenticate and discover clusters.
Lens also provides access to a built-in terminal in case users want to invoke kubectl commands for debugging and troubleshooting. But the major highlight is its seamless integration with Prometheus which exposes the supported metrics.
Integration with Prometheus works very well and instantly displays cluster and components metrics. Developers can quickly figure out which clusters are consuming excess resources.
Lens became an open-source project after the Mirantis acquisition which is the reason there is no paid version. However, new releases and bug fixes are available frequently.
With its first commit in Jan 2020, Kubenav is not considered the most mature and popular Kubernetes UI, but its cross platform functionality with almost all the platforms, whether it’s Windows,macOS, Linux, iOS, and Android makes it one of the best Kubernetes UI.
Kubenav being an early-stage project is rich in features. Users can easily manage clusters through its iconic framework, which provides the same navigation experience, whether it’s desktop or mobile client.
The navigation menu is also very easy to use which puts Kubernetes resources into easy to use categories. Resources can be easily filtered by namespaces that provide easy configuration of those resources based on Kubernetes clusters’ needs.
Log and terminal access are available through windows which are categorized under tabs. Users can also open windows for any resource logs.
Kubenav is the best suited for users if they want to see all the resource information without the use of a terminal. Kubenav supports almost every resource with UI while providing a mobile client for Kubernetes which can be very helpful depending upon the scenario.
Octant
Octant is an open-source web-based Kubernetes UI built by VMWare Tanzu for creating and modifying Kubernetes resources on your cluster. Octant UI dashboard gives an overview of applications running on the cluster and helps developers understand what is happening with the cluster.
Octant is so portable as a VMware open source project that it supports Windows, Mac Linux, and even Raspberry Pi (because of its Linux ARM binary )
Running and installing the Octant dashboard is very easy.; it almost requires no installation other than running the octant command. Once it’s running, it will read the cluster configuration from KUBECONFIG.
After installation, users are welcomed with an organized and well-ordered summary of cluster resources, which provide visibility on how their application is running. Navigation inside Octant UI is also very comfortable.
Users can easily switch contexts between different Kubernetes Cluster through a drop-down. The filtering of namespaces is also very helpful when searching specific deployments for troubleshooting.
Tabs in Octant gives a quick overview of different resources that are associated with clusters. For example-The YAML tab, which is used for listing configuration files, can be searched right in the browser.
There is also a standout feature that makes Octant different from others is its plugin creation through its UI. Plugins can be designed based on the information needed for the interface. For example, a Helm or Jenkins plugin is available for Octant.
K9s
K9s is a terminal-based UI that provides feature-rich Vim based controls for managing Kubernetes resources. It provides all the functionality of kubectl without requiring to type all commands for deployment.
You can easily port-forward and view logs in plain text while editing resources and narrowing down deployments.
The hierarchical approach of K9s is very natural and follows an architectural design through the usage of / to filter out contexts. This approach basically works on any Kubernetes component irrespective of where you are in the UI.
K9s is great for users who like to stick to their keyboard and their commands. For users who are looking forward to navigate resources using a mouse, this is not a great option.
Final Words-Which one to choose?
It depends. If you want a UI that provides shortcuts or takes less time to load, K9s might be a tool for you. If you like to integrate plugins, give Octant a try, Clients looking for ease of use, stability, or features should go for Lens or Kubevious, and if cross-platform functionality between mobiles is important then Kubenav will not disappoint.