apiVersion: apps/v1 kind: Deployment metadata: name: selenium-hub spec: replicas: 1 selector: matchLabels: app: selenium-hub template: metadata: labels: app: selenium-hub spec: tolerations: - key: "node.kubernetes.io/disk-pressure" operator: "Exists" effect: "NoSchedule" containers: - name: selenium-hub image: selenium/hub:latest ports: - containerPort: 4444 --- apiVersion: v1 kind: Service metadata: name: selenium-hub spec: selector: app: selenium-hub ports: - port: 4444 name: http targetPort: 4444 - port: 4442 name: publish targetPort: 4442 - port: 4443 name: subscribe targetPort: 4443 --- apiVersion: apps/v1 kind: Deployment metadata: name: selenium-node-chrome spec: replicas: 1 selector: matchLabels: app: selenium-node-chrome template: metadata: labels: app: selenium-node-chrome spec: tolerations: - key: "node.kubernetes.io/disk-pressure" operator: "Exists" effect: "NoSchedule" containers: - name: selenium-node-chrome image: selenium/node-chrome:latest env: - name: SE_EVENT_BUS_HOST value: "selenium-hub" - name: SE_EVENT_BUS_PUBLISH_PORT value: "4442" - name: SE_EVENT_BUS_SUBSCRIBE_PORT value: "4443" volumeMounts: - name: dshm mountPath: /dev/shm volumes: - name: dshm emptyDir: medium: Memory --- apiVersion: apps/v1 kind: Deployment metadata: name: gisp-scraper spec: replicas: 1 selector: matchLabels: app: gisp-scraper template: metadata: labels: app: gisp-scraper spec: tolerations: - key: "node.kubernetes.io/disk-pressure" operator: "Exists" effect: "NoSchedule" containers: - name: gisp-scraper image: git.danilkolesnikov.ru/flash/gisp-scraper:latest ports: - containerPort: 8000 env: - name: SELENIUM_HUB_URL value: "http://selenium-hub:4444/wd/hub" --- apiVersion: v1 kind: Service metadata: name: gisp-scraper spec: selector: app: gisp-scraper ports: - protocol: TCP port: 80 targetPort: 8000 type: ClusterIP