Skip to main content

Kubernetes Dashboard

Updated Mar 11, 2022 ·

Kubernetes Dashboard

The Kubernetes Dashboard is a web-based UI for managing and troubleshooting Kubernetes clusters.

  • View workloads, Pods, Deployments, and other resources
  • Explore resources across namespaces
  • Manage Services, Nodes, and Storage
  • Display usage metrics (requires Heapster or similar monitoring tools)
  • Secure access via HTTPS and Bearer tokens
  • Granular access control through RBAC

The dashboard runs in a Pod and includes:

  • A REST endpoint with SSL and authentication
  • Metrics add-ons like Heapster or InfluxDB for resource usage tracking

To access the dashboard from your terminal, use:

kubectl proxy  

For more information, please see official Kubernetes Dashboard Github page.

Access to the Kubernetes Dashboard

By default, the Kubernetes Dashboard is exposed via ClusterIP, making it accessible only within the cluster. To access it externally:

  1. Use kubectl proxy and port forwarding.

  2. From a laptop or external device, launch a proxy for secure access.

Changing Service Types

Exposing the dashboard via LoadBalancer makes it accessible outside the cluster but poses security risks.

NodePort

This exposes the Kubernetes Dashboard to a port in the nodes. This is a viable solution if you are sure that your cluster is secured.

Auth Proxy

Configure an authentication proxy to validate requests and securely route traffic to the dashboard. For more information, please see Oauth2 Proxy.

Logging In

When we access the Kubernetes Dashboard, we are asked to provide a token or kubeconfig file. To provide the token, we must first create a user and then provide it role-based permissions.

For more information, please see the official Kubernetes Dashboard Github page.

Resources