Skip to content

Commit dddbebb

Browse files
committed
K8s: Config clusterIP, externalName to svc of Hub, Router, EventBus
Signed-off-by: Viet Nguyen Duc <[email protected]>
1 parent 08a9ea1 commit dddbebb

File tree

7 files changed

+58
-4
lines changed

7 files changed

+58
-4
lines changed

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

+9
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,8 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes
185185
| components.router.resources | object | `{}` | Resources for router container |
186186
| components.router.securityContext | object | `{}` | SecurityContext for router container |
187187
| components.router.serviceType | string | `"ClusterIP"` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) |
188+
| components.router.clusterIP | string | `""` | Set specific clusterIP when serviceType is ClusterIP (see https://kubernetes.io/docs/concepts/services-networking/service/#type-clusterip) |
189+
| components.router.externalName | string | `""` | Set specific externalName when serviceType is ExternalName (see https://kubernetes.io/docs/concepts/services-networking/service/#type-externalname) |
188190
| components.router.loadBalancerIP | string | `""` | Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) |
189191
| components.router.serviceAnnotations | object | `{}` | Custom annotations for router service |
190192
| components.router.tolerations | list | `[]` | Tolerations for router pods |
@@ -228,6 +230,9 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes
228230
| components.eventBus.resources | object | `{}` | Resources for event-bus container |
229231
| components.eventBus.securityContext | object | `{}` | SecurityContext for event-bus container |
230232
| components.eventBus.serviceType | string | `"ClusterIP"` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) |
233+
| components.eventBus.clusterIP | string | `""` | Set specific clusterIP when serviceType is ClusterIP (see https://kubernetes.io/docs/concepts/services-networking/service/#type-clusterip) |
234+
| components.eventBus.externalName | string | `""` | Set specific externalName when serviceType is ExternalName (see https://kubernetes.io/docs/concepts/services-networking/service/#type-externalname) |
235+
| components.eventBus.loadBalancerIP | string | `""` | Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) |
231236
| components.eventBus.serviceAnnotations | object | `{}` | Custom annotations for Event Bus service |
232237
| components.eventBus.tolerations | list | `[]` | Tolerations for Event Bus pods |
233238
| components.eventBus.nodeSelector | object | `{}` | Node selector for Event Bus pods |
@@ -300,6 +305,8 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes
300305
| hub.resources | object | `{}` | Resources for selenium-hub container |
301306
| hub.securityContext | object | `{}` | SecurityContext for selenium-hub container |
302307
| hub.serviceType | string | `"ClusterIP"` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) |
308+
| hub.clusterIP | string | `""` | Set specific clusterIP when serviceType is ClusterIP (see https://kubernetes.io/docs/concepts/services-networking/service/#type-clusterip) |
309+
| hub.externalName | string | `""` | Set specific externalName when serviceType is ExternalName (see https://kubernetes.io/docs/concepts/services-networking/service/#type-externalname) |
303310
| hub.loadBalancerIP | string | `""` | Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) |
304311
| hub.serviceAnnotations | object | `{}` | Custom annotations for Selenium Hub service |
305312
| hub.tolerations | list | `[]` | Tolerations for selenium-hub pods |
@@ -324,6 +331,8 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes
324331
| monitoring.exporter.port | int | `9199` | |
325332
| monitoring.exporter.service.enabled | bool | `true` | Create a service for exporter |
326333
| monitoring.exporter.service.type | string | `"ClusterIP"` | Service type |
334+
| monitoring.exporter.service.clusterIP | string | `""` | Set specific clusterIP when serviceType is ClusterIP (see https://kubernetes.io/docs/concepts/services-networking/service/#type-clusterip) |
335+
| monitoring.exporter.service.externalName | string | `""` | Set specific externalName when serviceType is ExternalName (see https://kubernetes.io/docs/concepts/services-networking/service/#type-externalname) |
327336
| monitoring.exporter.service.loadBalancerIP | string | `""` | Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) |
328337
| monitoring.exporter.service.nodePort | int | `30199` | Node port for service |
329338
| monitoring.exporter.service.annotations | object | `{}` | Annotations for exporter service |

Diff for: charts/selenium-grid/configs/node/nodePreStop.sh

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,18 @@ probe_name="lifecycle.${1:-"preStop"}"
44
SE_NODE_PORT=${SE_NODE_PORT:-"5555"}
55
ts_format=${SE_LOG_TIMESTAMP_FORMAT:-"%Y-%m-%d %H:%M:%S,%3N"}
66
NODE_CONFIG_DIRECTORY=${NODE_CONFIG_DIRECTORY:-"/opt/bin"}
7-
PRESTOP_WAIT_STRATEGY=${SE_NODE_PRESTOP_WAIT_STRATEGY:-"local"}
7+
PRESTOP_WAIT_STRATEGY=${SE_NODE_PRESTOP_WAIT_STRATEGY:-"deployment"}
88

99
max_time=3
1010
retry_time=5
1111

12-
if [ "${PRESTOP_WAIT_STRATEGY}" = "local" ]; then
13-
echo "$(date -u +"${ts_format}") [${probe_name}] - Using pre-stop strategy local to wait for current sessions to be finished"
12+
if [ "${PRESTOP_WAIT_STRATEGY,,}" = "job" ]; then
13+
echo "$(date -u +"${ts_format}") [${probe_name}] - Using pre-stop strategy Job to wait for current sessions to be finished"
1414
while pgrep -f 'java.*selenium' | grep -v $$; do sleep 5; done
1515
exit 0
1616
fi
1717

18-
echo "$(date -u +"${ts_format}") [${probe_name}] - Using pre-stop strategy remote to wait for current sessions to be finished"
18+
echo "$(date -u +"${ts_format}") [${probe_name}] - Using pre-stop strategy Deployment to wait for current sessions to be finished"
1919

2020
ID=$(echo $RANDOM)
2121
tmp_node_file="/tmp/nodeProbe${ID}"

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

+9
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,15 @@ spec:
1818
app: {{ template "seleniumGrid.eventBus.fullname" . }}
1919
app.kubernetes.io/instance: {{ .Release.Name }}
2020
type: {{ .Values.components.eventBus.serviceType }}
21+
{{- if and (eq .Values.components.eventBus.serviceType "ClusterIP") ( .Values.components.eventBus.clusterIP ) }}
22+
clusterIP: {{ .Values.components.eventBus.clusterIP }}
23+
{{- end }}
24+
{{- if and (eq .Values.components.eventBus.serviceType "ExternalName") ( .Values.components.eventBus.externalName ) }}
25+
externalName: {{ .Values.components.eventBus.externalName }}
26+
{{- end }}
27+
{{- if and (eq .Values.components.eventBus.serviceType "LoadBalancer") ( .Values.components.eventBus.loadBalancerIP ) }}
28+
loadBalancerIP: {{ .Values.components.eventBus.loadBalancerIP }}
29+
{{- end }}
2130
ports:
2231
- name: http-evtbus
2332
protocol: TCP

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

+6
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,12 @@ spec:
1818
app: {{ template "seleniumGrid.hub.fullname" . }}
1919
app.kubernetes.io/instance: {{ .Release.Name }}
2020
type: {{ .Values.hub.serviceType }}
21+
{{- if and (eq .Values.hub.serviceType "ClusterIP") ( .Values.hub.clusterIP ) }}
22+
clusterIP: {{ .Values.hub.clusterIP }}
23+
{{- end }}
24+
{{- if and (eq .Values.hub.serviceType "ExternalName") ( .Values.hub.externalName ) }}
25+
externalName: {{ .Values.hub.externalName }}
26+
{{- end }}
2127
{{- if and (eq .Values.hub.serviceType "LoadBalancer") ( .Values.hub.loadBalancerIP ) }}
2228
loadBalancerIP: {{ .Values.hub.loadBalancerIP }}
2329
{{- end }}

Diff for: charts/selenium-grid/templates/monitoring-exporter-service.yaml

+6
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@ spec:
1313
app: {{ template "seleniumGrid.monitoring.exporter.fullname" $ }}
1414
app.kubernetes.io/name: {{ template "seleniumGrid.monitoring.exporter.fullname" $ }}
1515
type: {{ .Values.monitoring.exporter.service.type }}
16+
{{- if and (eq .Values.monitoring.exporter.service.type "ClusterIP") ( .Values.monitoring.exporter.service.clusterIP ) }}
17+
clusterIP: {{ .Values.monitoring.exporter.service.clusterIP }}
18+
{{- end }}
19+
{{- if and (eq .Values.monitoring.exporter.service.type "ExternalName") ( .Values.monitoring.exporter.service.externalName ) }}
20+
externalName: {{ .Values.monitoring.exporter.service.externalName }}
21+
{{- end }}
1622
{{- if and (eq .Values.monitoring.exporter.service.type "LoadBalancer") ( .Values.monitoring.exporter.service.loadBalancerIP ) }}
1723
loadBalancerIP: {{ .Values.monitoring.exporter.service.loadBalancerIP }}
1824
{{- end }}

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

+6
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,12 @@ spec:
1818
app: {{ template "seleniumGrid.router.fullname" . }}
1919
app.kubernetes.io/instance: {{ .Release.Name }}
2020
type: {{ .Values.components.router.serviceType }}
21+
{{- if and (eq .Values.components.router.serviceType "ClusterIP") ( .Values.components.router.clusterIP ) }}
22+
clusterIP: {{ .Values.components.router.clusterIP }}
23+
{{- end }}
24+
{{- if and (eq .Values.components.router.serviceType "ExternalName") ( .Values.components.router.externalName ) }}
25+
externalName: {{ .Values.components.router.externalName }}
26+
{{- end }}
2127
{{- if and (eq .Values.components.router.serviceType "LoadBalancer") (.Values.components.router.loadBalancerIP) }}
2228
loadBalancerIP: {{ .Values.components.router.loadBalancerIP }}
2329
{{- end }}

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

+18
Original file line numberDiff line numberDiff line change
@@ -442,6 +442,10 @@ components:
442442
securityContext: {}
443443
# -- Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types)
444444
serviceType: ClusterIP
445+
# -- Set specific clusterIP when serviceType is ClusterIP (see https://kubernetes.io/docs/concepts/services-networking/service/#type-clusterip)
446+
clusterIP: ""
447+
# -- Set specific externalName when serviceType is ExternalName (see https://kubernetes.io/docs/concepts/services-networking/service/#type-externalname)
448+
externalName: ""
445449
# -- Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer)
446450
loadBalancerIP: ""
447451
# -- Custom annotations for router service
@@ -559,6 +563,12 @@ components:
559563
securityContext: {}
560564
# -- Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types)
561565
serviceType: ClusterIP
566+
# -- Set specific clusterIP when serviceType is ClusterIP (see https://kubernetes.io/docs/concepts/services-networking/service/#type-clusterip)
567+
clusterIP: ""
568+
# -- Set specific externalName when serviceType is ExternalName (see https://kubernetes.io/docs/concepts/services-networking/service/#type-externalname)
569+
externalName: ""
570+
# -- Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer)
571+
loadBalancerIP: ""
562572
# -- Custom annotations for Event Bus service
563573
serviceAnnotations: {}
564574
# -- Tolerations for Event Bus pods
@@ -780,6 +790,10 @@ hub:
780790
securityContext: {}
781791
# -- Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types)
782792
serviceType: ClusterIP
793+
# -- Set specific clusterIP when serviceType is ClusterIP (see https://kubernetes.io/docs/concepts/services-networking/service/#type-clusterip)
794+
clusterIP: ""
795+
# -- Set specific externalName when serviceType is ExternalName (see https://kubernetes.io/docs/concepts/services-networking/service/#type-externalname)
796+
externalName: ""
783797
# -- Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer)
784798
loadBalancerIP: ""
785799
# -- Custom annotations for Selenium Hub service
@@ -834,6 +848,10 @@ monitoring:
834848
enabled: true
835849
# -- Service type
836850
type: ClusterIP
851+
# -- Set specific clusterIP when serviceType is ClusterIP (see https://kubernetes.io/docs/concepts/services-networking/service/#type-clusterip)
852+
clusterIP: ""
853+
# -- Set specific externalName when serviceType is ExternalName (see https://kubernetes.io/docs/concepts/services-networking/service/#type-externalname)
854+
externalName: ""
837855
# -- Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer)
838856
loadBalancerIP: ""
839857
# -- Node port for service

0 commit comments

Comments
 (0)