Which Kubernetes Dashboard to choose: Devtron vs Octant

Kubernetes Dashboards are a web-based user interface for Kubernetes that helps users get an overview of workloads running in the cluster. With the Kubernetes dashboard, one can quickly create Kubernetes resources, monitor the performance, and manage the cluster resources visually. A Dashboard also enables team collaboration between Developers and DevOps teams.

In this blog, we will compare two widely used dashboards - Devtron and Octant. As Octant is limited in scope and Devtron covers a much wider range of capabilities, we will compare them on four standard features essential for a Kubernetes Dashboard- Cluster management, Kubernetes resource management, collaboration, and integrations.

Octant

It is an open-source web-based Kubernetes dashboard focused on providing the overview of Kubernetes resources within a cluster. It aims to become part of the developer toolkit and ease the process of inspecting a Kubernetes cluster along with its applications. It has additional features like - Resource Viewer, Port Forward, Cluster Navigation, Log Streams, and Plugin System to increase its capabilities beyond the standard components.

To learn more about Octant, please look at the documentation and visit the GitHub Repository.

Devtron

Devtron is a 100% open-source Kubernetes Dashboard that provides a detailed overview of your Kubernetes clusters and resources deployed on it. Devtron has an intuitive web interface that enables development and operations teams to interact with Kubernetes and collaborate to accelerate their software development journey.

The Kubernetes dashboard by Devtron comes with a wide range of features such as - helm release management, cluster terminal access, node operations from the dashboard, Kubernetes resource browser, cluster operations, and a lot more.

In addition to that, it offers the flexibility to integrate integrations such as CI/CD, GitOps, Security, Monitoring, etc. As the requirements for deployments increase Devtron is able to help DevOps manage the increasing demand for Kubernetes applications and clusters

For detailed information about Devtron, please visit the documentation and the GitHub Repository.

Feature Comparison

Let us compare them with the features that every Kubernetes Dashboard should have: Cluster management, Kubernetes resource management, collaboration, and integrations. We will also compare Devtron with Octant on how these features are implemented and which of them is easier and faster.

1. Cluster Management

Kubernetes Dashboard is meant to narrow down the management of multiple clusters and provide an easy way to debug and monitor multi-clusters. It should also allow users to exec into any node, provide the node health, enable basic node operations, and dedicated dashboard for resource monitoring.

Cluster management on Octant
Octant has a dedicated panel for cluster overview where one can see its nodes. However, you won’t be able to perform any operations on nodes, such as adding taints, cordon, etc, and you won’t be able to access the terminal to fire your traditional kubectl commands.

Octant's Cluster Overview Dashboard [1]
Octant Node Overview [2]
Octant Port-Forwards [3]

Cluster management on Devtron
Devtron has a dedicated dashboard for cluster overview where you can see all the clusters added along with standard information such as the number of nodes, k8s version, etc. Devtron also provides an overview of nodes, and enables users to perform all node operations such as adding taints, cordon a node, draining a node, editing node YAML, exec into a particular node, and executing the traditional kubectl, helm, etc commands within the cluster and debugging issues with the cluster/nodes. Read more about cluster-terminal access for a detailed understanding of cluster management with Devtron.

Multi-Cluster View [1]
Cluster Overview [2]
Node Overview [3]
Cluster Terminal [4]

2. Kubernetes Application Management

A Kubernetes Dashboard enables you to easily manage your application deployed, providing better visibility and troubleshooting capabilities for your applications. Let’s check out what Octant and Devtron have to offer on Kubernetes application management.

K8s Application management on Octant
Octant comes with a dedicated panel for applications where one can see all the workloads in a particular namespace within a cluster. It doesn’t show all the workloads within a cluster irrespective of namespaces; however, it allows you to filter k8s workloads depending upon the namespaces and list down all the workloads and resources under Namespace Overview as you can see in the below image.

Octant Application Overview

It does show the real-time status of applications and allows you to check multi-container logs, filter-out specific values from logs, and exec into a pod shell for any debugging if required. With Octant, you can check the manifest of resources and edit it immediately. Since Octant is meant to be installed on your local machine, it allows checking all the port-forwards within the cluster.

