简体   繁体   English

Selenium 4.0 Kubernetes 部署在节点注册时失败

[英]Selenium 4.0 Kubernetes deployment failing at node registration

In Kubernetes cluster I am trying to build a selenium hub and node.在 Kubernetes 集群中,我正在尝试构建一个 selenium 集线器和节点。 I am able to do it in the distributive mode, but trying to do in hub node mode.我可以在分布式模式下执行此操作,但尝试在集线器节点模式下执行此操作。

Hub-deployment.yaml Hub-deployment.yaml

apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: selenium-hub
spec:
  selector:
    matchLabels:
      app: selenium-hub
  replicas: 1
  template:
    metadata:
      labels:
        app: selenium-hub
    spec:
      containers:
        - name: selenium-hub
          image: selenium/hub:4.0 
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 4444
          resources:
            limits:
              cpu: 1000m
              memory: 1000Mi
            requests:
              cpu: 50m
              memory: 100Mi
      imagePullSecrets:
        - name: regcred 

hub-service.yaml集线器服务.yaml

apiVersion: v1
kind: Service
metadata:
  name: selenium-hub
spec:
  ports:
  - name: "selenium-hub"
    port: 4444
    targetPort: 4444
  selector:
    app: selenium-hub
  type: ClusterIP

node-chrome-deployment.yaml node-chrome-deployment.yaml

apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: selenium-chrome-node
spec:
  selector:
    matchLabels:
      app: selenium-chrome-node
  replicas: 1
  template:
    metadata:
      labels:
        app: selenium-chrome-node
    spec:
      containers:
        - name: selenium-chrome-node
          image: selenium/node-chrome:4.0
          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"
            - name: SE_NODE_MAX_CONCURRENT_SESSIONS
              value: "8"
            - name: SE_SESSION_REQUEST_TIMEOUT
              value: "3600"
            - name: SE_NODE_MAX_SESSIONS
              value: "10"
            - name: SE_NODE_OVERRIDE_MAX_SESSIONS    
              value: "true"      
            - name: SE_NODE_GRID_URL
              value: "http://selenium-hub:4444"
            - name: HUB_HOST
              value: "selenium-hub"
            - name: HUB_PORT
              value: "4444"  
            - name: SE_NODE_HOST
              value: "selenium-chrome-node"
            - name: SE_NODE_PORT
              value: "5555"  
          imagePullPolicy: IfNotPresent
          resources:
            limits:
              cpu: 1000m
              memory: 1000Mi
            requests:
              cpu: 50m
              memory: 100Mi
          ports:
            - containerPort: 5555
          volumeMounts:
            - mountPath: /dev/shm
              name: dshm
      imagePullSecrets:
        - name: regcred
      volumes:
        - name: dshm
          emptyDir:
            medium: Memory


node-chrome-service.yaml node-chrome-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: selenium-chrome-node
spec:
  ports:
  - name: "selenium-chrome-node"
    port: 5555 
    targetPort: 5555
  selector:
    app: selenium-chrome-node
  type: ClusterIP

Logs:日志:

[events]
publish = "tcp://selenium-hub:4442"
subscribe = "tcp://selenium-hub:4443"

[server]
host = "selenium-chrome-node"
port = "5555"
[node]
grid-url = "http://selenium-hub:4444"
session-timeout = "300"
override-max-sessions = true
detect-drivers = false
max-sessions = 10

[[node.driver-configuration]]
display-name = "chrome"
stereotype = '{"browserName": "chrome", "browserVersion": "95.0", "platformName": "Linux"}'
max-sessions = 10
.
.
.
17:00:27.549 INFO [NodeServer$1.start] - Starting registration process for node id d6a68bf5-e5b4-483a-9e71-408b3c158c0b
17:00:27.609 INFO [NodeServer.execute] - Started Selenium node 4.0.0 (revision 3a21814679): http://selenium-chrome-node:5555
17:00:27.621 INFO [NodeServer$1.lambda$start$1] - Sending registration event...
17:00:37.629 INFO [NodeServer$1.lambda$start$1] - Sending registration event...
17:00:47.636 INFO [NodeServer$1.lambda$start$1] - Sending registration event...
17:00:57.641 INFO [NodeServer$1.lambda$start$1] - Sending registration event...
17:01:07.646 INFO [NodeServer$1.lambda$start$1] - Sending registration event...
17:01:17.650 INFO [NodeServer$1.lambda$start$1] - Sending registration event...

This registration never happens这个注册永远不会发生

Logs of hub pod:集线器吊舱的日志:

4443, advertising as tcp://100.106.0.5:4443]
17:00:25.242 INFO [UnboundZmqEventBus.<init>] - Connecting to tcp://100.106.0.5:4442 and tcp://100.106.0.5:4443
17:00:25.324 INFO [UnboundZmqEventBus.<init>] - Sockets created
17:00:26.333 INFO [UnboundZmqEventBus.<init>] - Event bus ready
17:00:27.621 INFO [Hub.execute] - Started Selenium Hub 4.0.0 (revision 3a21814679): http://100.106.0.5:4444

How to get the selenium hub 4.0 and chrome-node 4.0 registered ?如何注册 selenium hub 4.0 和 chrome-node 4.0?

The hub also needs to expose the publisher and subscriber ports, so that the it can be reached by your node/chrome pod.集线器还需要公开发布者和订阅者端口,以便您的节点/chrome pod 可以访问它。 Update to the following:更新以下内容:

hub-service.yaml集线器服务.yaml

apiVersion: v1
kind: Service
metadata:
  name: selenium-hub
spec:
  ports:
  - name: "selenium-hub"
    port: 4444
    targetPort: 4444
  - name: "subscribe-events"
    port: 4443
    targetPort: 4443
  - name: "publish-events"
    port: 4442
    targetPort: 4442
  selector:
    app: selenium-hub
  type: ClusterIP

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM