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

E2B管理平台部署

E2B服务部署

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

  1. 安装e2b-infra软件包。
    1. 获取软件包。
      wget https://eulermaker.openeuler.openatom.cn/api/ems5/repositories/2403sp3/openEuler%3A24.03-LTS-SP3/aarch64/history/5f3f217a-2daa-11f1-9840-fa163e47408d/last/Packages/e2b-infra-2026.09-3.oe2403sp3.aarch64.rpm
    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. 打开配置文件。
      vi /opt/e2b-infra/dep/.env
    2. 按“i”进入编辑模式,修改如下配置。
      # 在.env文件第一行
      SERVER_IP=本机地址                                  # 当前集群server节点的ip,空格分隔(server节点为nomad的server端运行所在的节点)

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

      export NUM_SERVERS=1                                # 当前集群server节点的个数
      export REGISTRY_URL="{ip}:{port}/{repository_name}" # harbor仓库地址,默认值为 REGISTRY_URL=$SERVER_IP:2900/e2b-orchestration,即harbor默认端口为2900
      export POSTGRES_CONNECTION_STRING="postgresql://{username}:{password}@{ip}:{port}/{database_name}?sslmode=disable"  # postgres数据库地址,默认值为postgresql://postgres:local@$SERVER_IP:5432/mydatabase?sslmode=disable
      export HARBOR_HOST="{ip}:{port}"                    # harbor仓库地址,默认$SERVER_IP:2900,端口2900
    3. 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
  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 postgres2 psql -U postgres -d mydatabase -c "UPDATE tiers SET max_length_hours = 24 WHERE id = 'base_v1';"
  2. 修改沙箱最大并发量请将mydatabase修改为.env中配置的数据库名称。
    docker exec postgres2 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表示服务正常启动。

资源配置

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

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

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

    template-manager-system的内存建议分配规则为:单个沙箱内存 × 最大沙箱数 + 20GB,配置单位为MB。