diff --git a/charts/selenium-grid/README.md b/charts/selenium-grid/README.md index bc600d82fb..ea3074ac19 100644 --- a/charts/selenium-grid/README.md +++ b/charts/selenium-grid/README.md @@ -161,6 +161,7 @@ You can configure the Selenium Hub with this values: | `hub.extraEnvFrom` | `nil` | Custom environment variables for selenium taken from `configMap` or `secret`-hub | | `hub.resources` | `{}` | Resources for selenium-hub container | | `hub.serviceType` | `NodePort` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | +| `hub.loadBalancerIP` | `nil` | Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) | | `hub.serviceAnnotations` | `{}` | Custom annotations for Selenium Hub service | @@ -179,6 +180,7 @@ If you implement selenium-grid with separate components (`isolateComponents: tru | `components.router.readinessProbe` | `See values.yaml` | Readiness probe settings | | `components.router.resources` | `{}` | Resources for router container | | `components.router.serviceType` | `NodePort` | Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) | +| `components.router.loadBalancerIP` | `nil` | Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) | | `components.router.serviceAnnotations` | `{}` | Custom annotations for router service | | `components.router.tolerations` | `[]` | Tolerations for router pods | | `components.router.nodeSelector` | `{}` | Node Selector for router pods | diff --git a/charts/selenium-grid/templates/hub-service.yaml b/charts/selenium-grid/templates/hub-service.yaml index 316d8d540a..7a9474b3e3 100644 --- a/charts/selenium-grid/templates/hub-service.yaml +++ b/charts/selenium-grid/templates/hub-service.yaml @@ -17,6 +17,9 @@ spec: selector: app: selenium-hub type: {{ .Values.hub.serviceType }} + {{- if and (eq .Values.hub.serviceType "LoadBalancer") ( .Values.hub.loadBalancerIP ) }} + loadBalancerIP: {{ .Values.hub.loadBalancerIP }} + {{- end }} ports: - name: http-hub protocol: TCP diff --git a/charts/selenium-grid/templates/router-service.yaml b/charts/selenium-grid/templates/router-service.yaml index 45b910bd20..9b2c87d43e 100644 --- a/charts/selenium-grid/templates/router-service.yaml +++ b/charts/selenium-grid/templates/router-service.yaml @@ -17,6 +17,9 @@ spec: selector: app: selenium-router type: {{ .Values.components.router.serviceType }} + {{- if and (eq .Values.components.router.serviceType "LoadBalancer") (.Values.components.router.loadBalancerIP) }} + loadBalancerIP: {{ .Values.components.router.loadBalancerIP }} + {{- end }} ports: - name: tcp-router protocol: TCP diff --git a/charts/selenium-grid/values.yaml b/charts/selenium-grid/values.yaml index 79d9ca6319..232f291bde 100644 --- a/charts/selenium-grid/values.yaml +++ b/charts/selenium-grid/values.yaml @@ -66,6 +66,8 @@ components: resources: {} # Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) serviceType: ClusterIP + # Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) + loadBalancerIP: "" # Custom annotations for router service serviceAnnotations: {} # Tolerations for router pods @@ -253,6 +255,8 @@ hub: resources: {} # Kubernetes service type (see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) serviceType: ClusterIP + # Set specific loadBalancerIP when serviceType is LoadBalancer (see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) + loadBalancerIP: "" # Custom annotations for Selenium Hub service serviceAnnotations: {} # Tolerations for selenium-hub pods