You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes部署Selenium 4.0时chrome节点向hub注册失败问题求助

问题根因

Selenium Grid 4 基于事件总线实现Hub与节点的通信,依赖4442(事件发布端口)、4443(事件订阅端口)两个核心端口,你当前的Hub配置未暴露这两个端口,导致节点的注册请求无法送达Hub,这是注册失败的核心原因。

具体修改方案

1. 调整Hub的ReplicaSet配置

在Hub的容器端口列表中新增4442、4443端口声明,修改后的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
            # 新增事件总线端口
            - containerPort: 4442
            - containerPort: 4443
          resources:
            limits:
              cpu: 1000m
              memory: 1000Mi
            requests:
              cpu: 50m
              memory: 100Mi
      imagePullSecrets:
        - name: regcred 

2. 调整Hub的Service配置

在Hub的Service中新增4442、4443端口的暴露规则,修改后的hub-service.yaml示例:

apiVersion: v1
kind: Service
metadata:
  name: selenium-hub
spec:
  ports:
  - name: "selenium-hub"
    port: 4444
    targetPort: 4444
  # 新增事件发布端口
  - name: "event-publish"
    port: 4442
    targetPort: 4442
  # 新增事件订阅端口
  - name: "event-subscribe"
    port: 4443
    targetPort: 4443
  selector:
    app: selenium-hub
  type: ClusterIP

3. 可选优化配置

  • 节点配置中的HUB_HOST、HUB_PORT是Selenium 3的遗留环境变量,Selenium 4中不需要,可以删除避免配置冲突
  • 建议将ReplicaSet替换为Deployment,更适合K8s中应用的日常管理、滚动更新
验证方法

重新Apply修改后的Hub配置,待Hub启动完成后重启Chrome节点,即可在Hub日志中看到节点注册成功的记录,访问http://<Hub访问地址>:4444/ui可以直观查看已注册的节点信息。


内容的提问来源于stack exchange,提问作者sunil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 23:36:01