Skip to content

Commit 94da26e

Browse files
authored
chart(update): use podIP in all components server host (#2429)
* chart(update): use podIP in all components server host * chart(update): disable Node service resource creation by default --------- Signed-off-by: Viet Nguyen Duc <[email protected]>
1 parent 839e5f6 commit 94da26e

11 files changed

+42
-13
lines changed

Diff for: .github/workflows/helm-chart-test.yml

+9-1
Original file line numberDiff line numberDiff line change
@@ -40,49 +40,57 @@ jobs:
4040
helm-version: 'v3.10.3'
4141
docker-version: '24.0.9'
4242
test-upgrade: true
43+
service-mesh: true
4344
- k8s-version: 'v1.26.15'
4445
test-strategy: disabled
4546
cluster: 'minikube'
4647
helm-version: 'v3.11.3'
4748
docker-version: '24.0.9'
4849
test-upgrade: true
50+
service-mesh: false
4951
- k8s-version: 'v1.27.16'
5052
test-strategy: job
5153
cluster: 'minikube'
5254
helm-version: 'v3.12.3'
5355
docker-version: '24.0.9'
5456
test-upgrade: true
57+
service-mesh: true
5558
- k8s-version: 'v1.28.14'
5659
test-strategy: deployment
5760
cluster: 'minikube'
5861
helm-version: 'v3.13.3'
5962
docker-version: '24.0.9'
6063
test-upgrade: true
64+
service-mesh: true
6165
- k8s-version: 'v1.29.9'
6266
test-strategy: job_https
6367
cluster: 'minikube'
6468
helm-version: 'v3.14.3'
6569
docker-version: '25.0.5'
6670
test-upgrade: true
71+
service-mesh: false
6772
- k8s-version: 'v1.30.5'
6873
test-strategy: job_hostname
6974
cluster: 'minikube'
7075
helm-version: 'v3.15.4'
7176
docker-version: '26.1.4'
7277
test-upgrade: true
78+
service-mesh: false
7379
- k8s-version: 'v1.31.1'
7480
test-strategy: deployment_https
7581
cluster: 'minikube'
7682
helm-version: 'v3.16.1'
7783
docker-version: '27.2.0'
7884
test-upgrade: true
85+
service-mesh: false
7986
env:
8087
CLUSTER: ${{ matrix.cluster }}
8188
KUBERNETES_VERSION: ${{ matrix.k8s-version }}
8289
ARTIFACT_NAME: "${{ matrix.k8s-version }}-${{ matrix.test-strategy }}"
8390
HELM_VERSION: ${{ matrix.helm-version }}
8491
DOCKER_VERSION: ${{ matrix.docker-version }}
8592
TEST_UPGRADE_CHART: ${{ matrix.test-upgrade }}
93+
SERVICE_MESH: ${{ matrix.service-mesh }}
8694
steps:
8795
- name: Free Disk Space (Ubuntu)
8896
uses: jlumbroso/free-disk-space@main
@@ -148,7 +156,7 @@ jobs:
148156
with:
149157
timeout_minutes: 10
150158
max_attempts: 3
151-
command: CLUSTER=${CLUSTER} KUBERNETES_VERSION=${KUBERNETES_VERSION} NAME=${IMAGE_REGISTRY} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make chart_cluster_setup
159+
command: CLUSTER=${CLUSTER} SERVICE_MESH=${SERVICE_MESH} KUBERNETES_VERSION=${KUBERNETES_VERSION} NAME=${IMAGE_REGISTRY} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make chart_cluster_setup
152160
- name: Test chart template
153161
run: NAME=${IMAGE_REGISTRY} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make chart_test_template
154162
- name: Test set custom CA certificate

Diff for: charts/selenium-grid/CONFIGURATION.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes
371371
| chromeNode.hostAliases | string | `nil` | Custom host aliases for chrome nodes |
372372
| chromeNode.extraEnvironmentVariables | string | `nil` | Custom environment variables for chrome nodes |
373373
| chromeNode.extraEnvFrom | string | `nil` | Custom environment variables by sourcing entire configMap, Secret, etc. for chrome nodes |
374-
| chromeNode.service.enabled | bool | `true` | Create a service for node |
374+
| chromeNode.service.enabled | bool | `false` | Create a service for node |
375375
| chromeNode.service.type | string | `"ClusterIP"` | Service type |
376376
| chromeNode.service.loadBalancerIP | string | `""` | Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) |
377377
| chromeNode.service.ports | string | `nil` | Extra ports exposed in node service |
@@ -421,7 +421,7 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes
421421
| firefoxNode.hostAliases | string | `nil` | Custom host aliases for firefox nodes |
422422
| firefoxNode.extraEnvironmentVariables | string | `nil` | Custom environment variables for firefox nodes |
423423
| firefoxNode.extraEnvFrom | string | `nil` | Custom environment variables by sourcing entire configMap, Secret, etc. for firefox nodes |
424-
| firefoxNode.service.enabled | bool | `true` | Create a service for node |
424+
| firefoxNode.service.enabled | bool | `false` | Create a service for node |
425425
| firefoxNode.service.type | string | `"ClusterIP"` | Service type |
426426
| firefoxNode.service.loadBalancerIP | string | `""` | Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) |
427427
| firefoxNode.service.ports | string | `nil` | Extra ports exposed in node service |
@@ -471,7 +471,7 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes
471471
| edgeNode.hostAliases | string | `nil` | Custom host aliases for edge nodes |
472472
| edgeNode.extraEnvironmentVariables | string | `nil` | Custom environment variables for edge nodes |
473473
| edgeNode.extraEnvFrom | string | `nil` | Custom environment variables by sourcing entire configMap, Secret, etc. for edge nodes |
474-
| edgeNode.service.enabled | bool | `true` | Create a service for node |
474+
| edgeNode.service.enabled | bool | `false` | Create a service for node |
475475
| edgeNode.service.type | string | `"ClusterIP"` | Service type |
476476
| edgeNode.service.loadBalancerIP | string | `""` | Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) |
477477
| edgeNode.service.ports | string | `nil` | Extra ports exposed in node service |

Diff for: charts/selenium-grid/templates/_helpers.tpl

+4
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,10 @@ template:
349349
{{- end }}
350350
- name: SE_OTEL_SERVICE_NAME
351351
value: {{ .name | quote }}
352+
- name: SE_NODE_HOST
353+
valueFrom:
354+
fieldRef:
355+
fieldPath: status.podIP
352356
- name: SE_NODE_PORT
353357
value: {{ .node.port | quote }}
354358
{{- with .node.startupProbe.timeoutSeconds }}

Diff for: charts/selenium-grid/templates/distributor-deployment.yaml

+3-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,9 @@ spec:
4646
- name: SE_OTEL_SERVICE_NAME
4747
value: '{{ template "seleniumGrid.distributor.fullname" . }}'
4848
- name: SE_DISTRIBUTOR_HOST
49-
value: '{{ template "seleniumGrid.distributor.fullname" . }}.{{ .Release.Namespace }}'
49+
valueFrom:
50+
fieldRef:
51+
fieldPath: status.podIP
5052
- name: SE_DISTRIBUTOR_PORT
5153
value: {{ .Values.components.distributor.port | quote }}
5254
- name: SE_ROUTER_HOST

Diff for: charts/selenium-grid/templates/event-bus-deployment.yaml

+3-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,9 @@ spec:
5050
- name: SE_OTEL_SERVICE_NAME
5151
value: '{{ template "seleniumGrid.eventBus.fullname" . }}'
5252
- name: SE_EVENT_BUS_HOST
53-
value: '{{ template "seleniumGrid.eventBus.fullname" . }}.{{ .Release.Namespace }}'
53+
valueFrom:
54+
fieldRef:
55+
fieldPath: status.podIP
5456
- name: SE_EVENT_BUS_PORT
5557
value: {{ .Values.components.eventBus.port | quote }}
5658
{{- with .Values.components.extraEnvironmentVariables }}

Diff for: charts/selenium-grid/templates/hub-deployment.yaml

+3-1
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,9 @@ spec:
107107
- name: SE_OTEL_SERVICE_NAME
108108
value: '{{ template "seleniumGrid.hub.fullname" . }}'
109109
- name: SE_HUB_HOST
110-
value: '{{ template "seleniumGrid.hub.fullname" . }}.{{ .Release.Namespace }}'
110+
valueFrom:
111+
fieldRef:
112+
fieldPath: status.podIP
111113
- name: SE_HUB_PORT
112114
value: {{ .Values.hub.port | quote }}
113115
{{- with .Values.hub.subPath }}

