跳转至

部署

以下在本地部署的服务组件,除非机器硬件故障造成服务卡死或网络故障,几乎无需运维。对于不同厂家如NVIDIA/华为的GPU,系统会自动识别

需在本地部署的3个服务组件 :

  1. worker agent: 在GPU机器上部署的主机管理程序,用于获取该机器的GPU、CPU数量,内存大小,和管理用户创建的容器的生命周期(创建→销毁)
  2. ft agent: 在GPU机器上部署的用于跨主机之间传输数据的程序,主要用于拷贝实例功能 。部署时会随worker agent一同部署以及管理
  3. proxy agent: 用于代理用户访问容器实例的网络桥接服务,访问路径为:用户 → proxy agent → 容器, 而非用户 → 容器,当有若干用户与容器时具备集中管理的优势

以上3个服务在整套系统中的作用和位置请参考:

服务说明(必看)

worker agent 与 ft agent

本地服务器环境要求:

  • Ubuntu或CentOS系统
  • 安装有GPU驱动(如果是GPU主机)
  • 可访问互联网(不需要公网IP)

服务介绍:

  1. 每台GPU服务器上均需要部署,此外agent程序会自动识别是NVIDIA还是华为的GPU(前提是机器上已经安装有对应GPU驱动)

  2. 该服务仅对当前所在服务器进行管理,因此服务异常时仅影响当前主机的使用,服务异常的来源可能有GPU驱动异常,GPU硬件异常、网络异常等

  3. 该服务在安装时会检查docker/nvidia-docker,如环境未满足要求的会自动进行安装(该过程不会影响当前服务器中的数据,可以放心执行)

  4. 不会对磁盘进行再格式化,不影响当前主机上存在的任何数据

proxy agent

本地服务器环境要求:

  • Ubuntu系统
  • 2核心,4GB内存以上的配置即可
  • 可访问互联网(是否需要公网IP取决于您的需求,请看下方说明)

服务说明:

  1. 一个集群仅需部署一个该服务

  2. 该服务占用CPU/内存资源很低,如果无专用CPU机器,可以直接部署于某台GPU服务器之上,但需要注意的是该服务出现异常会导致所有容器无法访问,因此推荐您部署在一台相对稳定的机器上

  3. 开放必要的端口,7007和20000 ~ 60000端口。由于proxy agent所在主机的IP仅有一个,访问不同容器则需利用不同的端口加以区分,因此该主机需要开放一定范围的端口,推荐您开放:20000 ~ 60000端口。可用端口的数量会决定可创建的容量数量,如一个容器需要ssh、jupyterlab等服务,每个服务需要一个端口映射出去,因此每个容器需要3个左右的端口,以此估算可创建的容器数量规模,评估是否可以满足您的需求

  4. 该服务决定了您访问容器实例时的IP(或域名)地址,以及决定您的用户可以在哪里能访问容器。场景举例:

场景一: 如果您仅希望用户在实验室或办公室可以访问和使用容器,那么可以将该服务部署于只能在实验室/办公室局域网访问的某台机器上(注意所有GPU机器都需能访问到该proxy agent所在主机),这样用户必须在可以访问proxy agent所在主机的内网环境才可访问容器实例

场景二: 如果您希望用户在任何地方都可以通过公网访问到容器,那么将该服务部署于具有公网IP的主机上即可

开始安装

以下可对照 视频教程 安装

安装前请登录私有云管理员账号,找到菜单:配置agent服务配置。将会看到worker agentproxy agent的配置文件(ft agent会自动随worker agent一起安装)。该配置文件有敏感信息,请勿泄露

安装worker agent 与 ft agent

以下在每台GPU服务器上进行安装:

Step.1 找到上面agent服务配置页面中的worker agent配置内容,根据您机器的实际情况以及配置中的注释说明进行相应修改,最后将配置内容保存于文件/etc/privatecloud/worker-agent.yaml

Step.2 执行命令开始安装(如果机器已经有docker也可以正常执行安装)

# 先下载安装程序pct (private cloud tools),此版本为X86_64版本程序
sudo curl -L -o /usr/local/bin/pct https://autodl-cloud.oss-cn-beijing.aliyuncs.com/privatecloud/tools/pct_x86_64
# 如果下载ARM 64版本的pct,使用下面的命令
sudo curl -L -o /usr/local/bin/pct https://autodl-cloud.oss-cn-beijing.aliyuncs.com/privatecloud/tools/pct_arm64
# 增加可执行权限
sudo chmod +x /usr/local/bin/pct
# 执行安装worker-agent
# 如果您需要指定docker的root dir,那么使用--docker-root-dir参数,比如:sudo pct install worker-agent --docker-root-dir /data/docker
sudo pct install worker-agent

# 验证是否正常启动,显示running为已启动
sudo systemctl status worker-agent.service

安装完成后,即可在AutoDL私有云管理后台看到有新的主机记录生成,然后编辑相关主机信息即可上架该主机

安装proxy agent

以下仅需在一台合适的服务器上进行部署:

Step.1 找到上面agent服务配置页面中的proxy agent配置内容,将配置内容保存于文件/etc/privatecloud/proxy-agent.yaml

Step.2 执行命令开始安装

# (如已安装请跳过)先下载安装程序pct (private cloud tools),此版本为X86_64版本程序
sudo curl -L -o /usr/local/bin/pct https://autodl-cloud.oss-cn-beijing.aliyuncs.com/privatecloud/tools/pct_x86_64
# 如果下载ARM 64版本的pct,使用下面的命令
sudo curl -L -o /usr/local/bin/pct https://autodl-cloud.oss-cn-beijing.aliyuncs.com/privatecloud/tools/pct_arm64
# 增加可执行权限
sudo chmod +x /usr/local/bin/pct
# 执行安装proxy-agent
sudo pct install proxy-agent

# 验证是否正常启动,显示running为已启动
sudo systemctl status proxy-agent.service

Step.3 系统后台设置IP地址和可分配端口范围

最后,需要将此机器的IP和开放的端口范围在您的管理后台录入生效。配置入口:配置初始化配置proxy agent IP地址和端口范围

注意:需要确保该proxy所在主机的7007端口和配置的端口范围中的端口是对外开放的,使用云主机时经常需要开放相应的安全组来开放端口