apiVersion: apps/v1 kind: Deployment metadata: name: selenium-hub labels: app: selenium-hub spec: replicas: 1 selector: matchLabels: app: selenium-hub template: metadata: labels: app: selenium-hub spec: containers: - name: selenium-hub image: selenium/hub:latest env: - name: SE_SUB_PATH value: /qlabv2 ports: - containerPort: 4444 - containerPort: 4443 - containerPort: 4442 resources: limits: memory: "4000Mi" cpu: "2" requests: memory: "4000Mi" cpu: "2" livenessProbe: httpGet: path: /wd/hub/status port: 4444 initialDelaySeconds: 30 timeoutSeconds: 5 readinessProbe: httpGet: path: /wd/hub/status port: 4444 initialDelaySeconds: 30 timeoutSeconds: 5 --- apiVersion: v1 kind: Service metadata: name: selenium-hub namespace: default labels: app: selenium-hub spec: selector: app: selenium-hub type: ClusterIP ports: - name: http-hub protocol: TCP port: 4444 targetPort: 4444 - name: tcp-hub-pub protocol: TCP port: 4442 targetPort: 4442 - name: tcp-hub-sub protocol: TCP port: 4443 targetPort: 4443 --- apiVersion: v1 kind: Pod metadata: name: selenium-node-chrome labels: name: selenium-node-chrome app: selenium-node-chrome spec: volumes: - name: dshm emptyDir: medium: Memory containers: - name: selenium-node-chrome image: selenium/node-chrome:4.13.0-20231004 ports: - containerPort: 5555 volumeMounts: - mountPath: /dev/shm name: dshm env: - name: SE_EVENT_BUS_HOST value: "selenium-hub" - name: SE_EVENT_BUS_SUBSCRIBE_PORT value: "4443" - name: SE_EVENT_BUS_PUBLISH_PORT value: "4442" - name: SE_NODE_MAX_SESSIONS value: "2" - name: SE_NODE_GRID_URL value: "http://selenium-hub:4444/qlabv2" resources: limits: memory: "1000Mi" cpu: ".5" --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: selenium-ingress namespace: default annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/app-root: /qlabv2 nginx.ingress.kubernetes.io/rewrite-target: /$2 nginx.ingress.kubernetes.io/use-regex: "true" spec: rules: - http: paths: - path: /qlabv2(/|$)(.*) pathType: Prefix backend: service: name: selenium-hub port: number: 4444 - http: paths: - path: /(/?)(session/.*/se/vnc) pathType: Prefix backend: service: name: selenium-hub port: number: 4444