跳到主要内容

常见问题

创建或者更新应用时,如何查看应用部署进度?

创建或者更新应用时,整个部署过程会涉及到多个步骤,如拉取镜像,拉取数据卷,创建worker容器等等。你可以通过执行everai app event命令查看当前应用的部署进度。

everai app event <your app name>

输出的结果如下所示,CREATED_AT使用UTC时间显示。

TYPE    FROM       CREATED_AT                MESSAGE
------ --------- ------------------------ ------------------------------------------------------------------------------------------------
NORMAL AppSever 2024-07-06T14:57:29+0000 Worker/GcaPycCfyW3XEBuwNYaXZ9 is ready now
NORMAL Scheduler 2024-07-06T14:57:18+0000 Successfully assigned worker/GcaPycCfyW3XEBuwNYaXZ9 to node/5a684c93-84c0-4078-821c-a4aeccb61407
NORMAL AppSever 2024-07-06T14:57:06+0000 Successfully deployed app

应用是否可以挂载多个数据卷?

支持。应用支持挂载多个数据卷。

Manifest Mode

如果你的应用通过manifest模式创建,你可以在manifest文件中定义你的多个数据卷。

...
spec:
...
volumeMounts:
- name: get-start-volume # volume name
mountPath: /workspace/volume # mount path in container
readOnly: true # only support `readOnly = true` currently, default is true
- name: test-start-volume # volume name
mountPath: /workspace/volume-test # mount path in container
readOnly: true # only support `readOnly = true` currently, default is true

volumes: # optional field, but very important for AI app
- name: get-start-volume # volume name
volume:
volume: get-start-volume # use a private volume or a public volume from other user
- name: test-start-volume # volume name
volume:
volume: test-start-volume # use a a private volume or a public volume from other user
...

App Object Mode

如果你的应用通过app object模式创建,你可以在app.py文件中挂载你的多个数据卷。

VOLUME_NAME = 'get-start-volume'
VOLUME_NAME_2 = 'test-start-volume'

app = App(
...
volume_requests=[
VolumeRequest(name=VOLUME_NAME),
VolumeRequest(name=VOLUME_NAME_2)
]
...
)

应用部署到EverAI平台后,是否支持在worker容器中运行命令?

支持。你可以通过命令行工具指令everai app worker exec在运行中的worker容器中运行命令。

举例来说,当你想访问worker容器的bash shell环境,可以执行如下命令:

everai worker exec -it dweBRSPD395BvtBDsZYum8 bash

命令执行后,当前的终端环境已经进入到worker容器内workspace目录下。

root@b0b6f096aeab:/workspace#

everai app worker exec的详细使用方法请参考everai app worker exec

是否支持修改数据卷在本地环境的存放路径?

支持。首先可以通过everai config查看EverAI平台当前的环境变量,其中包括数据卷在本地环境的存放路径。以Linux环境下的显示结果为例:

EVERAI_HOME /root/.cache/everai
EVERAI_ENDPOINT https://everai.expvent.com
EVERAI_VOLUME_ROOT /root/.cache/everai/volumes
  • Linux(WSL) & MacOS

执行如下命令,可以自定义本地环境中的数据卷存放路径。为了避免每次使用时设置该环境变量,我们可以把该命令加入到.bashrc,并且执行source命令,使之立即生效。

export EVERAI_VOLUME_ROOT=/data/

再次执行everai config,可以看到EVERAI_VOLUME_ROOT的存放路径已经修改完成。

EVERAI_HOME /root/.cache/everai
EVERAI_ENDPOINT https://everai.expvent.com
EVERAI_VOLUME_ROOT /data/
  • Windows PowerShell

你可以在系统属性的环境变量中添加一个变量EVERAI_VOLUME_ROOT,并设置该变量的值为本地环境中的数据卷存放路径地址。

执行everai config,可以看到EVERAI_VOLUME_ROOT的存放路径已经修改完成。

EVERAI_HOME C:\Users\<Username>\.cache\everai
EVERAI_ENDPOINT https://everai.expvent.com
EVERAI_VOLUME_ROOT D:\data