Kubernetes Dashboard major version upgrade from 1.x to 2.x¶
The migration from Kubernetes Dashboard Helm chart version 1.x to 2.x represents a major version change involving breaking changes and manual intervention.^[400-devops__06-Kubernetes__devops-helm__terraform-helm__helm__README.md]
Breaking Changes and Deprecations¶
Several configuration parameters used in version 1.x have been removed or renamed in version 2.0.0^[400-devops__06-Kubernetes__devops-helm__terraform-helm__helm__README.md]:
clusterAdminRole: This parameter has been completely removed due to security concerns.^[400-devops__06-Kubernetes__devops-helm__terraform-helm__helm__README.md]enableSkipLoginandenableInsecureLogin: These parameters are removed.^[400-devops__06-Kubernetes__devops-helm__terraform-helm__helm__README.md]dashboardContainerSecurityContext: Renamed tocontainerSecurityContext.^[400-devops__06-Kubernetes__devops-helm__terraform-helm__helm__README.md]- Labels: The chart updates labels to new recommended standards; most of these are immutable, which necessitates the uninstall/reinstall procedure.^[400-devops__06-Kubernetes__devops-helm__terraform-helm__helm__README.md]
New Features and Behavioral Changes¶
Version 2.x introduces changes to security defaults and networking options^[400-devops__06-Kubernetes__devops-helm__terraform-helm__helm__README.md]:
- RBAC Management: The upgrade moves to explicit secret creation, and the default [[ServiceAccount]] no longer has permission to create secrets.^[400-devops__06-Kubernetes__devops-helm__terraform-helm__helm__README.md]
- Default Security Contexts: Values for
podAnnotationsandsecurityContextare now enabled by default.^[400-devops__06-Kubernetes__devops-helm__terraform-helm__helm__README.md] - HTTP Protocol: A new
protocolHttpparameter allows switching the backend to plain HTTP.^[400-devops__06-Kubernetes__devops-helm__terraform-helm__helm__README.md] - Ingress Annotations: If
protocolHttpis not set (defaulting to HTTPS), the chart automatically adds annotations to the Ingress to support HTTPS backends for [[nginx-ingress]] and GKE.^[400-devops__06-Kubernetes__devops-helm__terraform-helm__helm__README.md]
Upgrade Procedure¶
To transition from v1.x.x to v2.x.x, a reinstall is required due to the immutable label changes^[400-devops__06-Kubernetes__devops-helm__terraform-helm__helm__README.md].
-
Update Configuration:
- Remove the
clusterAdminRoleparameter^[400-devops__06-Kubernetes__devops-helm__terraform-helm__helm__README.md]. - Replace
enableSkipLoginandenableInsecureLoginwithextraEnvconfigurations if needed^[400-devops__06-Kubernetes__devops-helm__terraform-helm__helm__README.md]. - Rename
dashboardContainerSecurityContexttocontainerSecurityContext^[400-devops__06-Kubernetes__devops-helm__terraform-helm__helm__README.md]. - Review
podAnnotationsandsecurityContextto ensure they are supported in your environment^[400-devops__06-Kubernetes__devops-helm__terraform-helm__helm__README.md].
- Remove the
-
Uninstall and Reinstall: Execute a uninstall followed by an install with your updated configuration^[400-devops__06-Kubernetes__devops-helm__terraform-helm__helm__README.md].
# Uninstall the existing release
[Helm](<./helm.md>) delete my-release
# Install the new version
[Helm](<./helm.md>) install kubernetes-dashboard/kubernetes-dashboard --name my-release -f values.yaml
Related Concepts¶
- Kubernetes
- Helm
- [[RBAC]]
Sources¶
^[400-devops__06-Kubernetes__devops-helm__terraform-helm__helm__README.md]