Bird
Raised Fist0
Kubernetesdevops~20 mins

Kubernetes dashboard - Practice Problems & Coding Challenges

Choose your learning style10 modes available

Start learning this pattern below

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
Challenge - 5 Problems
🎖️
Kubernetes Dashboard Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
2:00remaining
Accessing Kubernetes Dashboard Token
You run the command kubectl -n kubernetes-dashboard get secret and see a secret named kubernetes-dashboard-token-abcde. What command will correctly display the token value for this secret?
Akubectl -n kubernetes-dashboard get secret kubernetes-dashboard-token-abcde -o json | jq '.data.token'
Bkubectl -n kubernetes-dashboard describe secret kubernetes-dashboard-token-abcde
Ckubectl -n kubernetes-dashboard get secret kubernetes-dashboard-token-abcde -o jsonpath='{.data.token}' | base64 --decode
Dkubectl -n kubernetes-dashboard get secret kubernetes-dashboard-token-abcde -o yaml
Attempts:
2 left
💡 Hint
The token is stored in base64 encoded form inside the secret's data field.
🧠 Conceptual
intermediate
1:30remaining
Purpose of Kubernetes Dashboard
What is the primary purpose of the Kubernetes Dashboard in a cluster?
AIt automatically scales pods based on CPU usage.
BIt provides a web-based user interface to manage and monitor Kubernetes cluster resources.
CIt manages network policies between pods.
DIt schedules pods onto nodes based on resource availability.
Attempts:
2 left
💡 Hint
Think about what a dashboard usually does in software.
Troubleshoot
advanced
2:00remaining
Dashboard Not Accessible Externally
You deployed the Kubernetes Dashboard with default settings. When trying to access it from outside the cluster, the browser cannot connect. What is the most likely reason?
AThe dashboard pod crashed due to insufficient CPU resources.
BThe dashboard uses an outdated API version and refuses connections.
CThe dashboard requires a LoadBalancer service but was deployed with NodePort.
DThe dashboard service is of type ClusterIP, which is only accessible inside the cluster.
Attempts:
2 left
💡 Hint
Check the service type and how it exposes the dashboard.
🔀 Workflow
advanced
2:30remaining
Steps to Securely Access Kubernetes Dashboard
Which sequence of steps correctly describes how to securely access the Kubernetes Dashboard from your local machine?
A1,2,3,4
B2,1,3,4
C1,3,2,4
D1,4,2,3
Attempts:
2 left
💡 Hint
Think about creating credentials before starting the proxy and then using the token to login.
Best Practice
expert
3:00remaining
Best Practice for Dashboard Access in Production
What is the best practice to securely expose the Kubernetes Dashboard in a production environment?
AUse kubectl proxy with role-based access control and strong authentication tokens.
BDisable the dashboard entirely and manage the cluster only via CLI.
CDeploy the dashboard with NodePort and allow anonymous access from any IP.
DExpose the dashboard service as LoadBalancer with no authentication for easy access.
Attempts:
2 left
💡 Hint
Think about minimizing exposure and enforcing authentication.

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

  1. 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.
  2. Step 2: Compare with other Kubernetes components

    It does not replace kubectl, nor does it handle scaling or container runtime tasks.
  3. Final Answer:

    To provide a web-based user interface for managing Kubernetes clusters -> Option D
  4. Quick Check:

    Kubernetes dashboard = Web UI for cluster management [OK]
Hint: Dashboard = visual cluster management tool [OK]
Common Mistakes:
  • Thinking dashboard replaces kubectl
  • Confusing dashboard with autoscaling
  • Assuming dashboard is a container runtime
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

  1. 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.
  2. Step 2: Verify the command syntax

    kubectl apply -f [URL] is the correct syntax to apply a manifest file from a URL.
  3. Final Answer:

    kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml -> Option A
  4. 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

  1. Step 1: Understand kubectl proxy behavior

    Running kubectl proxy creates a local proxy on port 8001 that forwards requests to the Kubernetes API server.
  2. 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.
  3. Final Answer:

    http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/ -> Option B
  4. 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

  1. Step 1: Understand 403 Forbidden meaning

    A 403 error means access is denied due to lack of permissions or authentication.
  2. Step 2: Check dashboard access requirements

    The dashboard requires a valid login token with proper RBAC permissions to allow access.
  3. Final Answer:

    You did not create a login token or proper access permissions -> Option A
  4. 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

  1. Step 1: Consider security for remote access

    Exposing the dashboard publicly or disabling authentication is insecure and not recommended.
  2. 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.
  3. Final Answer:

    Use kubectl proxy on your local machine and SSH tunnel to the cluster -> Option C
  4. Quick Check:

    Secure remote access = kubectl proxy + SSH tunnel [OK]
Hint: Secure access = kubectl proxy plus SSH tunnel [OK]
Common Mistakes:
  • Exposing dashboard publicly with LoadBalancer
  • Disabling authentication for convenience
  • Trying to access cluster IP directly without security