Skip to content

Commit 444a29c

Browse files
authored
feat: Update helm chart (#8748)
* Update helm chart * Update web configuration to fix locale config path and add helm-release target * lint helm * some more docs updates
1 parent 2a922df commit 444a29c

File tree

7 files changed

+51
-32
lines changed

7 files changed

+51
-32
lines changed

Diff for: Makefile

+24-1
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ run: $(PRE) --ensure-kind-cluster --ensure-metrics-server ## Starts production v
9393
SYSTEM_BANNER_SEVERITY=$(SYSTEM_BANNER_SEVERITY) \
9494
SIDECAR_HOST=$(SIDECAR_HOST) \
9595
VERSION="v0.0.0-prod" \
96+
WEB_BUILDER_ARCH=$(ARCH) \
9697
docker compose -f $(DOCKER_COMPOSE_PATH) --project-name=$(PROJECT_NAME) up \
9798
--build \
9899
--remove-orphans \
@@ -126,7 +127,7 @@ endif
126127
# Note: Requires kind to set up and run.
127128
# Note #2: Make sure that the port 443 (HTTPS) is free on your localhost.
128129
.PHONY: helm
129-
helm: --ensure-kind-cluster --ensure-kind-ingress-nginx --ensure-helm-dependencies image --kind-load-images ## Install Kubernetes Dashboard helm chart in the dev kind cluster
130+
helm: --ensure-kind-cluster --ensure-kind-ingress-nginx --ensure-helm-dependencies image --kind-load-images ## Install Kubernetes Dashboard dev helm chart in the dev kind cluster
130131
@helm upgrade \
131132
--create-namespace \
132133
--namespace kubernetes-dashboard \
@@ -145,6 +146,28 @@ helm: --ensure-kind-cluster --ensure-kind-ingress-nginx --ensure-helm-dependenci
145146
--set api.scaling.replicas=3 \
146147
charts/kubernetes-dashboard
147148

149+
# Installs latest version of Kubernetes Dashboard in our dedicated kind cluster.
150+
#
151+
# 1. Run helm install
152+
#
153+
# Run "NO_BUILD=true make helm" to skip building images.
154+
#
155+
# URL: https://localhost
156+
#
157+
# Note: Requires kind to set up and run.
158+
# Note #2: Make sure that the port 443 (HTTPS) is free on your localhost.
159+
.PHONY: helm-release
160+
helm-release: --ensure-kind-cluster --ensure-kind-ingress-nginx --ensure-helm-dependencies ## Install Kubernetes Dashboard helm chart in the dev kind cluster
161+
@helm upgrade \
162+
--create-namespace \
163+
--namespace kubernetes-dashboard \
164+
--install kubernetes-dashboard \
165+
--set metrics-server.enabled=true \
166+
--set app.ingress.enabled=true \
167+
--set app.ingress.ingressClassName=nginx \
168+
--set api.scaling.replicas=3 \
169+
charts/kubernetes-dashboard
170+
148171
# To serve Dashboard under a different path than root (/) use:
149172
# --set app.ingress.path=/dashboard \
150173

Diff for: README.md

+5-14
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,14 @@ Kubernetes Dashboard is a general purpose, web-based UI for Kubernetes clusters.
1010

1111
![Dashboard UI workloads page](docs/images/overview.png)
1212

13-
## Getting Started
14-
15-
**IMPORTANT:** Read the [Access Control](docs/user/access-control/README.md) guide before performing any further steps. The default Dashboard deployment contains a minimal set of RBAC privileges needed to run.
16-
1713
## Installation
1814

1915
Kubernetes Dashboard supports only Helm-based installation currently as it is faster and gives us better control
2016
over all dependencies required by Dashboard to run. We now use a single-container, DBless [Kong](https://hub.docker.com/r/kong/kong-gateway) installation
2117
as a gateway that connects all our containers and exposes the UI. Users can then use any ingress controller or proxy
2218
in front of kong gateway. To find out more about ways to customize your installation check out [helm chart values](charts/kubernetes-dashboard/values.yaml).
2319

24-
In order install Kubernetes Dashboard simply run:
20+
In order to install Kubernetes Dashboard simply run:
2521
```console
2622
# Add kubernetes-dashboard repository
2723
helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/
@@ -31,19 +27,14 @@ helm upgrade --install kubernetes-dashboard kubernetes-dashboard/kubernetes-dash
3127

3228
For more information about our Helm chart visit [ArtifactHub](https://artifacthub.io/packages/helm/k8s-dashboard/kubernetes-dashboard).
3329

34-
## Access
35-
36-
You can access the Dashboard as described in the instructions that can be found in the [access guide](docs/user/accessing-dashboard/README.md).
37-
38-
## Create An Authentication Token (RBAC)
39-
To find out how to create sample user and log in follow [Creating sample user](docs/user/access-control/creating-sample-user.md) guide.
40-
4130
## Documentation
4231

43-
Dashboard documentation can be found on [docs](docs/README.md) directory which contains:
32+
Dashboard documentation can be found in the [docs](docs/README.md) directory which contains:
4433

4534
* [Common](docs/common/README.md): Entry-level overview.
46-
* [User Guide](docs/user/README.md): [Accessing Dashboard](docs/user/accessing-dashboard/README.md) and more for users.
35+
* [User Guide](docs/user/README.md): Helpful information for users.
36+
* [How to access Dashboard](docs/user/accessing-dashboard/README.md) - Everything you need to know to get access to you Kubernetes Dashboard instance after installation.
37+
* [Access Control](docs/user/access-control/README.md): Find out how to control access to your Kubernetes Dashboard and [create sample user](docs/user/access-control/creating-sample-user.md) that can be used to log in.
4738
* [Developer Guide](DEVELOPMENT.md): Important information for contributors that would like to test, run and work on Dashboard locally.
4839

4940
## Community, discussion, contribution, and support

Diff for: charts/kubernetes-dashboard/Chart.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414

1515
apiVersion: v2
1616
name: kubernetes-dashboard
17-
version: 7.0.0-alpha2
18-
appVersion: "v3.0.0-alpha0"
17+
version: 7.0.0
18+
appVersion: "v3.0.0"
1919
description: General-purpose web UI for Kubernetes clusters
2020
keywords:
2121
- kubernetes

Diff for: charts/kubernetes-dashboard/templates/deployments/web.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ spec:
5050
imagePullPolicy: {{ .Values.app.image.pullPolicy }}
5151
args:
5252
- --settings-config-map-name={{ .Values.web.settings.configMap }}
53+
{{/* TODO: Can be removed after updating default locale-config path in web container */}}
54+
- --locale-config=/locale_conf.json
5355
{{- with .Values.web.containers.args }}
5456
{{ toYaml . | nindent 12 }}
5557
{{- end }}

Diff for: charts/kubernetes-dashboard/values.yaml

+14-12
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,9 @@ app:
8383
ingress:
8484
enabled: false
8585
hosts:
86-
# Keep 'localhost' host only if you want to access Dashboard using 'kubectl port-forward ...' on:
87-
# https://localhost:8443
88-
- localhost
86+
# Keep 'localhost' host only if you want to access Dashboard using 'kubectl port-forward ...' on:
87+
# https://localhost:8443
88+
- localhost
8989
# - kubernetes.dashboard.domain.com
9090
ingressClassName: internal-nginx
9191
# Use only if your ingress controllers support default ingress classes.
@@ -122,7 +122,7 @@ auth:
122122
role: auth
123123
image:
124124
repository: docker.io/kubernetesui/dashboard-auth
125-
tag: v1.0.0
125+
tag: 1.1.0
126126
scaling:
127127
replicas: 1
128128
revisionHistoryLimit: 10
@@ -147,18 +147,18 @@ auth:
147147
volumes:
148148
# Create on-disk volume to store exec logs (required)
149149
- name: tmp-volume
150-
emptyDir: { }
151-
nodeSelector: { }
150+
emptyDir: {}
151+
nodeSelector: {}
152152
# Labels & annotations shared between API related resources
153-
labels: { }
154-
annotations: { }
153+
labels: {}
154+
annotations: {}
155155

156156
# API deployment configuration
157157
api:
158158
role: api
159159
image:
160160
repository: docker.io/kubernetesui/dashboard-api
161-
tag: v1.0.0
161+
tag: 1.2.0
162162
scaling:
163163
replicas: 3
164164
revisionHistoryLimit: 10
@@ -212,7 +212,7 @@ web:
212212
role: web
213213
image:
214214
repository: docker.io/kubernetesui/dashboard-web
215-
tag: v1.0.0
215+
tag: 1.2.0
216216
scaling:
217217
replicas: 1
218218
revisionHistoryLimit: 10
@@ -270,8 +270,8 @@ metricsScraper:
270270
enabled: true
271271
role: metrics-scraper
272272
image:
273-
repository: docker.io/kubernetesui/metrics-scraper
274-
tag: v1.0.9
273+
repository: docker.io/kubernetesui/dashboard-metrics-scraper
274+
tag: 1.1.1
275275
scaling:
276276
replicas: 1
277277
revisionHistoryLimit: 10
@@ -338,6 +338,8 @@ metrics-server:
338338
## for our all containers.
339339
kong:
340340
enabled: true
341+
env:
342+
dns_order: LAST,A,SRV,CNAME
341343
ingressController:
342344
enabled: false
343345
dblessConfig:

Diff for: docs/user/access-control/README.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ Kubernetes Dashboard supports two different ways of authenticating users:
3333

3434
### Login view
3535

36-
In case you are using the latest recommended installation then login functionality will be enabled by default. In any other case and if you prefer to configure certificates manually you need to pass `--tls-cert-file` and `--tls-cert-key` flags to Dashboard. HTTPS endpoint will be exposed on port `8443` of Dashboard container. You can change it by providing `--port` flag.
36+
In case you are using the latest installation then login functionality will be enabled by default and exposed via our
37+
gateway.
3738

3839
![Sing in](../../images/signin.png)
3940

@@ -45,7 +46,7 @@ To make Dashboard use authorization header you simply need to pass `Authorizatio
4546

4647
To quickly test it check out [Requestly](https://chrome.google.com/webstore/detail/requestly-redirect-url-mo/mdnleldcmiljblolnjhpnblkcekpdkpa) Chrome browser plugin that allows to manually modify request headers.
4748

48-
**IMPORTANT:** Authorization header will not work if Dashboard is accessed through API server proxy. Both `kubectl proxy` and `API Server` way of accessing Dashboard described in [Accessing Dashboard](../accessing-dashboard/README.md) guide will not work. It is due to the fact that once request reaches API server all additional headers are dropped.
49+
**IMPORTANT:** Authorization header will not work if Dashboard is accessed through API server proxy. `kubectl port-forward` described in [Accessing Dashboard](../accessing-dashboard/README.md) guide will not work. It is due to the fact that once request reaches API server all additional headers are dropped.
4950

5051
### Bearer Token
5152

Diff for: hack/docker/dev.compose.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ services:
2525
- "KONG_ADMIN_ACCESS_LOG=/dev/stdout"
2626
- "KONG_PROXY_ERROR_LOG=/dev/stderr"
2727
- "KONG_ADMIN_ERROR_LOG=/dev/stderr"
28-
- "KONG_DNS_ORDER=LAST,A,CNAME"
28+
- "KONG_DNS_ORDER=LAST,A,SRV,CNAME"
2929
volumes:
3030
- ${PWD}/hack/gateway/dev.kong.yml:/kong/declarative/kong.yml
3131
ports:

0 commit comments

Comments
 (0)