云原生革命:5分钟部署Browser-Use AI Agent到Kubernetes

【免费下载链接】web-ui Run AI Agent in your browser. 【免费下载链接】web-ui 项目地址: https://gitcode.com/GitHub_Trending/web/web-ui

你是否还在为AI浏览器代理的复杂部署而烦恼?是否担心容器化后性能损耗或功能缺失?本文将带你通过3个核心步骤,在Kubernetes环境中实现Browser-Use WebUI的生产级部署,无需复杂配置即可获得持久化会话、多LLM支持和可视化监控能力。

部署架构概览

WebUI架构图

Browser-Use WebUI采用云原生设计,核心组件包括:

  • 业务容器:运行Gradio Web界面(webui.py)和AI代理逻辑(src/agent/)
  • 浏览器沙箱:隔离运行Chromium实例(src/browser/custom_browser.py)
  • 持久化存储:保存用户配置与浏览器会话数据
  • 服务网格:暴露WebUI(7788)和VNC监控(6080)端口

前置准备与环境要求

基础依赖清单

组件 版本要求 用途
Kubernetes ≥1.24 容器编排平台
Helm ≥3.8 包管理工具
PV支持 ReadWriteOnce 持久化浏览器数据
资源配额 CPU≥2核,内存≥4GB 满足AI推理需求

镜像准备

从官方仓库拉取预构建镜像:

docker pull ghcr.io/browser-use/web-ui
# 或构建本地镜像
docker build -t browser-use-webui:latest -f Dockerfile .

部署步骤详解

1. 配置Kubernetes资源清单

创建命名空间与RBAC配置:

apiVersion: v1
kind: Namespace
metadata:
  name: browser-use
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: browser-agent
  namespace: browser-use

2. 编写StatefulSet部署文件

关键配置片段(完整模板参考):

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: browser-use-webui
  namespace: browser-use
spec:
  serviceName: "browser-use"
  replicas: 1
  template:
    spec:
      containers:
      - name: webui
        image: ghcr.io/browser-use/web-ui
        ports:
        - containerPort: 7788 # WebUI端口
        - containerPort: 6080 # VNC监控端口
        env:
        - name: KEEP_BROWSER_OPEN
          value: "true"
        - name: BROWSER_DEBUGGING_PORT
          value: "9222"
        volumeMounts:
        - name: browser-data
          mountPath: /app/data
  volumeClaimTemplates:
  - metadata:
      name: browser-data
    spec:
      accessModes: [ "ReadWriteOnce" ]
      resources:
        requests:
          storage: 10Gi

3. 暴露服务与外部访问

创建Service资源暴露端口:

apiVersion: v1
kind: Service
metadata:
  name: browser-use-service
  namespace: browser-use
spec:
  type: NodePort
  ports:
  - port: 7788
    nodePort: 30080
  - port: 6080
    nodePort: 30081
  selector:
    app: browser-use-webui

高级配置与优化

LLM服务集成

通过环境变量配置多模型支持(docker-compose.yml第17-40行):

env:
- name: OPENAI_API_KEY
  valueFrom:
    secretKeyRef:
      name: llm-credentials
      key: openai-key
- name: DEEPSEEK_API_KEY
  valueFrom:
    secretKeyRef:
      name: llm-credentials
      key: deepseek-key

资源调优建议

针对AI推理场景优化Kubernetes调度:

resources:
  requests:
    cpu: "2"
    memory: "4Gi"
  limits:
    cpu: "4"
    memory: "8Gi"
livenessProbe:
  httpGet:
    path: /
    port: 7788
  initialDelaySeconds: 30
  periodSeconds: 10

验证部署与日常运维

状态检查

# 检查Pod运行状态
kubectl get pods -n browser-use

# 查看应用日志
kubectl logs -f -n browser-use browser-use-webui-0 webui

访问Web界面

通过NodePort访问Gradio界面:

http://<node-ip>:30080

通过VNC查看浏览器实时画面:

http://<node-ip>:30081/vnc.html

默认密码:youvncpassword(可通过VNC_PASSWORD环境变量修改)

常见问题排查

浏览器启动失败

检查容器权限配置,确保已添加SYS_ADMIN capability:

securityContext:
  capabilities:
    add: ["SYS_ADMIN"]

持久化数据丢失

验证PVC挂载状态:

kubectl describe pvc browser-data -n browser-use

总结与扩展建议

通过本文方案,你已成功在Kubernetes集群部署Browser-Use WebUI,获得:

进阶方向:

  1. 集成Istio实现流量控制与监控
  2. 使用KEDA基于CPU利用率自动扩缩容
  3. 配置Prometheus监控AI推理性能指标

立即访问GitHub_Trending/web/web-ui获取完整部署脚本与最新更新!

【免费下载链接】web-ui Run AI Agent in your browser. 【免费下载链接】web-ui 项目地址: https://gitcode.com/GitHub_Trending/web/web-ui

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