Update Kubernetes Dashboard in Azure Container Service

Revision history
Tags: kubernetes azure


The Kubernetes dashboard version of the managed cluster created with Azure Container Service (ACS) is v1.6.3. As of writing the latest upstream dashboard version is 1.8.3 and Azure-compatible images are being automatically built. Read the changelog to see what issues has been fixed in between the dashboard relases.

The dashboard is a deployment resource that is automatically installed and deployed with an addon-manager.

We can see the dashboard deployment resource with kubectl

$ kubectl describe deployments -n kube-system kubernetes-dashboard

Check compatible versions

Find out what your Kubernetes server version is. As of writing, the cluster created by ACS is v1.7, as can be verified with the CLI

$ kubectl version
Server Version: version.Info{Major:"1", Minor:"7", GitVersion:"v1.7.7", GitCommit:"8e1552342355496b62754e61ad5f802a0f3f1fa7", GitTreeState:"clean", BuildDate:"2017-09-28T23:56:03Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}

Checking the compatability matrix in the upstream dashboard repository, the latest supported version for my cluster is v1.7.1.


Check the current version of the dashboard

$ kubectl describe pods -n kube-system kubernetes-dashboard | grep 'Image:'
    Image:          gcrio.azureedge.net/google_containers/kubernetes-dashboard-amd64:v1.6.3

Find the FQDN of the cluster master

$ az acs list | grep fqdn

When the cluster was created, an admin username and a SSH public key was specified. Use that information to SSH into the master in order to update the dashboard image tag.

$ ssh adminuser@clustername.westeurope.cloudapp.azure.com
adminuser@k8s-master-FF00FF-0:~$ sudo vim /etc/kubernetes/addons/kubernetes-dashboard-deployment.yaml

When the file has been opened for edit as described above, update the image version tag for the deployment resource (terraform-like path to property: deployment.kube-system.kubernetes-dashboard.spec.template.spec.containers.1.image) to gcrio.azureedge.net/google_containers/kubernetes-dashboard-amd64:v1.7.1.

Once the file has been saved, changes should propagate immediately. Check the pod status to verify

$ kubectl describe pods -n kube-system kubernetes-dashboard | grep 'Image:'
    Image:          gcrio.azureedge.net/google_containers/kubernetes-dashboard-amd64:v1.7.1


If you have any comments or feedback, please send me an e-mail. (stig at stigok dotcom).

Did you find any typos, incorrect information, or have something to add? Then please propose a change to this post.