Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Kubernetes dashboard
📖 Scenario: You are managing a Kubernetes cluster and want to set up the Kubernetes dashboard. This dashboard helps you see and manage your cluster resources visually through a web interface.
🎯 Goal: Set up the Kubernetes dashboard by deploying it, create a service account with admin rights, and access the dashboard using a secure token.
📋 What You'll Learn
Deploy the Kubernetes dashboard using the official YAML manifest
Create a service account named admin-user in the kubernetes-dashboard namespace
Bind the admin-user service account to the cluster-admin role
Retrieve the login token for the admin-user service account
Start the dashboard proxy to access the dashboard
💡 Why This Matters
🌍 Real World
Kubernetes dashboard is widely used by cluster administrators to monitor and manage cluster resources visually without using complex command-line commands.
💼 Career
Knowing how to deploy and secure the Kubernetes dashboard is a key skill for DevOps engineers and Kubernetes administrators to provide easy cluster management and troubleshooting.
Progress0 / 4 steps
1
Deploy the Kubernetes dashboard
Run the command kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml to deploy the Kubernetes dashboard in your cluster.
Kubernetes
Hint
This command downloads and applies the official dashboard manifest to your cluster.
2
Create the admin-user service account
Create a service account named admin-user in the kubernetes-dashboard namespace by running kubectl create serviceaccount admin-user -n kubernetes-dashboard.
Kubernetes
Hint
This creates a user that the dashboard can use to authenticate.
3
Bind admin-user to cluster-admin role
Bind the admin-user service account to the cluster-admin role by running kubectl create clusterrolebinding admin-user-binding --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:admin-user.
Kubernetes
Hint
This gives the admin-user full permissions to manage the cluster via the dashboard.
4
Get the admin-user token and start dashboard proxy
Run these two commands: kubectl -n kubernetes-dashboard get secret $(kubectl -n kubernetes-dashboard get sa/admin-user -o jsonpath='{.secrets[0].name}') -o jsonpath='{.data.token}' | base64 --decode to get the token, then kubectl proxy to start the proxy. Print the token value as output.
Kubernetes
Hint
The token lets you log in to the dashboard. The proxy command lets you access the dashboard securely on your local machine.
Practice
(1/5)
1. What is the primary purpose of the Kubernetes dashboard?
easy
A. To automatically scale pods based on CPU usage
B. To replace the kubectl command-line tool entirely
C. To serve as a container runtime for Kubernetes
D. To provide a web-based user interface for managing Kubernetes clusters
Solution
Step 1: Understand the role of Kubernetes dashboard
The dashboard is designed as a web UI to help users visually manage and monitor their Kubernetes clusters.
Step 2: Compare with other Kubernetes components
It does not replace kubectl, nor does it handle scaling or container runtime tasks.
Final Answer:
To provide a web-based user interface for managing Kubernetes clusters -> Option D
Quick Check:
Kubernetes dashboard = Web UI for cluster management [OK]
2. Which command correctly installs the Kubernetes dashboard?
easy
A. kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
B. kubectl create dashboard
C. kubectl run dashboard --image=kubernetes/dashboard
D. kubectl install dashboard
Solution
Step 1: Identify the installation method for the dashboard
The official way to install the Kubernetes dashboard is by applying the recommended YAML manifest from the official GitHub repository.
Step 2: Verify the command syntax
kubectl apply -f [URL] is the correct syntax to apply a manifest file from a URL.
Final Answer:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml -> Option A
Quick Check:
Install dashboard = kubectl apply -f URL [OK]
Hint: Use kubectl apply with official dashboard YAML URL [OK]
Common Mistakes:
Using kubectl create instead of apply
Trying kubectl run which is for pods
Using non-existent kubectl install command
3. After running kubectl proxy, what URL should you open in your browser to access the Kubernetes dashboard?
medium
A. http://localhost:8080/dashboard
B. http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
C. https://dashboard.kubernetes.local
D. http://127.0.0.1:6443/dashboard
Solution
Step 1: Understand kubectl proxy behavior
Running kubectl proxy creates a local proxy on port 8001 that forwards requests to the Kubernetes API server.
Step 2: Identify the dashboard proxy URL
The dashboard is accessed via the API server proxy path: /api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/ on localhost port 8001.
Final Answer:
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/ -> Option B
Quick Check:
Dashboard URL after proxy = localhost:8001/api/v1/... [OK]
Hint: Dashboard URL uses kubectl proxy on localhost:8001 [OK]
Common Mistakes:
Using wrong port like 8080 or 6443
Trying HTTPS without proxy
Using a made-up domain name
4. You installed the Kubernetes dashboard but get a 403 Forbidden error when accessing it. What is the most likely cause?
medium
A. You did not create a login token or proper access permissions
B. The dashboard service is not running
C. kubectl proxy is not installed
D. Your browser does not support HTTPS
Solution
Step 1: Understand 403 Forbidden meaning
A 403 error means access is denied due to lack of permissions or authentication.
Step 2: Check dashboard access requirements
The dashboard requires a valid login token with proper RBAC permissions to allow access.
Final Answer:
You did not create a login token or proper access permissions -> Option A
Quick Check:
403 Forbidden = missing token or permissions [OK]
Hint: 403 means missing token or permissions [OK]
Common Mistakes:
Assuming service is not running without checking
Thinking kubectl proxy is missing (it's a client tool)
Blaming browser HTTPS support
5. You want to securely access the Kubernetes dashboard remotely without exposing it publicly. Which approach is best?
hard
A. Expose the dashboard service with a LoadBalancer type service
B. Disable authentication on the dashboard for easy access
C. Use kubectl proxy on your local machine and SSH tunnel to the cluster
D. Access the dashboard directly via the cluster IP from anywhere
Solution
Step 1: Consider security for remote access
Exposing the dashboard publicly or disabling authentication is insecure and not recommended.
Step 2: Use kubectl proxy with SSH tunneling
Running kubectl proxy locally and creating an SSH tunnel to the cluster securely forwards traffic without exposing the dashboard publicly.
Final Answer:
Use kubectl proxy on your local machine and SSH tunnel to the cluster -> Option C