Files
Nikolai SträssleandGitHub 3f90349c66 [stable/selenium]: Add volumes to firefox pods (#23755)
* Add volumes to firefox pods

Add the option to mount a volume /dev/shm for Firefox Sometimes the 
default is not enough and more memory is needed.

Signed-off-by: Nikolai Strässle <nikolai.straessle@gmail.com>

* Add volumes to firefox pods

Update the readme.md for commit 
https://github.com/nikolaistraessle/charts/commit/ef3e2fe0ded4ce5110bd7257fe1bb55309516178

Signed-off-by: Nikolai Strässle <nikolai.straessle@gmail.com>
2020-09-13 15:34:58 -07:00

569 lines
16 KiB
YAML

global:
## NodeSelector to be used in every deployment
## hub, chrome, firefox, chromeDebug and firefoxDebug
## can also be specified at chart level see below
nodeSelector:
# label: value
## Configure HostAliases
hostAliases: []
affinity:
# label: value
tolerations:
# label: value
## imagePullSecrets is the secret to use to pull the image from in case of a private flavour image
## to be used in every deployment hub, chrome, firefox, chromeDebug and firefoxDebug
## can also be specified at chart level see below.
## Specifying secret at a chart level will override the global option
imagePullSecrets:
hub:
## The repository and image
## ref: https://hub.docker.com/r/selenium/hub/
image: "selenium/hub"
## The tag for the image
## ref: https://hub.docker.com/r/selenium/hub/tags/
tag: "3.141.59"
## imagePullSecrets is the secret to use to pull the image from in case of a private flavour image
# imagePullSecrets: "regcred"
## Specify an imagePullPolicy
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
pullPolicy: "IfNotPresent"
## The port which the hub listens on
port: 4444
## The port the service listens on
servicePort: 4444
## nodePort - The node port the service exposed on
# nodePort: 30044
## Timeout for probe Hub readiness via HTTP request on hub.probePath
readinessTimeout: 1
## Initial delay before performing the first readinessProbe
readinessDelay: 15
## Timeout for probe Hub liveness via HTTP request on hub.probePath
livenessTimeout: 1
## Path for checking readiness and liveness via HTTP Request
probePath: "/wd/hub/status"
# Configure security context on the hub pod
# securityContext:
# fsGroup: 1000
# runAsUser: 1000
## Additional environment variables to set
extraEnvs: []
# extraEnvs:
# - name: FOO
# valueFrom:
# secretKeyRef:
# key: FOO
# name: secret-resource
## Set the JAVA_TOOL_OPTIONS environment variable
## If you find your selenium hub is OOMKilled, try adding -XX:+UseSerialGC
javaOpts: "-Xmx400m"
## Set the SE_OPTS environment variable
## ref: http://www.seleniumhq.org/docs/07_selenium_grid.jsp#node-configuration
# seOpts:
## Defining a JMX port will open the port on the container, however, it
## requires additional javaOpts, ie
## javaOpts: >
## -Dcom.sun.management.jmxremote.port=4000
## -Dcom.sun.management.jmxremote.authenticate=false
## -Dcom.sun.management.jmxremote.ssl=false
## ref: http://openjdk.java.net/groups/jmx/
# jmxPort: 4000
## Configure resource requests and limits
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
resources:
limits:
cpu: ".5"
memory: "512Mi"
## Configure annotations on the hub pod
podAnnotations: {}
## Configure labels on the hub pod
podLabels: {}
## The type of service to create
## Values: ClusterIP, NodePort, LoadBalancer, or ExternalName
## ref: https://kubernetes.io/docs/user-guide/services/
serviceType: "LoadBalancer"
## The LoadBalancer IP Address
## ref: https://kubernetes.io/docs/user-guide/services/
## serviceLoadBalancerIP: "40.121.183.52"
loadBalancerSourceRanges: []
## Control where client requests go, to the same pod or round-robin
## Values: ClientIP or None
## ref: https://kubernetes.io/docs/user-guide/services/
serviceSessionAffinity: "None"
## Define various attributes of the service
# serviceAnnotations:
# # internal AWS ELB
# service.beta.kubernetes.io/aws-load-balancer-internal: "0.0.0.0/0"
## ref: https://github.com/SeleniumHQ/selenium/wiki/Grid2#configuring-the-nodes
## In milliseconds
# gridNewSessionWaitTimeout: -1
# gridJettyMaxThreads: -1
## In milliseconds
# gridNodePolling: 5000
## In milliseconds
# gridCleanUpCycle: 5000
## In seconds
# gridTimeout: 30
## In seconds
# gridBrowserTimeout: 0
# gridMaxSession: 5
## In milliseconds
# gridUnregisterIfStillDownAfter: 30000
# timeZone: UTC
## NodeSelector to be used for the hub
nodeSelector:
# label: value
ingress:
enabled: false
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
path: /
hosts:
- selenium-hub.local
tls: []
# - secretName: selenium-hub-tls
# hosts:
# - selenium-hub.local
chrome:
## Enable the creation of a node-chrome pod
enabled: false
## DaemonSet instead of Deployment
runAsDaemonSet: false
## The repository and image
## ref: https://hub.docker.com/r/selenium/node-chrome/
image: "selenium/node-chrome"
## The tag for the image
## ref: https://hub.docker.com/r/selenium/node-chrome/tags/
tag: "3.141.59"
## imagePullSecrets is the secret to use to pull the image from in case of a private flavour image
# imagePullSecrets: "regcred"
## Specify an imagePullPolicy
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
pullPolicy: "IfNotPresent"
## The number of pods in the deployment. This is ignored if runAsDaemonSet is enabled.
replicas: 1
## When true will add a liveness check to the pod
enableLivenessProbe: false
## When true will wait for current running sessions to finish before terminating the pod
waitForRunningSessions: false
## Configure annotations on the chrome pods
podAnnotations: {}
## Configure Labels on the chrome pods
podLabels: {}
# Configure security context on the chrome pods
# securityContext:
# fsGroup: 1000
# runAsUser: 1000
## Additional environment variables to set
extraEnvs: []
# extraEnvs:
# - name: FOO
# valueFrom:
# secretKeyRef:
# key: FOO
# name: secret-resource
## Set the JAVA_TOOL_OPTIONS environment variable
## If you find your selenium node is OOMKilled, try adding -XX:+UseSerialGC
javaOpts: "-Xmx900m"
## Set the SE_OPTS environment variable
## ref: http://www.seleniumhq.org/docs/07_selenium_grid.jsp#node-configuration
# seOpts:
## Defining a JMX port will open the port on the container, however, it
## requires additional javaOpts, ie
## javaOpts: >
## -Dcom.sun.management.jmxremote.port=4000
## -Dcom.sun.management.jmxremote.authenticate=false
## -Dcom.sun.management.jmxremote.ssl=false
## ref: http://openjdk.java.net/groups/jmx/
# jmxPort: 4000
## User defined volumes
## ref: https://kubernetes.io/docs/user-guide/volumes/
volumes:
## https://github.com/kubernetes/kubernetes/pull/34928#issuecomment-277952723
## http://stackoverflow.com/questions/39852716/chrome-driver-throwing-org-openqa-selenium-remote-sessionnotfoundexception-whe
## Chrome wants more than 64mb of shared memory. Docker/k8s default to 64mb.
- name: dshm
emptyDir:
medium: Memory
volumeMounts:
- mountPath: /dev/shm
name: dshm
## Configure resource requests and limits
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
resources:
limits:
cpu: ".5"
memory: "1000Mi"
## Characteristics of the browser window
# screenWidth: 1280
# screenHeight: 1024
# screenDepth: 24
# display: :10
## Selenium node options
# chromeVersion:
# nodeMaxInstances: 1
# nodeMaxSession: 1
## In milliseconds
# nodeRegisterCycle: 5000
# nodePort: 5555
# timeZone: UTC
## NodeSelector to be used for chrome
nodeSelector:
# label: value
chromeDebug:
## Enable the creation of a node-chrome-debug pod
enabled: false
## DaemonSet instead of Deployment
runAsDaemonSet: false
## The repository and image
## ref: https://hub.docker.com/r/selenium/node-chrome-debug/
image: "selenium/node-chrome-debug"
## The tag for the image
## ref: https://hub.docker.com/r/selenium/node-chrome-debug/tags/
tag: "3.141.59"
## imagePullSecrets is the secret to use to pull the image from in case of a private flavour image
# imagePullSecrets: "regcred"
## Specify an imagePullPolicy
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
pullPolicy: "IfNotPresent"
## The number of pods in the deployment. This is ignored if runAsDaemonSet is enabled.
replicas: 1
## When true will add a liveness check to the pod
enableLivenessProbe: false
## When true will wait for current running sessions to finish before terminating the pod
waitForRunningSessions: false
## Configure annotations on the chrome debug pods
podAnnotations: {}
## Configure labels on the chrome debug pods
podLabels: {}
# Configure security context on the chrome debug pods
# securityContext:
# fsGroup: 1000
# runAsUser: 1000
## Additional environment variables to set
extraEnvs: []
# extraEnvs:
# - name: FOO
# valueFrom:
# secretKeyRef:
# key: FOO
# name: secret-resource
## Set the JAVA_TOOL_OPTIONS environment variable
## If you find your selenium hub is OOMKilled, try adding -XX:+UseSerialGC
javaOpts: "-Xmx900m"
## Set the SE_OPTS environment variable
## ref: http://www.seleniumhq.org/docs/07_selenium_grid.jsp#node-configuration
# seOpts:
## Defining a JMX port will open the port on the container, however, it
## requires additional javaOpts, ie
## javaOpts: >
## -Dcom.sun.management.jmxremote.port=4000
## -Dcom.sun.management.jmxremote.authenticate=false
## -Dcom.sun.management.jmxremote.ssl=false
## ref: http://openjdk.java.net/groups/jmx/
# jmxPort: 4000
## User defined volumes
## ref: https://kubernetes.io/docs/user-guide/volumes/
volumes:
## https://github.com/kubernetes/kubernetes/pull/34928#issuecomment-277952723
## http://stackoverflow.com/questions/39852716/chrome-driver-throwing-org-openqa-selenium-remote-sessionnotfoundexception-whe
## Chrome wants more than 64mb of shared memory. Docker/k8s default to 64mb.
- name: dshm
emptyDir:
medium: Memory
volumeMounts:
- mountPath: /dev/shm
name: dshm
## Configure resource requests and limits
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
resources:
limits:
cpu: ".5"
memory: "1500Mi"
## Characteristics of the browser window
# screenWidth: 1280
# screenHeight: 1024
# screenDepth: 24
# display: :10
## Selenium node options
# chromeVersion:
# nodeMaxInstances: 1
# nodeMaxSession: 1
## In milliseconds
# nodeRegisterCycle: 5000
# nodePort: 5555
# timeZone: UTC
## NodeSelector to be used for chromeDebug
nodeSelector:
# label: value
firefox:
## Enable the creation of a node-firefox pod
enabled: false
## DaemonSet instead of Deployment
runAsDaemonSet: false
## The repository and image
## ref: https://hub.docker.com/r/selenium/node-firefox/
image: "selenium/node-firefox"
## The tag for the image
## ref: https://hub.docker.com/r/selenium/node-firefox/tags/
tag: "3.141.59"
## imagePullSecrets is the secret to use to pull the image from in case of a private flavour image
# imagePullSecrets: "regcred"
## Specify an imagePullPolicy
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
pullPolicy: "IfNotPresent"
## The number of pods in the deployment. This is ignored if runAsDaemonSet is enabled.
replicas: 1
## When true will add a liveness check to the pod
enableLivenessProbe: false
## When true will wait for current running sessions to finish before terminating the pod
waitForRunningSessions: false
## Configure annotations on the firefox pods
podAnnotations: {}
## Configure labels on the firefox pods
podLabels: {}
# Configure security context on the firefox pods
# securityContext:
# fsGroup: 1000
# runAsUser: 1000
## Additional environment variables to set
extraEnvs: []
# extraEnvs:
# - name: FOO
# valueFrom:
# secretKeyRef:
# key: FOO
# name: secret-resource
## Set the JAVA_TOOL_OPTIONS environment variable
## If you find your selenium hub is OOMKilled, try adding -XX:+UseSerialGC
javaOpts: "-Xmx900m"
## Set the SE_OPTS environment variable
## ref: http://www.seleniumhq.org/docs/07_selenium_grid.jsp#node-configuration
# seOpts:
## Defining a JMX port will open the port on the container, however, it
## requires additional javaOpts, ie
## javaOpts: >
## -Dcom.sun.management.jmxremote.port=4000
## -Dcom.sun.management.jmxremote.authenticate=false
## -Dcom.sun.management.jmxremote.ssl=false
## ref: http://openjdk.java.net/groups/jmx/
# jmxPort: 4000
volumes:
## https://docs.openshift.com/container-platform/3.6/dev_guide/shared_memory.html
- name: dshm
emptyDir:
medium: Memory
volumeMounts:
- mountPath: /dev/shm
name: dshm
## Configure resource requests and limits
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
resources:
limits:
cpu: ".5"
memory: "1000Mi"
## Characteristics of the browser window
# screenWidth: 1280
# screenHeight: 1024
# screenDepth: 24
# display: :10
## Selenium node options
# firefoxVersion:
# nodeMaxInstances: 1
# nodeMaxSession: 1
## In milliseconds
# nodeRegisterCycle: 5000
# nodePort: 5555
# timeZone: UTC
## NodeSelector to be used for firefox
nodeSelector:
# label: value
firefoxDebug:
## Enable the creation of a node-firefox-debug pod
enabled: false
## DaemonSet instead of Deployment
runAsDaemonSet: false
## The repository and image
## ref: https://hub.docker.com/r/selenium/node-firefox-debug/
image: "selenium/node-firefox-debug"
## The tag for the image
## ref: https://hub.docker.com/r/selenium/node-firefox-debug/tags/
tag: "3.141.59"
## imagePullSecrets is the secret to use to pull the image from in case of a private flavour image
# imagePullSecrets: "regcred"
## Specify an imagePullPolicy
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
pullPolicy: "IfNotPresent"
## The number of pods in the deployment. This is ignored if runAsDaemonSet is enabled.
replicas: 1
## When true will add a liveness check to the pod
enableLivenessProbe: false
## When true will wait for current running sessions to finish before terminating the pod
waitForRunningSessions: false
## Configure annotations on the firefox debug pods
podAnnotations: {}
## Configure labels on the firefox debug pods
podLabels: {}
# Configure security context on the firefox debug pods
# securityContext:
# fsGroup: 1000
# runAsUser: 1000
## Additional environment variables to set
extraEnvs: []
# extraEnvs:
# - name: FOO
# valueFrom:
# secretKeyRef:
# key: FOO
# name: secret-resource
## Set the JAVA_TOOL_OPTIONS environment variable
## If you find your selenium hub is OOMKilled, try adding -XX:+UseSerialGC
javaOpts: "-Xmx900m"
## Set the SE_OPTS environment variable
## ref: http://www.seleniumhq.org/docs/07_selenium_grid.jsp#node-configuration
# seOpts:
## Defining a JMX port will open the port on the container, however, it
## requires additional javaOpts, ie
## javaOpts: >
## -Dcom.sun.management.jmxremote.port=4000
## -Dcom.sun.management.jmxremote.authenticate=false
## -Dcom.sun.management.jmxremote.ssl=false
## ref: http://openjdk.java.net/groups/jmx/
# jmxPort: 4000
volumes:
## https://docs.openshift.com/container-platform/3.6/dev_guide/shared_memory.html
- name: dshm
emptyDir:
medium: Memory
volumeMounts:
- mountPath: /dev/shm
name: dshm
## Configure resource requests and limits
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
resources:
limits:
cpu: ".5"
memory: "1500Mi"
## Characteristics of the browser window
# screenWidth: 1280
# screenHeight: 1024
# screenDepth: 24
# display: :10
## Selenium node options
# firefoxVersion:
# nodeMaxInstances: 1
# nodeMaxSession: 1
## In milliseconds
# nodeRegisterCycle: 5000
# nodePort: 5555
# timeZone: UTC
## NodeSelector to be used for firefoxDebug
nodeSelector:
# label: value