Kubernetes Dashboard is a web-based user interface for performing Kubernetes operations. It helps to get a brief overview of workloads running in the cluster. With a Kubernetes dashboard, one can visualize Kubernetes(K8s) applications, monitor the performance, manage the cluster resources, and enable team collaboration between Developers and DevOps teams. As per the state of Kubernetes 2022 report by Vmware, the increase in the adoption of Kubernetes brings domain complexities into the process.
In this blog, we will talk about
- the need for a Kubernetes dashboard,
- the features provided by Devtron’s Kubernetes dashboard, and
- how it can help you in Kubernetes management.
Why is there a need for Kubernetes dashboard?
Kubernetes comes with a command line utility called “kubectl”. It is efficient enough to perform routine activities like deploying, updating, deleting, monitoring, and debugging within a cluster and on Kubernetes objects. Developers have to expend additional time and resources to learn an extra set of commands to debug in case of an issue in their application. It also becomes challenging to monitor and observe resources when dealing with Kubernetes at scale, especially in multi-cluster deployments.
To solve all these challenges and accelerate software development, Kubernetes Dashboard was born. It provides a graphical user interface to manage your Kubernetes applications and clusters, making it really easy for developers to use. The K8s dashboard improves collaboration between the DevOps and developers by providing resource visibility and control, thus increasing productivity.
Why the standard Kubernetes dashboard falls short of expectations?
The vanilla Kubernetes dashboard provides essential features suitable for small-scale use cases. Though the community heavily uses it, it still has few challenges that we have listed down which you might face with the standard dashboard by Kubernetes.
- Unsupported multi-cluster and multi-cloud view: The standard Kubernetes Dashboard doesn't support a multi-cluster view because it is designed with namespace first. This increases complexity at scale.
- Manual RBAC: Kubernetes dashboards have RBAC that needs to be managed manually using a token or the kubeconfig file. In the case of Devtron, it has centralized access management wherein users don’t have to deal with RBAC or Kubeconfig files.
- No SSO: The traditional Kubernetes dashboard doesn’t support SSO Login services, whereas it is a standard feature in Devtron’s Kubernetes Dashboard.
- Complex node management: Users have to edit the entire Node manifest to make any changes, which is error-prone and cumbersome. With Devtron, one can efficiently perform node operations such as adding a taint, cordoning a node, etc., from the dashboard. However, Devtron also allows to access and edit the Node manifest for cases requiring advanced customization.
- Absent cluster terminal access: In the traditional Kubernetes dashboard, users cannot use CLI tools like Netshot, Busybox, K9s, etc., for debugging clusters if required. Kubernetes dashboard by Devtron comes with cluster terminal access that helps users easily debug and troubleshoot cluster issues.
- Unsupported Helm release management & resource grouping: The vanilla Kubernetes dashboard doesn't provide any features to simplify the Helm release lifecycle but Devtron’s K8s dashboard supports Helm release management and provides an efficient way to deploy and observe helm charts.
Presenting the Kubernetes Dashboard by Devtron
The Kubernetes dashboard offered by Devtron is an open-source and has multiple features that are not available in the standard dashboard on Kubernetes. From providing a comprehensive overview of Kubernetes resources deployed across multiple clusters to an intuitive user interface that enables development and operations teams to interact with Kubernetes clusters and collaborate, Devtron’s Kubernetes dashboard helps accelerate an organization’s maturity of operation on Kubernetes.
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 to manage your clusters and k8s applications.
Let’s dive deep into the features that Devtron has to offer.
K8s Clusters Management
Kubernetes dashboard by Devtron provides a brief overview of clusters added to the dashboard and helps you monitor the cluster performance. It gives the real-time node health status and summary of nodes, including resources usages, labels, annotations, taints, pods on each node, and a lot more.
The dashboard also helps you perform node operations such as:
- cordon a node,
- drain a node,
- taint a node,
- debug node/cluster using cluster access terminal,
- edit the node manifest,
- delete a node from the Kubernetes dashboard.
K8s Application Management
The Kubernetes dashboard by Devtron comes with a dedicated K8s Resource Browser which provides a detailed overview of all k8s resources deployed in a cluster. The resource browser aggregates all k8s resources within a cluster and helps you quickly troubleshoot & debug from the intuitive dashboard.
With the k8s resource browser, you can easily navigate across multiple clusters and filter resources by using the namespace filter, as highlighted in the image. It also allows you to create new resources through the K8s manifest. The resource browser helps you perform pod operations such as:
- check live manifest, edit & apply manifest changes,
- check events,
- view real-time logs,
- exec into a terminal, and
- delete resources and all that from the browser window.
Helm Release Management
The Kubernetes dashboard by Devtron is packaged with Helm Release Management and helps you deploy any helm chart directly to your cluster from the dashboard. It provides easy access to manage the entire lifecycle of a helm release. Though helm is great at packaging K8s applications, it needs some catch-up regarding debugging and troubleshooting applications using Helm CLI.
Helm CLI poses multiple challenges while managing the lifecycle of helm apps, like the absence of real-time monitoring, the inability to group resources, and no way to compare deployment values across multi-cluster deployments and a lot more. But the Devtron Kubernetes dashboard has addressed the complexities and challenges of Helm CLI.
The dashboard provides a brief overview of helm apps deployed across multiple clusters and is rich in features such as:
- real-time applications status,
- grep logs across multiple pods with Log Analyzer,
- k8s resource grouping at the application level,
- check real-time logs of pods, check events, manifests,
- exec into pod shell for easier debugging,
- check configuration diff of helm charts deployed,
- easy rollback with config details of each helm chart revision,
- easily deploy and upgrade helm charts and a lot more.
Conclusion
The Kubernetes dashboard by Devtron is a holistic tool for Kubernetes management that takes care of all aspects of managing Kubernetes through a dashboard. We would love to hear your thoughts on the dashboard. Feel free to join the devtron discord community and give it a star if it helped ease your journey into Kubernetes or improved your day-to-day operations.