开发者
资源
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

E2B管理平台部署

OpenClaw部署方式可以按需选择,本章节提供E2B的部署方案。E2B作为开源Agentic沙箱管理方案,底层兼容开源Firecracker MicroVM,能够构建安全隔离的运行环境。

E2B服务部署

可参考以下步骤,通过提供的脚本完成自动化部署;若需定制化调整,可基于脚本内容进行修改。

  1. 安装e2b-infra软件包。
    1. 获取软件包。软件链接如下,下载arm64版本。
      https://eulermaker.openeuler.openatom.cn/package/download?osProject=2403sp3&packageName=e2b-infra
    2. 卸载旧的软件包。
      rpm -e e2b-infra
    3. 安装e2b-infra软件包,安装目录为“/opt/e2b-infra”
      rpm -ivh e2b-infra-2026.09-3.oe2403sp3.aarch64.rpm
  2. 修改“/opt/e2b-infra/dep/.env”配置文件。
    1. 定义配置文件需要修改的变量。
      # 定义变量(替换为你的真实本机IP,比如 192.168.1.100)
      ENV_FILE="/opt/e2b-infra/dep/.env"
      SERVER_IP="本机IP地址"
    2. 通过以下命令,修改如下配置。
      cp $ENV_FILE ${ENV_FILE}.bak                          #备份原有的.env模板
      sed -i "1i SERVER_IP=$SERVER_IP" $ENV_FILE             #替换第一行的IP地址为本机地址
      sed -i '/^export DEPLOY_MODE=/c\export DEPLOY_MODE={nomad/k8s}' $ENV_FILE     #当前支持nomad和k8s两种部署

      .env文件中其余关键配置默认如下,可按需修改。

      sed -i '/^export NUM_SERVERS=/c\export NUM_SERVERS={节点个数}' $ENV_FILE      # 当前集群server节点的个数
      
      sed -i '/^export REGISTRY_URL=/c\export REGISTRY_URL=$SERVER_IP:2900/e2b-orchestration' $ENV_FILE    # harbor仓库地址,默认值为 REGISTRY_URL=$SERVER_IP:2900/e2b-orchestration,即harbor默认端口为2900
      
      sed -i '/^export POSTGRES_CONNECTION_STRING=/c\export POSTGRES_CONNECTION_STRING="postgresql://postgres:local@$SERVER_IP:5432/mydatabase?sslmode=disable"' $ENV_FILE     # postgres数据库地址,默认值为postgresql://postgres:local@$SERVER_IP:5432/mydatabase?sslmode=disable
      
      sed -i '/^export HARBOR_HOST=/c\export HARBOR_HOST=$SERVER_IP:2900' $ENV_FILE   # harbor仓库地址,默认$SERVER_IP:2900,端口2900
  3. 安装启动。
    1. 进入“/opt/e2b-infra”目录。
      cd /opt/e2b-infra
    2. 下载依赖组件。如遇网络问题可手动下载相关依赖并上传至“/opt/e2b-infra/dep”目录。
      bash build.sh --download

      arm64所需依赖包如下所示(详见build.sh脚本download_packages函数):

    3. 安装。安装过程需要拉取Docker镜像,如遇网络问题可使用Docker代理进行手动拉取。在执行start启动服务之前需将Docker代理关掉。
      bash build.sh --install

      Docker镜像需要如下所示(详见build.sh脚本pull_docker_images函数):

    4. 启动服务。
      bash build.sh --start

      如启动失败,则先执行--stop并且--uninstall,再尝试重新--start启动服务。

      bash build.sh --stop 
      bash build.sh --uninstall
    表1 build.sh默认配置参数说明

    变量名

    含义

    PG_PORT

    5432

    postgres容器服务端口。

    MINIO_PORT

    9000

    minio服务端口(单机部署无需minio)。

    MINIO_CONSOLE_PORT

    9001

    minio控制台端口(单机部署无需minio)。

    HARBOR_HTTP_PORT

    2900

    harbor服务端口,后续可通过server_ip:2900访问harbor管理系统。

    HARBOR_USER

    admin

    harbor管理系统账户。

    HARBOR_PASSWORD

    Harbor12345

    harbor管理系统账户admin的默认密码。

    NOMAD_PORT

    4646

    nomad服务端口,后续可通过server_ip:4646访问nomad管理系统。

    NOMAD_HTTP_PORT

    4646

    nomad健康检查端口。

    CONSUL_HTTP_PORT

    8500

    consul健康检查端口。

E2B服务验证

  • E2B将配置保存在postgres里,沙箱启动后可通过sql命令修改沙箱配置。
  • 配置服务器开放4646和2900端口,分别用于访问nomad和harbor服务。
  1. 修改沙箱超时时间。请将mydatabase修改为.env中配置的数据库名称。
    docker exec postgres psql -U postgres -d mydatabase -c "UPDATE tiers SET max_length_hours = 24 WHERE id = 'base_v1';"
  2. 修改沙箱最大并发量,请将mydatabase修改为.env中配置的数据库名称。
    docker exec postgres psql -U postgres -d mydatabase -c "UPDATE tiers SET concurrent_instances = 50 WHERE id = 'base_v1';"
  3. 可通过访问http://{server_ip}:4646查看各个服务状态。

    请在“/opt/e2b-infra/.env”文件中查看NOMAD_ACL_TOKEN字段,该值即为登录Token。

    Healthy表示服务正常启动。

    服务启动失败,可通过网页端查看template-manager日志。

资源配置

Nomad中的template-manager-system任务在Job Definition中对CPU、内存等资源设定了默认上限,可根据主机实际资源情况进行调整。

  1. 进入Jobs页面中找到template-manager-system。

  2. 进入后在“Definition”页签即可修改相关配置,修改完成后单击“Plan”按钮保存。

    template-manager-system的内存建议分配规则为:单个沙箱内存 × 最大沙箱数 + 20GB,配置单位为MB;CPU建议设置为当前系统60%,单位为millicpu。