Introduction
Amazon Elastic Kubernetes Service (EKS) is a managed service that makes it easier to run Kubernetes workloads on AWS. It takes care of core components like the control plane, security patches, and scalability. While Kubernetes is known for its powerful CLI-based operations, visual tools like the EKS Dashboard play a vital role in helping teams manage and monitor clusters with better visibility.
In this article, we’ll explain what the EKS Dashboard is, how it works, its key features, how to set it up, and when you should consider using it.
What is the EKS Dashboard?
The EKS Dashboard refers to a web-based UI that helps you monitor and manage Kubernetes resources running on Amazon EKS. It’s essentially the Kubernetes Dashboard deployed on top of an EKS cluster.
While AWS does not provide a native dashboard UI as part of EKS by default, the open-source Kubernetes Dashboard can be installed manually and configured to work with EKS clusters.
This dashboard allows users to:
- View the health of pods, nodes, and deployments.
- Manage workloads such as deployments and replica sets.
- Monitor logs and metrics.
- Access resource details without writing
kubectl
commands.
It’s particularly useful for developers and operations teams who prefer a visual interface over a command-line experience when troubleshooting or checking cluster activity.
Why Use a Dashboard in EKS?
Even though EKS works well with AWS-native services like CloudWatch, CloudTrail, and Prometheus for observability, setting up a Kubernetes Dashboard can be helpful for:
1. Visual Monitoring: Quickly seeing what’s running in your cluster and identifying issues like crash loops or failed deployments.
2. Faster Troubleshooting: View logs, events, and resource statuses in one place without switching tools.
3. Resource Management: Create, edit, or delete Kubernetes resources directly from the UI.
4. Team Collaboration: Allow developers or QA teams to explore workloads without giving full command-line access.
Key Features of the Kubernetes Dashboard in EKS
Here are some of the main features that make the EKS Dashboard useful:
1. Cluster Overview
Displays a summary of the cluster’s resources, including CPU and memory usage, running nodes, namespaces, and resource status.
2. Workload Management
You can view and manage Deployments, StatefulSets, ReplicaSets, DaemonSets, Jobs, and CronJobs.
3. Pod Monitoring
Lists all running pods along with their health, status, and recent events. You can also inspect pod logs and restart failed pods.
4. Role-Based Access Control (RBAC) Support
The dashboard integrates with Kubernetes RBAC, allowing fine-grained access control over who can view or manage specific resources.
5. Namespaces Filtering
Toggle between different namespaces to focus on specific environments like dev, staging, or production.
6. Logs and Events
Access real-time logs and event data to troubleshoot application issues.
How to Set Up Kubernetes Dashboard on EKS
While AWS does not provide a managed dashboard out-of-the-box, you can deploy the open-source Kubernetes Dashboard manually using these steps:
Step 1: Deploy the Dashboard
Use kubectl
to apply the recommended Kubernetes Dashboard YAML:
bash
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
Step 2: Create a Service Account
Create a service account and cluster role binding to access the dashboard:
bash
kubectl apply -f eks-admin-service-account.yaml
Where eks-admin-service-account.yaml contains:
yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: eks-admin
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: eks-admin
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: eks-admin
namespace: kube-system
Step 3: Get Access Token
Run the following to get a login token:
bash
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep eks-admin | awk '{print $1}')
Step 4: Access the Dashboard
Start the proxy:
bash
kubectl proxy
Then go to:
bash
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
Log in with the token from Step 3.
If this still feels overwhelming, reach out for Kubernetes consulting services to get expert support with setting up the EKS Dashboard.
Security Considerations To Follow With EKS Dashboard in AWS
When running the dashboard in production:
- Avoid assigning full admin access to all users.
- Use Kubernetes RBAC to restrict permissions.
- Use authentication methods like AWS IAM or OIDC with the dashboard.
- Limit dashboard access via secure tunneling or internal networks.
When Should You Use the EKS Dashboard?
The EKS Dashboard is ideal for:
- Small teams managing early-stage EKS clusters.
- Developers needing visual insight into workloads.
- QA or support teams with limited command-line experience.
However, for large production environments, it’s better to rely on Kubernetes DevOps tools like Amazon CloudWatch, Prometheus with Grafana, or AWS OpenSearch for detailed observability and alerting.
Final Thoughts
While Amazon EKS does not include a built-in dashboard, the open-source Kubernetes Dashboard can be a valuable addition. It simplifies management, enhances visibility, and supports faster troubleshooting. Setting it up takes just a few steps, and with proper access control, it can be safely used even in controlled production environments.
If you’re planning to implement EKS or set up a secure Kubernetes dashboard, it’s best to work with DevOps consultants who can help tailor the setup to your infrastructure needs while keeping best practices in place.
Top comments (0)