Files
selenium-4-grid-k8s-docker/deploy.yml

477 lines
11 KiB
YAML

# To execute this yml file, use this command in your local kubernetes environment `kubectl apply -f deploy.yml`
# Event Bus
apiVersion: v1
kind: Service
metadata:
name: selenium-event-bus
labels:
name: selenium-event-bus
component: "selenium-4-grid-k8s-docker"
spec:
selector:
app: selenium-event-bus
ports:
- name: port1
protocol: TCP
port: 4442
targetPort: 4442
- name: port2
protocol: TCP
port: 4443
targetPort: 4443
- name: port3
protocol: TCP
port: 5557
targetPort: 5557
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: selenium-event-bus-deployment
labels:
app: selenium-event-bus
name: selenium-event-bus
component: "selenium-4-grid-k8s-docker"
spec:
replicas: 1
selector:
matchLabels:
app: selenium-event-bus
template:
metadata:
labels:
app: selenium-event-bus
name: selenium-event-bus
component: "selenium-4-grid-k8s-docker"
spec:
containers:
- name: selenium-event-bus
image: selenium/event-bus:4.0.0-rc-1-prerelease-20210618
ports:
- containerPort: 4442
protocol: TCP
- containerPort: 4443
protocol: TCP
- containerPort: 5557
protocol: TCP
---
# Sessions Map
apiVersion: v1
kind: Service
metadata:
name: selenium-sessions
labels:
name: selenium-sessions
component: "selenium-4-grid-k8s-docker"
spec:
selector:
app: selenium-sessions
ports:
- name: port1
protocol: TCP
port: 5556
targetPort: 5556
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: selenium-sessions-deployment
labels:
app: selenium-sessions
name: selenium-sessions
component: "selenium-4-grid-k8s-docker"
spec:
replicas: 1
selector:
matchLabels:
app: selenium-sessions
template:
metadata:
labels:
app: selenium-sessions
name: selenium-sessions
component: "selenium-4-grid-k8s-docker"
spec:
containers:
- name: selenium-sessions
image: selenium/sessions:4.0.0-rc-1-prerelease-20210618
env:
- name: SE_EVENT_BUS_HOST
value: "selenium-event-bus"
- name: SE_EVENT_BUS_PUBLISH_PORT
value: "4442"
- name: SE_EVENT_BUS_SUBSCRIBE_PORT
value: "4443"
ports:
- containerPort: 5556
protocol: TCP
---
#Session Queuer
apiVersion: v1
kind: Service
metadata:
name: selenium-session-queuer
labels:
name: selenium-session-queuer
component: "selenium-4-grid-k8s-docker"
spec:
selector:
app: selenium-session-queuer
ports:
- name: port1
protocol: TCP
port: 5559
targetPort: 5559
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: selenium-session-queuer-deployment
labels:
app: selenium-session-queuer
name: selenium-session-queuer
component: "selenium-4-grid-k8s-docker"
spec:
replicas: 1
selector:
matchLabels:
app: selenium-session-queuer
template:
metadata:
labels:
app: selenium-session-queuer
name: selenium-session-queuer
component: "selenium-4-grid-k8s-docker"
spec:
containers:
- name: selenium-session-queuer
image: selenium/session-queuer:4.0.0-rc-1-prerelease-20210618
env:
- name: SE_EVENT_BUS_HOST
value: "selenium-event-bus"
- name: SE_EVENT_BUS_PUBLISH_PORT
value: "4442"
- name: SE_EVENT_BUS_SUBSCRIBE_PORT
value: "4443"
ports:
- containerPort: 5556
protocol: TCP
---
# Distributor
apiVersion: v1
kind: Service
metadata:
name: selenium-distributor
labels:
name: selenium-distributor
component: "selenium-4-grid-k8s-docker"
spec:
selector:
app: selenium-distributor
ports:
- name: port1
protocol: TCP
port: 5553
targetPort: 5553
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: selenium-distributor-deployment
labels:
app: selenium-distributor
name: selenium-distributor
component: "selenium-4-grid-k8s-docker"
spec:
replicas: 1
selector:
matchLabels:
app: selenium-distributor
template:
metadata:
labels:
app: selenium-distributor
name: selenium-distributor
component: "selenium-4-grid-k8s-docker"
spec:
containers:
- name: selenium-distributor
image: selenium/distributor:4.0.0-rc-1-prerelease-20210618
env:
- name: SE_EVENT_BUS_HOST
value: "selenium-event-bus"
- name: SE_EVENT_BUS_PUBLISH_PORT
value: "4442"
- name: SE_EVENT_BUS_SUBSCRIBE_PORT
value: "4443"
- name: SE_SESSIONS_MAP_HOST
value: "selenium-sessions"
- name: SE_SESSIONS_MAP_PORT
value: "5556"
- name: SE_SESSION_QUEUER_HOST
value: "selenium-session-queuer"
- name: SE_SESSION_QUEUER_PORT
value: "5559"
ports:
- containerPort: 5553
protocol: TCP
---
# Router
apiVersion: v1
kind: Service
metadata:
name: selenium-router
labels:
name: selenium-router
component: "selenium-4-grid-k8s-docker"
spec:
selector:
app: selenium-router
ports:
- name: web
protocol: TCP
port: 4444
targetPort: 4444
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: selenium-router-deployment
labels:
app: selenium-router
name: selenium-router
component: "selenium-4-grid-k8s-docker"
spec:
replicas: 1
selector:
matchLabels:
app: selenium-router
template:
metadata:
labels:
app: selenium-router
name: selenium-router
component: "selenium-4-grid-k8s-docker"
spec:
containers:
- name: selenium-router
image: selenium/router:4.0.0-rc-1-prerelease-20210618
env:
- name: SE_DISTRIBUTOR_HOST
value: "selenium-distributor"
- name: SE_DISTRIBUTOR_PORT
value: "5553"
- name: SE_SESSIONS_MAP_HOST
value: "selenium-sessions"
- name: SE_SESSIONS_MAP_PORT
value: "5556"
- name: SE_SESSION_QUEUER_HOST
value: "selenium-session-queuer"
- name: SE_SESSION_QUEUER_PORT
value: "5559"
ports:
- containerPort: 4444
protocol: TCP
---
# Chrome Node
apiVersion: v1
kind: Service
metadata:
name: selenium-chrome-node
labels:
name: selenium-chrome-node
component: "selenium-4-grid-k8s-docker"
spec:
selector:
app: selenium-chrome-node
ports:
- name: port1
protocol: TCP
port: 6900
targetPort: 5900
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: selenium-chrome-node-deployment
labels:
app: selenium-chrome-node
name: selenium-chrome-node
component: "selenium-4-grid-k8s-docker"
spec:
replicas: 1
selector:
matchLabels:
app: selenium-chrome-node
template:
metadata:
labels:
app: selenium-chrome-node
name: selenium-chrome-node
component: "selenium-4-grid-k8s-docker"
spec:
containers:
- name: selenium-chrome-node
image: selenium/node-chrome:4.0.0-rc-1-prerelease-20210618
env:
- name: SE_EVENT_BUS_HOST
value: "selenium-event-bus"
- name: SE_EVENT_BUS_PUBLISH_PORT
value: "4442"
- name: SE_EVENT_BUS_SUBSCRIBE_PORT
value: "4443"
ports:
- containerPort: 5553
protocol: TCP
volumeMounts:
- name: dshm
mountPath: /dev/shm
resources:
requests:
memory: "1Gi"
cpu: "1"
limits:
memory: "1Gi"
cpu: "1"
volumes:
- name: dshm
emptyDir: { "medium": "Memory" }
---
# Edge Node
apiVersion: v1
kind: Service
metadata:
name: selenium-edge-node
labels:
name: selenium-edge-node
component: "selenium-4-grid-k8s-docker"
spec:
selector:
app: selenium-edge-node
ports:
- name: port1
protocol: TCP
port: 6901
targetPort: 5900
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: selenium-edge-node-deployment
labels:
app: selenium-edge-node
name: selenium-edge-node
component: "selenium-4-grid-k8s-docker"
spec:
replicas: 1
selector:
matchLabels:
app: selenium-edge-node
template:
metadata:
labels:
app: selenium-edge-node
name: selenium-edge-node
component: "selenium-4-grid-k8s-docker"
spec:
containers:
- name: selenium-edge-node
image: selenium/node-edge:4.0.0-rc-1-prerelease-20210618
env:
- name: SE_EVENT_BUS_HOST
value: "selenium-event-bus"
- name: SE_EVENT_BUS_PUBLISH_PORT
value: "4442"
- name: SE_EVENT_BUS_SUBSCRIBE_PORT
value: "4443"
ports:
- containerPort: 5553
protocol: TCP
volumeMounts:
- name: dshm
mountPath: /dev/shm
resources:
requests:
memory: "1Gi"
cpu: "1"
limits:
memory: "1Gi"
cpu: "1"
volumes:
- name: dshm
emptyDir: { "medium": "Memory" }
---
# Firefox Node
apiVersion: v1
kind: Service
metadata:
name: selenium-ff-node
labels:
name: selenium-ff-node
component: "selenium-4-grid-k8s-docker"
spec:
selector:
app: selenium-ff-node
ports:
- name: port1
protocol: TCP
port: 6902
targetPort: 5900
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: selenium-ff-node-deployment
labels:
app: selenium-ff-node
name: selenium-ff-node
component: "selenium-4-grid-k8s-docker"
spec:
replicas: 1
selector:
matchLabels:
app: selenium-ff-node
template:
metadata:
labels:
app: selenium-ff-node
name: selenium-ff-node
component: "selenium-4-grid-k8s-docker"
spec:
containers:
- name: selenium-ff-node
image: selenium/node-firefox:4.0.0-rc-1-prerelease-20210618
env:
- name: SE_EVENT_BUS_HOST
value: "selenium-event-bus"
- name: SE_EVENT_BUS_PUBLISH_PORT
value: "4442"
- name: SE_EVENT_BUS_SUBSCRIBE_PORT
value: "4443"
ports:
- containerPort: 5553
protocol: TCP
volumeMounts:
- name: dshm
mountPath: /dev/shm
resources:
requests:
memory: "1Gi"
cpu: "1"
limits:
memory: "1Gi"
cpu: "1"
volumes:
- name: dshm
emptyDir: { "medium": "Memory" }