Kubernetes Dashboard on LKE

The Kubernetes Dashboard is an industry standard open-source web-based user interface designed to be a visual hub for interacting with a Kubernetes cluster, allowing for a more intuitive interface for observing cluster objects, components, containers, applications, and more.
While providing an easy way to monitor a Kubernetes cluster and perform health checks, the Kubernetes dashboard additionally provides a means to perform administration tasks, similarly to how one would perform administration through the command line tool kubectl.

The Linode Kubernetes Engine currently installs the Kubernetes Dashboard by default, and can be accessed through the Kubernetes Dashboard Link found for each cluster in the Cloud Manager.

This guide will be a step-by-step introduction to accessing the Kubernetes Dashboard on LKE through the unique link found in Cloud Manager or the Linode API. Additionally information will provide basic insight into navigating the Kubernetes Dashboard, as well as provide an example for creating and editing resources directly through the dashboard.

Accessing the cluster dashboard

The Cluster Dashboard can be found at the top of the Cluster's details page. The steps for reaching the dashboard from Cloud Manager's are as follows:

  1. Click the Kubernetes link in Cloud Manager's sidebar menu. The Kubernetes listing page appears and you see all of your clusters listed.

  2. Select the cluster that you would like to reach the Kubernetes Dashboard for. The Kubernetes cluster’s details page appears.

  3. Select the Kubernetes Dashboard option at the top of the page to open the link to your Kubernetes Dashboard.

    Access LKE Dashboard

  4. Once the link has been selected, you will see a login prompt with the option to enter either a Secret valid Bearer Token, or a Kubeconfig file to authenticate.

    In any default Kubeconfig file provided for access to LKE clusters an administrative user token can be found within the file itself, and entered in the Enter token* field to authenticate via a token.

    If you prefer to authenticate using a Kubeconfig file, the file can be entered by selecting the Kubeconfig option, the Choose Kubeconfig file field, and entering the file by using the file explorer menu that appears.

  5. After a token or Kubeconfig file has been entered, select the Sign in button to access the dashboard.

Dashboard Sign In

Navigating the cluster dashboard

Once logged in to the Cluster dashboard, Workloads for the default namespace will appear. This page will include information on all Workloads as defined by Kubernetes, and provide a number of options to navigate the dashboard further.

Dashboard Home

Selecting a namespace

All namespaces the logged in user has access to are listed and selected from the top left of the page using the dropdown menu. Users who prefer not using a set namespace that would instead like to use every namespace at once can select the All Namespaces option. The active namespace can be changed at any time.

Dashboard Namespace

Navigating objects and components

Towards the left of the page is a sidebar menu that includes access to similar categories for all other available objects and components, largely as defined by Kubernetes.

By selecting categories and sub-categories within the sidebar menu, users can inspect the Kubernetes configuration similarly in most cases to using the kubectl get command. Selecting the Pods sub-category under the Workloads primary category, will show a table of all running pods by name, namespace, the images they're relying on, Labels applied, the hardware node or nodes they're currently active on, the current status, the Date the Pod was created, and any restarts. Individual Pods can then be selected further to see additional details as if entering the kubectl describe command against a single individual Pod. This same general ruleset applies to all forms of navigation when using the Kubernetes dashboard, though the equivalent kubectl command applied will vary depending on the resource being accessed.

Creating resources

The Kubernetes dashboard additionally allows for the creation of resources directly. This can be completed at any time by selecting the plus icon at the top right of the page. Once completed, users can input YAML or JSON formatted configuration content directly, upload a YAML or JSON file, or create a resource by filling out a form. Once completed, the resource can be created by selecting the upload or deploy option. This is similar to the kubectl create command when working with Kubernetes over the command line.

Create Resource

Editing a resource

After inspecting an object or resource in the highest level of detail, the pencil icon will appear at the top of the page if any edits can be made. Once the pencil icon has been selected, the configuration of the resource can be viewed in both YAML or JSON format, and edited as needed. Once all edits are made, the Update button can be selected to edit the resource as if using the kubectl apply -f command.

Limitations

While the Kubernetes Dashboard is fully featured in all other regards, the CPU and Memory graphs and analytics provided in part bymetrics-server on some Kubernetes Dashboard installations are not included.

As the LKE provided version of the Kubernetes dashboard is hosted and configured separately from cluster nodes, if users need access to CPU and Memory graphs, a separate Kubernetes dashboard installation including metrics-server must be performed, hosted directly on the cluster nodes themselves and configured for external access.