Diff for: charts/selenium-grid/templates/router-deployment.yaml

+3-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@ spec:
4444
- name: SE_OTEL_SERVICE_NAME
4545
value: '{{ template "seleniumGrid.router.fullname" . }}'
4646
- name: SE_ROUTER_HOST
47-
value: '{{ template "seleniumGrid.router.fullname" . }}.{{ .Release.Namespace }}'
47+
valueFrom:
48+
fieldRef:
49+
fieldPath: status.podIP
4850
- name: SE_ROUTER_PORT
4951
value: {{ .Values.components.router.port | quote }}
5052
- name: SE_DISTRIBUTOR_HOST

Diff for: charts/selenium-grid/templates/session-map-deployment.yaml

+3-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@ spec:
4444
- name: SE_OTEL_SERVICE_NAME
4545
value: '{{ template "seleniumGrid.sessionMap.fullname" . }}'
4646
- name: SE_SESSIONS_HOST
47-
value: '{{ template "seleniumGrid.sessionMap.fullname" . }}.{{ .Release.Namespace }}'
47+
valueFrom:
48+
fieldRef:
49+
fieldPath: status.podIP
4850
- name: SE_SESSIONS_PORT
4951
value: {{ .Values.components.sessionMap.port | quote }}
5052
{{- with .Values.components.extraEnvironmentVariables }}

Diff for: charts/selenium-grid/templates/session-queue-deployment.yaml

+3-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,9 @@ spec:
4343
- name: SE_OTEL_SERVICE_NAME
4444
value: '{{ template "seleniumGrid.sessionQueue.fullname" . }}'
4545
- name: SE_SESSION_QUEUE_HOST
46-
value: '{{ template "seleniumGrid.sessionQueue.fullname" . }}.{{ .Release.Namespace }}'
46+
valueFrom:
47+
fieldRef:
48+
fieldPath: status.podIP
4749
- name: SE_SESSION_QUEUE_PORT
4850
value: {{ .Values.components.sessionQueue.port | quote }}
4951
{{- with .Values.components.extraEnvironmentVariables }}

Diff for: charts/selenium-grid/values.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -989,7 +989,7 @@ chromeNode:
989989
# Service configuration
990990
service:
991991
# -- Create a service for node
992-
enabled: true
992+
enabled: false
993993
# -- Service type
994994
type: ClusterIP
995995
# -- Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer)
@@ -1170,7 +1170,7 @@ firefoxNode:
11701170
# Service configuration
11711171
service:
11721172
# -- Create a service for node
1173-
enabled: true
1173+
enabled: false
11741174
# -- Service type
11751175
type: ClusterIP
11761176
# -- Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer)
@@ -1350,7 +1350,7 @@ edgeNode:
13501350
# Service configuration
13511351
service:
13521352
# -- Create a service for node
1353-
enabled: true
1353+
enabled: false
13541354
# -- Service type
13551355
type: ClusterIP
13561356
# -- Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer)

Diff for: tests/charts/make/chart_cluster_setup.sh

+5
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ SKIP_CLEANUP=${SKIP_CLEANUP:-"false"} # For debugging purposes, retain the clust
1818
KUBERNETES_VERSION=${KUBERNETES_VERSION:-$(curl -L -s https://dl.k8s.io/release/stable.txt)}
1919
CNI=${CNI:-"calico"} # auto, calico, cilium
2020
CONTAINER_RUNTIME=${CONTAINER_RUNTIME:-"docker"} # docker, containerd, cri-o
21+
SERVICE_MESH=${SERVICE_MESH:-"false"}
2122

2223
# Function to clean up for retry step on workflow
2324
cleanup() {
@@ -47,6 +48,10 @@ elif [ "${CLUSTER}" = "minikube" ]; then
4748
sudo -SE minikube start --vm-driver=none \
4849
--kubernetes-version=${KUBERNETES_VERSION} --network-plugin=cni --cni=${CNI} --container-runtime=${CONTAINER_RUNTIME} --wait=all
4950
sudo chown -R $USER $HOME/.kube $HOME/.minikube
51+
if [ "${SERVICE_MESH}" = "true" ]; then
52+
minikube addons enable istio-provisioner
53+
minikube addons enable istio
54+
fi
5055
fi
5156

5257
if [ "${CLUSTER}" = "kind" ]; then

0 commit comments

Comments
 (0)