Kubernetes Dashboard is a general purpose, web-based UI for Kubernetes clusters. It allows users to manage applications running in the cluster and troubleshoot them, as well as manage the cluster itself.
# Add kubernetes-dashboard repository
helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/
# Deploy a Helm Release named "my-release" using the kubernetes-dashboard chart
helm install my-release kubernetes-dashboard/kubernetes-dashboard
This chart bootstraps a Kubernetes Dashboard deployment on a Kubernetes cluster using the Helm package manager.
To install the Chart with the Release name my-release
:
helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/
helm install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard
The command deploys kubernetes-dashboard on the Kubernetes cluster in the default configuration. The configuration section lists the parameters that can be configured during installation.
To uninstall/delete the my-release
deployment:
helm delete my-release
The command removes all the Kubernetes components associated with the chart and deletes the release.
It is critical for the Kubernetes cluster to correctly setup access control of Kubernetes Dashboard. See this guide for details.
It is highly recommended to use RBAC with minimal privileges needed for Dashboard to run.
Please refer to values.yaml for valid values and their defaults.
Specify each parameter using the --set key=value[,key=value]
argument to helm install
. For example,
helm install kubernetes-dashboard/kubernetes-dashboard --name my-release \
--set=service.externalPort=8080,resources.limits.cpu=200m
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,
helm install kubernetes-dashboard/kubernetes-dashboard --name my-release -f values.yaml
Tip: You can use the default values.yaml, which is used by default, as reference
A major chart version change (like v1.2.3 -> v2.0.0) indicates that there is an incompatible breaking change needing manual actions.
- Switch Ingress from networking.k8s.io/v1beta1 to networking.k8s.io/v1. Requires kubernetes >= 1.19.0.
- Switch Ingress from extensions/v1beta1 to networking.k8s.io/v1beta1. Requires kubernetes >= 1.14.0.
Version 2.0.0 of this chart is the first version hosted in the kubernetes/dashboard.git repository. v1.x.x until 1.10.1 is hosted on https://github.com/helm/charts.
- This version upgrades to kubernetes-dashboard v2.0.0 along with changes in RBAC management: all secrets are explicitely created and ServiceAccount do not have permission to create any secret. On top of that, it completely removes the
clusterAdminRole
parameter, being too dangerous. In order to upgrade, please update your configuration to removeclusterAdminRole
parameter and uninstall/reinstall the chart. - It enables by default values for
podAnnotations
andsecurityContext
, please disable them if you don't supoprt them - It removes
enableSkipLogin
andenableInsecureLogin
parameters. Please useextraArgs
instead. - It adds a
ProtocolHttp
parameter, allowing you to switch the backend to plain HTTP and replaces the oldenableSkipLogin
for the network part. - If
protocolHttp
is not set, it will automatically add to theIngress
, if enabled, annotations to support HTTPS backends for nginx-ingress and GKE Ingresses. - It updates all the labels to the new recommended labels, most of them being immutable.
- dashboardContainerSecurityContext has been renamed to containerSecurityContext.
In order to upgrade, please update your configuration to remove clusterAdminRole
parameter and adapt enableSkipLogin
, enableInsecureLogin
, podAnnotations
and securityContext
parameters, and uninstall/reinstall the chart.
Starting from version 4.0.0 of this chart, it will only support Helm 3 and remove the support for Helm 2. If you still use Helm 2 you will need first to migrate the deployment to Helm 3 and then you can upgrade your chart.
To do that you can follow the guide
For information about how to access, please read the kubernetes-dashboard manual
When running 'kubectl proxy', the address localhost:8001/ui
automatically expands to:
http://localhost:8001/api/v1/namespaces/my-namespace/services/https:kubernetes-dashboard:https/proxy/
For this to reach the dashboard, the name of the service must be 'kubernetes-dashboard', not any other value as set by Helm. You can manually specify this using the value 'fullnameOverride':
fullnameOverride: 'kubernetes-dashboard'