DEV Community

Shivam Agnihotri
Shivam Agnihotri

Posted on

Exploring Kubernetes Dashboard - A Powerful UI for Kubernetes : Day 11 of 50 days DevOps Tools Series

Introduction

Welcome to Day 11 of our 50 Days DevOps Tools series! Today, we will explore Kubernetes Dashboard, another powerful user interface for managing Kubernetes clusters. Kubernetes Dashboard is a popular, open-source web-based UI that allows you to manage and troubleshoot applications running in your Kubernetes clusters. In addition to understanding its features, we will compare it with Headlamp, which we covered yesterday, to help you decide which tool is more suitable for your needs.

What is Kubernetes Dashboard?

Kubernetes Dashboard is an official web-based user interface provided by the Kubernetes community. It allows you to deploy containerized applications to a Kubernetes cluster, troubleshoot those applications, and manage the cluster itself. The dashboard provides an easy way to access and interact with the cluster, offering both a visual interface and the ability to perform tasks that would otherwise require command-line tools.

Key Features of Kubernetes Dashboard

Cluster Management: Provides a graphical interface to manage Kubernetes clusters.
Resource Overview: Visualize the health and status of your cluster resources.
Deployment Management: Deploy and manage applications directly from the UI.
Resource Creation: Create and edit Kubernetes resources such as pods, deployments, and services.
Access Control: Manage user access and permissions.
Real-Time Metrics: Monitor resource usage and performance metrics.

Benefits of Using Kubernetes Dashboard

User-Friendly: Simplifies complex Kubernetes management tasks with a visual interface.
Quick Access: Provides a centralized platform to view and manage cluster resources.
Efficient Troubleshooting: Helps identify and resolve issues quickly with real-time metrics and logs.
Deployment Simplification: Allows for easy deployment and management of applications.

Installation Methods
Here’s how to install and set up Kubernetes Dashboard using the official method.

Installing Kubernetes Dashboard

Deploy the Dashboard:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
Enter fullscreen mode Exit fullscreen mode

Creating a Service Account:

kubectl create serviceaccount dashboard-admin-sa
kubectl create clusterrolebinding dashboard-admin-sa --clusterrole=cluster-admin --serviceaccount=default:dashboard-admin-sa
Enter fullscreen mode Exit fullscreen mode

Retrieve the Bearer Token:

kubectl get secret $(kubectl get serviceaccount dashboard-admin-sa -o jsonpath="{.secrets[0].name}") -o go-template="{{.data.token | base64decode}}"
Enter fullscreen mode Exit fullscreen mode

Start the proxy server to access the Dashboard:

kubectl proxy
Enter fullscreen mode Exit fullscreen mode

Open the following URL in your web browser:

http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
Enter fullscreen mode Exit fullscreen mode

Login to the Dashboard:

Use the bearer token retrieved in previous step to log in to the dashboard.

Comparing Kubernetes Dashboard and Headlamp

Both Kubernetes Dashboard and Headlamp are powerful tools for managing Kubernetes clusters, but they have distinct features and advantages.

Kubernetes Dashboard

Official Tool: Developed and maintained by the Kubernetes community.
Deployment and Management: Strong emphasis on deploying and managing applications.
Access Control: Comprehensive user management and access control features.
Real-Time Metrics: Provides detailed metrics and performance monitoring.

Headlamp

Ease of Use: More user-friendly with a focus on simplicity and ease of navigation.
Extensibility: Supports plugins to extend functionality.
Multiple Cluster Support: Manage multiple clusters from a single interface.
Lightweight: Designed to be lightweight and easy to deploy.

When to Use Which?

Use Kubernetes Dashboard When:

You Need Official Support: Prefer a tool developed and maintained by the Kubernetes community.
Comprehensive Access Control: Require detailed access control and user management.
Detailed Metrics: Need in-depth performance monitoring and real-time metrics.

Use Headlamp When:

Prefer a more user-friendly and intuitive interface.
Plugin Support: Need to extend functionality with plugins.
Multiple Clusters: Need to manage multiple Kubernetes clusters from one interface.
Resource Constraints: Require a lightweight tool that is easy to deploy and manage.

Conclusion

Both Kubernetes Dashboard and Headlamp offer valuable features for managing Kubernetes clusters. Your choice will depend on your specific needs and preferences. Kubernetes Dashboard is an official, feature-rich tool with robust access control and metrics, while Headlamp offers ease of use, extensibility, and support for multiple clusters.

From tomorrow, we will explore tools that enhance our productivity and make us more advanced in the DevOps. Stay tuned!

πŸ”„ Subscribe to our blog to get notifications on upcoming posts.

πŸ‘‰ Be sure to follow me on LinkedIn for the latest updates: Shiivam Agnihotri

Top comments (0)