Workload Overview [1]
Pods Logs [2]
Exec into Pod [3]
Pods Overview [4]

K8s Application management on Devtron
Devtron provides a dedicated dashboard for k8s application management with some advanced features for troubleshooting and debugging. With Devtron, you get a 360-degree view of your application with features like resource grouping at the application level and the real-time status of your applications. Devtron comes with support for Helm Charts, which helps you deploy and manage all your helm applications with the Kubernetes Dashboard. Once you deploy any helm app, all the Kubernetes resources associated with it will be available in the same dashboard, as seen in the image below.

Apps Overview [1]
App Details [2]

With Devtron, you can check the real-time logs for specific pods or even multi-container logs are available and easily filter out any specific parameter from logs [1]. You can also exec into the terminal with your preferred shell (sh, bash, cmd, PowerShell) and start debugging if required [2].

Logs Analyzer [1]
Exec into Pod [2]

Devtron comes with some advanced features out of the box integrated within the dashboard to ease the life of developers and DevOps teams. With devtron, you can quickly check the diff of k8s workloads [1], the deployment history of helm charts deployed with values and one-click rollback [2], and even you can scale down workloads not in use to optimize the cost of infra [3].

K8s Workload Diff [1]
One Click Rollback [2]
Workload Scale Down [3]

3. Access Management

The main purpose of using a Kubernetes Dashboard is to eradicate the complexities that it brings with it so that different teams can collaborate and accelerate the software development value chain. For instance, with features like logs and shell, developers can easily debug if there’s any issue with their application without the intervention of DevOps teams.

Access Management in Octant
Octant doesn’t provide any features for cross-team collaborations. Different people can install octant in their local system and share the kubeconfig to work together, but that isn't a good approach for cross-team collaboration among developers. Though it does provide all the RBAC resources and can change context to multiple clusters but is not meant for cross-team collaboration.

Access Management in Devtron
Devtron has a  dedicated panel for Access Management where one can give access at different levels, i.e projects, environments deployed, at the application level, and even Kubernetes Resources at the cluster level. Devtron also allows you to create permission groups where you can stitch up a few permissions to create a standard set of permissions that can be given to users added. For example, for every new joiner in the team, you can give `view access` to some application that you want them to see and these permission groups can be directly assigned whenever you add a new user. You can also generate API Tokens to interact with the dashboard in a declarative way through its APIs.

In addition to that, Devtron comes with the support of several SSO Login Services, such as Google, GitHub, GitLab, etc for better team collaboration.

User Permissions [1]
SSO Integrations [2]

4. Platform Integrations/ Plugins

Plugins or integrations increase the platform’s capabilities and help to expand the capabilities of the  Kubernetes Dashboard. They simplify the use of multiple tools in tandem. Let’s see how flexible both dashboards are.

Integrations in Octant
Octant comes with plugin support to integrate helm, starboard, Knative, etc plugins built by the VMware team and the community. To test out, installed the helm plugin. We found that you can check the chart repositories, releases, the status of the chart deployed, the chart deployed revisions, notes that it prints, and the values.yaml file, which can be updated from the UI.

Helm Overview [1]
Helm Release [2]

Integrations in  Devtron
Devtron comes with a wide range of integrations that increases the dashboard’s capabilities depending on the use cases. With Devtron’s default integrations, you can enable Kubernetes-native CI/CD, DevSecOps, ArgoCD for GitOps-based deployments, Grafana for monitoring and Notifications. With its integrations enabled, you can directly deploy your source code to Kubernetes with integrated CI/CD. To learn more about Devtron, feel free to explore its GitHub Repository and its well-maintained documentation.

Devtron Stack Manager Overview [1]
Integrations Installation [2]

Conclusion

Kudos! You made it to the end. If you are looking for a lightweight platform to manage your local Kubernetes cluster with limited functionalities, Octant can be a good option, but if you are looking for something more robust and a collaborative platform with more features and to operate at scale, Devtron can be a better choice.

Feel free to explore Devtron. Star us if you liked the project.
Star