Using Dashboard To Access Kubernetes Cluster Post Deployment On WEkEO Elasticity OpenStack Magnum

After the Kubernetes cluster has been created, you can access it through command line tool, kubectl, or you can access it through a visual interface, called the Kubernetes dashboard. This article shows how to install it.

What We Are Going To Cover

  • How to install Kubernetes Dashboard


No. 1 Hosting

You need a WEkEO Elasticity hosting account with Horizon interface

No. 2 Cluster and kubectl should be already operational

To eventually set up a cluster and connect it to the kubectl tool, see this article How To Access Kubernetes Cluster Post Deployment Using Kubectl On WEkEO Elasticity OpenStack Magnum.

Dashboard is a visual interface to Kubernetes cluster. It can be used interchangeably with kubectl as the CLI tool.

Step 1 Deploying the Dashboard

Install it with the following command:

kubectl apply -f

The result is


Step 2 Creating a Sample User

Next, you create a bearer token which will serve as an authorization token for the Dashboard. To that end, you will create two local files and “send” them to the cloud using the kubectl command. The first file is called dashboard-adminuser.yaml and its contents are

apiVersion: v1
kind: ServiceAccount
  name: admin-user
  namespace: kubernetes-dashboard

Use a text editor of your choice to create that file, on MacOS or Linux you can use nano, like this:

nano dashboard-adminuser.yaml

Install that file on the Kubernetes cluster with this command:

kubectl apply -f dashboard-adminuser.yaml

The second file to create is

nano dashboard-clusterolebinding.yaml

and its contents should be:

kind: ClusterRoleBinding
  name: admin-user
  kind: ClusterRole
  name: cluster-admin
- kind: ServiceAccount
  name: admin-user
  namespace: kubernetes-dashboard

The command to send it to the cloud is

kubectl apply -f dashboard-clusterolebinding.yaml

Step 3 Get the bearer token for authentication to dashboard

The final step is to get the bearer token, which is a long string that will authenticate calls to Dashboard:

kubectl -n kubernetes-dashboard \
get secret $(kubectl -n kubernetes-dashboard get sa/admin-user -o jsonpath="{.secrets[0].name}") \
-o go-template="{{.data.token | base64decode}}"

The bearer token string will be printed in terminal screen. Copy it to a text editor, it will be needed after you access the Dashboard UI through a HTTPS call.


If the last character of the bearer token string is %, it may be a character that denotes the end of the string but is not a part of it. If you copy the bearer string and it is not recognized, try copying it without this ending character %.

Step 4 Create a separate terminal window

To enable the connection, start a separate terminal window and execute the following command in it:

kubectl proxy

The result will be something like this:


Step 5 See the dashboard in browser

Then enter this address into the browser:


Enter the token, click on Sign In and get the Dashboard UI for the Kubernetes cluster.


The Kubernetes Dashboard organizes working with the cluster in a visual and interactive way. For instance, click on Nodes on the left sides to see the nodes that the k8s-cluster has.

What To Do Next

You can still use kubectl or alternate with using the Dashboard. Either way, you can

  • deploy apps on the cluster,

  • access multiple clusters,

  • create load balancers,

  • access applications in the cluster using port forwarding,

  • use Service to access application in a cluster,

  • list container images in the cluster

  • use Services, Deployments and all other resources in a Kubernetes cluster.