In today's software industry whenever one thinks about achieving scalability and high availability, the first name that comes to mind is Kubernetes. Kubernetes is quite well known for two reasons: firstly the capabilities it provides like scalability and high availability of services and the complexities of managing the Kubernetes empire. Nowadays most organizations that adopted Kubernetes are facing similar challenges most of them say How to manage the huge fleet of Kubernetes clusters. These organizations started with a single Kubernetes cluster and few services running over it. But, with the scale the single Kubernetes cluster now has changed to 100’s, and few services have been replaced by hundreds/thousands. Managing these many Kubernetes clusters and services by command line tools like kubectl is a real pain, with these tools teams have to constantly struggle with lack of visibility, complex commands, context switching, etc. Managing multiple clusters through command-line tools introduces challenges such as operational intricacies, risks of misconfigurations, unexpected downtimes, and potential security vulnerabilities.
To manage the fleet of Kubernetes clusters and their services what can help is a dashboard, a single pane of glass with capabilities like:
- Visibility across multiple Kubernetes clusters
- Allows users to manage Kubernetes through UI
- Capabilities to manage applications/services
- User access management
To provide all these capabilities there was the rise of Kubernetes dashboards, these dashboards aim to help users manage their Kubernetes infrastructures. In this blog, we will be comparing two Kubernetes dashboards, Devtron and Skooner.
Devtron
Devtron is an open-source project designed to be a single platform for teams to manage multiple Kubernetes clusters and the entire life cycle of applications. The Resource Browser entity of Devtron is a full-fledged Kubernetes dashboard, it helps teams to manage multiple Kubernetes clusters with ease and without the intricacies of command line tools. Devtron comes with some powerful integrations, these integrations enable features like CI/CD, GitOps, Security, Notifications, and Monitoring for Kubernetes clusters and applications. Moreover, other features like policy-driven pipelines, deployment windows, and approval before deployment help organizations maintain stable production servers.
To read more about Devtron, please refer to their documentation and the GitHub repository.
Skooner
Skooner is a sandbox CNCF project, previously it was known by the name K8dash. Skooner a dashboard for Kubernetes brings the capabilities like managing Kubernetes clusters and workloads. With Skooner teams can gain visibility for their Kubernetes cluster and take actions accordingly. Skooner does not come with any kind of integration, it's just a Kubernetes dashboard and unfortunately these days it's not being maintained.
To read more about Devtron, please refer to their documentation and the GitHub repository.
Let’s compare these Kubernetes dashboards and understand what are their capabilities when it comes to managing the scale of Kubernetes clusters and their workloads. We will take a look at each feature that a Kubernetes dashboard should have like how efficiently it can manage multiple Kubernetes clusters, what are the features for application management, how they help in managing user access across multiple clusters, and how easily users can navigate through the dashboard.
Kubernetes Cluster Management
Organizations spin multiple Kubernetes clusters across regions to achieve the scale and high availability of services. All these prod servers are highly critical and a small amount of misconfiguration can cost organizations major loss. Managing these clusters using command line tools is completely not feasible as there is no visibility and the navigation among cluster resources is tedious and complex. The Kubernetes dashboard should be the one to abstract all these complexities and allow users and teams to collaborate easily.
Kubernetes Cluster Overview
Devtron
The Kubernetes dashboard of Devtron lists out multiple Kubernetes clusters along with the CONNECTION STATUS, NODES, NODES ERRORS, K8S VERSION, CPU CAPACITY, and MEMORY CAPACITY of each Kubernetes cluster.
On navigating to the specific Kubernetes cluster from the dashboard we get a complete overview of the Kubernetes cluster.
- We can visualize some insights into our Kubernetes cluster like resource allocations and utilization by nodes attached to specific clusters.
- Devtron Kubernetes dashboard also has a Readme file attached to each Kubernetes cluster. The readme file is handy, as we can note down the cluster metadata like 'purpose of specific Kubernetes cluster', 'information regarding node groups', and 'note down the cluster management task'. Overall the readme file helps teams to collaborate in a better way.
- To audit cluster creation, the Devtron Kubernetes dashboard provides information such as the date of creation and the cluster creator.
Skooner
- Once the Skooner dashboard is installed, we can visualize some cluster metrics like Nodes, Node CPU USE, NODE RAM USE, PODS, POD CPU USE, POD RAM USE, etc.
- On the same tab, Skooner provides the visualization for some workloads of the Kubernetes cluster, where we get the info like Uptime, Reason, and Events.
Kubernetes Nodes
Devtron
- Devtron's Kubernetes dashboard provides 360-degree visibility for Kubernetes nodes. The Node Overview section provides crucial metadata like the K8s version of the node, Created at, Internal IP, and External IP for the node.
- It helps us to visualize the node insights like resource utilization of specific nodes, labels, annotations, and taints attached to the node. Moreover, we can also see details of the pods associated with that node.
- For managing the Nodes of our Kubernetes cluster, we get the capability to execute operations like edit live YAML, Node Conditions, Debug (Devtron provides a dedicated terminal for each node), Cordon, Drain, Edit taints, Create Resources, and Delete.
Skooner
- By navigating to each node we can visualize the metadata of the node and the workloads associated with specific nodes.
- In the NODES tab, we can visualize the node condition. The Nodes tab shows the available nodes, their AGE, LABELS, STATUS, CPU requests and limits, and RAM requests and limits.
Kubernetes Workloads
Devtron
- A production-grade Kubernetes cluster may consist 'n' number of Kubernetes workloads, spread across multiple namespaces. Devtron's Kubernetes dashboard brings them on a single pane of glass which helps teams to navigate quickly across multiple namespaces while debugging.
- It logically lists workloads like CronJob, DeamonSet, Deployment, Job, Pod, ReplicaSet, Replication Controller, and StatefulSet. Other resources of our Kubernetes clusters are being listed accordingly under sections like Config & Storage, Networking, RBAC, Administration, Other Resources, and Custom Resources.
- In case teams have to operate over the Kubernetes workloads say Pods, Devtron’s Kubernetes dashboard provides the advanced capabilities. Teams can execute actions like visualizing and editing live Manifest, checking Events and logs, and a dedicated Terminal for debugging specific pods.
- When debugging any cluster events, it can often get tricky to understand the problems. Devtron has a built-in AI feature that will analyze the cluster events and assist you in gaining actionable insights to resolve the errors.
Skooner
- Skooner provides a separate tab 'WORKLOADS', where we get options to manage Kubernetes workloads like SERVICES, REPLICAS, PODS, INGRESSES, and, CONFIG.
- If teams need to operate on POD, with Skooner’s Kubernetes dashboard teams get capabilities like looking into logs, Exec in the container for troubleshooting, Edit pod manifest, and Delete the pod.
Capability | Devtron | Skooner |
---|---|---|
Multicluster Management | ✅ | ❌ |
Terminal Support for Kubernetes Nodes | ✅ | ❌ |
Real-time Logs | ✅ | ✅ |
Advance debugging options (Ephemeral Containers) | ✅ | ❌ |
Dedicated Panel for Cluster Resource Monitoring | ✅ | ✅ |
Preconfigured RBAC Access Management | ✅ | ❌ |
Resource Grouping of all K8s resources present in Cluster | ✅ | ✅ |
Kubernetes Application Management
In production-grade Kubernetes clusters where every action is critical teams need to manage a huge fleet of applications that are spread across multiple Kubernetes clusters. The very common issue for application management is once the deployment has been completed the actual status of the application is not visible to the teams. Moreover while debugging the applications teams again need to struggle with a lack of visibility on command line tools, and with a constant risk of misconfiguration.
Application Deployment Capabilities
Devtron
The Devtron Kubernetes dashboard enables teams to create, deploy, and manage their Helm applications over multiple Kubernetes clusters.
- To know how to deploy a new Helm application you can refer to this blog.
- The Devtron dashboard provides an entity named 'Chart Store' which is a marketplace for Helm applications. From the 'Chart Store' teams can choose the required one, twist the configurations accordingly, and hit the deploy button.
- Even if teams want to deploy their own Helm applications they can configure their own Helm registry to Devtron and all their charts will be available at Chart Store.
Skooner
- Skooner Kubernetes dashboard does not have capabilities that allow teams to deploy their applications to the Kubernetes cluster through the dashboard interface.
Managing Applications Over Multiple Kubernetes Cluster
Devtron
- Application deployed through Chart Store, or for existing Helm applications in the Kubernetes cluster, all Helm applications can be managed using the Helm Apps tab of Devtron's Kubernetes dashboard.
- Devtron's Kubernetes dashboard provides complete 360-degree visibility for every application of the Kubernetes cluster, where teams can visualize the Application Status, Config apply status, and Deployment history for each application.
- All resources deployed with the Kubernetes application i.e. Deployment, Pod, Service, RBAC, and CRDs are logically grouped. This logical separation simplifies operations for teams by presenting a clear application hierarchy, eliminating the need to navigate through numerous Kubernetes resources.
- Devtron's Kubernetes dashboard provides some advanced capabilities like tracing the logs, terminal support for troubleshooting, tracing application events, and the capability to visualize and edit live application manifest.
- Moreover, Devtron also provides complete 360-degree visibility for your ArgoCD and Flux CD applications.
Skooner
- While Skooner has the capabilities to manage a Kubernetes cluster to a certain level, when it comes to managing the Applications over Kubernetes clusters Skooner fails. Being a Kubernetes dashboard Skooner cannot manage the Kubernetes applications separately.
- The resources of applications deployed like pods can be managed to a certain extent but when we operate in production it's not enough. Even if the resources can be managed the teams need to keep juggling with multiple resources to figure out the specific applications resources. So even if we adopt the Skooner for managing Kubernetes clusters teams still need to rely on command-line tools for application management.
Capability | Devtron | Skooner |
---|---|---|
Deploy Helm Charts from UI | ✅ | ❌ |
Default Charts Marketplace | ✅ | ❌ |
Add Custom Charts & Deploy | ✅ | ❌ |
Charts Configuration and Manifest Diff | ✅ | ❌ |
Easy Rollback | ✅ | ❌ |
Deployment History with Configs | ✅ | ❌ |
Resource Grouping at Application Level | ✅ | ❌ |
Exec into Pods | ✅ | ✅ |
Logs Analyzer to grep/view logs of pods | ✅ | ✅ |
RBAC Managed Access at Helm Charts Level | ✅ | ❌ |
Easy Charts Upgrade from UI | ✅ | ❌ |
GitOps-Based Charts Deployments | Possible with Integrations | ❌ |
Robust Access Management System
One of the most important aspects of managing a fleet of Kubernetes clusters is managing the proper access for all team members. Configuring a robust RBAC in Kubernetes clusters using a command line tool is just like releasing an arrow in the dark and expecting to hit the bull's eye. Imagine having a fleet of production-grade Kubernetes clusters where each environment is critical. At these Kubernetes clusters, you have to manage access for multiple teams and their members each one requiring a different and tailored access to ensure the security.
A Kubernetes dashboard should facilitate a simpler way to manage user access for a fleet of our Kubernetes clusters. The Kubernetes dashboard must be able to provide teams with an easy and efficient way to configure and manage robust access management for your multiple Kubernetes clusters and workloads.
Devtron
Devtron comes with a dedicated tab at Global Configurations for Authorization where teams can manage access for multiple members with robust RBAC, and that too in a few minutes to your Kubernetes infrastructure.
- Administrators can set up a robust Role-Based Access Control (RBAC) system through the dashboard's user-friendly interface.
- Administrators can define permission groups with specific roles and add users as needed, implementing the principle of least-privileged access.
- The dashboard allows for granular access control, enabling permissions to be narrowed down to specific Kubernetes cluster components.
- Developers can generate API tokens with fine-grained RBAC through the dashboard, providing a secure method for CLI access to application workloads.
- To simplify access to Devtron’s dashboard and eliminate the hassle of maintaining separate credentials, Devtron supports Single Sign-On (SSO) with seven options to choose from, catering to the needs of different teams.
Skooner
- For access management of the Kubernetes cluster, Skooner primarily provides visualization of existing roles and bindings without any capability for direct management.
- As a Kubernetes dashboard, Skooner lacks features to add new users or assign specific permissions effectively.
- Users must rely on YAML files to manage pre-configured roles and bindings in Skooner, similar to using command line tools.
- This limitation can create additional complexity and friction in the user access management process within Kubernetes environments.
Capability | Devtron | Skooner |
---|---|---|
SSO ( Github, Google, Gitlab, etc) | ✅ | ❌ |
Simplified Kubernetes RBAC through UI | ✅ | ❌ |
RBAC for Dashboard Access | ✅ | ❌ |
Time-based Access | ✅ | ❌ |
Team Collaboration | ✅ | ✅ |
Integrations
Integrations are something that makes the normal Kubernetes dashboard a tool that can be used by teams to manage the lifecycle of Kubernetes clusters and applications. The integrations remove the complexities and streamline the workflows, allowing teams to Centralize their operations.
Devtron
Devtron comes with a wide range of integrations, these integrations of Devtron take it from a Kubernetes dashboard to the single platform that you may require to manage your overall Kubernetes environments. The integrations of Devtron include Kubernetes native CI/CD for managing application life cycle, ArgoCD for facilitating GitOps-based deployments, support of Trivy and Clair for DevSecOps, Monitoring stack, and Notification. With enabling these integrations you can deploy your source code through CI/CD, manage the configuration through GitOps, ensure the security of applications with DevSecOps, and enable Monitoring and Notifications for your applications, moreover, you already have a Kubernetes dashboard to manage the Kubernetes infrastructure.
Skooner
Skooner currently offers zero integrations and we cannot expect some integration to get added as it’s not getting maintained anymore. Without integrations, teams will not be able to harness the power that a Kubernetes management platform and cloud-native ecosystem has and they need to manage things externally may be another dashboard for lifecycle management.
Conclusion
We have compared two open-source dashboards where one is from the CNCF landscape i.e. Skooner, based on the comparison we can see clear differentiation in capabilities. The above table makes things easier for us to understand, where we can say using Skooner as a Kubernetes dashboard to manage a fleet of Kubernetes clusters is not feasible. Skooner has a long way to be qualified as a tool to manage production-grade Kubernetes clusters, but the sad story is it's not being maintained. However, Devtron's dashboard stands out for the teams seeking a comprehensive solution. Devtron incorporates the capabilities of Skooner that too in a much better way and also extends functionality with its integrations such as CI/CD, GitOps, notifications, and vulnerability scanning. For organizations aiming to manage the full lifecycle of applications alongside Kubernetes infrastructure management, Devtron perfectly satisfies their use case, offering a more holistic approach.