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

在Kubernetes中部署Selenium Grid后无法访问selenium-grid.local求助

解决Selenium Grid无法通过selenium-grid.local访问的问题

核心原因

selenium-grid.local是文档里示例的本地域名,你的系统默认没有配置这个域名的解析规则,所以会提示找不到IP地址。下面是具体的解决步骤:


1. 先确认服务的暴露状态

执行命令查看Selenium Grid服务的类型和端口:

kubectl get services

(如果安装时指定了命名空间,加上-n <命名空间名称>)

根据输出里的TYPE字段判断:

  • ClusterIP:仅集群内部可访问,需要端口转发或Ingress才能外部访问
  • NodePort:用集群节点IP加上输出里的PORT(S)列的NodePort(比如30000:4444,就用http://<节点IP>:30000访问)
  • LoadBalancer:云环境会分配外部IP;本地集群(如minikube)执行minikube service selenium-grid自动打开访问地址

2. 快速临时访问:端口转发

如果服务是ClusterIP,直接用端口转发把集群内部端口映射到本地:

kubectl port-forward service/selenium-grid 4444:4444

之后在浏览器访问http://localhost:4444就能看到Selenium Grid控制台了。


3. 用selenium-grid.local访问:配置本地hosts

如果想使用文档里的域名访问,需要手动配置本地hosts文件:

  1. 从kubectl get services的输出里复制Selenium Grid服务的ClusterIP
  2. 编辑hosts文件:
    • Windows:打开C:\Windows\System32\drivers\etc\hosts(需要管理员权限)
    • macOS/Linux:执行sudo vi /etc/hosts
  3. 添加一行内容:
    <复制的ClusterIP> selenium-grid.local
    
  4. 保存后,访问http://selenium-grid.local:4444(注意如果服务端口不是80,必须加上端口号)

4. 长期稳定访问:配置Ingress(适合生产场景)

如果需要长期用域名访问,可以配置Ingress资源:

  1. 确保你的Kubernetes集群已经安装了Ingress Controller(比如nginx-ingress)
  2. 创建一个Ingress配置文件(比如selenium-ingress.yaml):
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: selenium-grid-ingress
    spec:
      rules:
      - host: selenium-grid.local
        http:
          paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: selenium-grid
                port:
                  number: 4444
    
  3. 应用配置:
    kubectl apply -f selenium-ingress.yaml
    
  4. 最后把Ingress Controller的IP(或集群节点IP)添加到本地hosts文件,映射到selenium-grid.local

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 17:54:57