部署容器应用
约束说明
- 最多支持部署20个容器应用,容器应用过多可能造成设备性能下降。
- 系统预留内存资源为1024MB,CPU资源为1个CPU核。
- 所有容器应用总的可用内存资源可参考公式:可用总内存资源 = 系统总内存资源 - 系统预留内存资源。
- 所有容器应用总的可用CPU资源可参考公式:可用总CPU资源 = 系统总CPU资源 - 系统预留CPU资源。
- 所有容器应用可用的NPU为1个NPU核,可通过参数按需配置单个容器的NPU规格为0或1。
- 避免重复部署ID相同的容器应用,否则可能会导致容器应用名称显示错误。
- 通过FusionDirector部署的容器应用,只能通过FusionDirector进行删除。禁止通过后台命令行方式删除(可能会导致服务异常)。
- 容器应用管理组件无法与kubelet、kube-proxy进程兼容,如果环境中已存在kubelet或kube-proxy软件并处于运行状态,会导致该进程启动失败。
关键步骤说明
序号 |
操作 |
说明 |
链接 |
---|---|---|---|
1 |
创建镜像文件 |
镜像文件是创建容器所需的Docker镜像文件,用户将应用程序制作成镜像文件上传至FusionDirector的镜像仓库中,在部署应用时,直接选用所需镜像文件。 |
|
2 |
(可选)创建应用配置 |
配置项(ConfigMap)是一种用于保存容器应用所需配置信息的资源类型,可以将配置文件从容器镜像中解耦,从而增强容器应用的可移植性。
说明:
部署带有配置项的容器时,配置项会在主机和容器内以文件形式存储,文件属组为root,读写权限为0644。建议用户对敏感数据进行加密保护,避免数据泄露。 |
|
3 |
创建应用模板 |
应用模板中定义了镜像文件、容器规格、环境变量、卷、重启策略、容器网络参数等信息,用户通过应用模板可以方便快捷的创建出相同业务特性的容器应用。 |
|
4 |
创建容器应用 |
容器应用是运行在边缘设备上的业务应用,可以通过FusionDirector部署到批量边缘设备上。 |
创建镜像文件
- 在FusionDirector界面上方菜单栏选择“镜像文件”管理界面。 ,进入
- 单击“创建镜像文件”按钮,进入创建镜像文件页面。
- 配置镜像文件信息,完成配置后单击“确定”。
- 在镜像文件列表中选择该镜像文件,单击其后的“创建子版本”,进入创建子版本页面。
- 配置子版本信息,完成配置后单击“确定”。
表2 子版本信息参数说明 参数名称
参数说明
版本
子版本的版本号。
长度为1-64个字符,只能包含小写字母、数字、中划线(-)、下划线(_)、英文点(.),开头和结尾必须使用小写字母或数字。
镜像文件
上传镜像文件。
文件大小(含解压后)不超过10GB,且必须为tar或者tar.gz格式的文件。
校验操作
是否对上传的镜像文件进行校验。
镜像校验方式
当对上传的镜像文件进行校验操作时,需配置镜像校验方式。
当前仅支持SHA256。
镜像文件校验码
当对上传的镜像文件进行校验操作时,需输入镜像文件的校验码。
校验码有多种获取方法,例如可以通过Windows系统自带命令certutil -hashfile“镜像文件的绝对路径”sha256获取,即在Windows系统中输入cmd,进入命令提示符界面,输入该命令即可获取。
子版本描述
子版本的描述信息。
(可选)创建应用配置
- 在FusionDirector界面上方菜单栏选择 ,进入应用配置管理界面。
- 选择“配置项”页签,单击“创建配置项”。
- 设置配置项信息。
表3 参数说明 参数
说明
取值
配置项名称
配置项名称。
长度4~64个字符,以小写英文字母开头,可包括小写英文字母、数字、中划线(-),不能以中划线结尾。
描述
配置项描述。
-
配置数据
输入配置数据的属性名和属性值。
若需添加多条配置数据,继续单击“添加配置项”,填写配置项信息。
最多可以添加256条配置数据。
须知:配置项会明文展示配置信息,请防止信息泄露。
- 单击“确定”。
创建成功后,在配置项列表可以看到新增条目。
创建应用模板
- 在FusionDirector界面上方菜单栏选择“应用模板”管理界面。 ,进入
- 单击“创建应用模板”按钮,进入创建应用模板界面。
- 配置应用模板的基本信息。
- 进行应用模板的基本配置。
单击“添加镜像”,在镜像列表中选择镜像文件,单击“确定”,并进行如下配置。
如果一个应用需要部署多个容器镜像,可以继续单击“添加镜像”,并对添加的每一个镜像进行如下的配置。
- 配置容器基本信息。
表4 容器基本信息参数说明 参数名称
参数说明
容器名称
长度为1~32个字符,只能包含小写字母、数字和“-”,开头和结尾必须使用小写字母或数字。
选择镜像
可单击选择镜像后的,重新选择镜像。
镜像版本
在下拉列表中选择需要部署的镜像版本。
- 配置容器规格。
表5 配置容器规格参数说明 参数名称
参数说明
CPU配额
填写容器需要使用的CPU最小值和允许容器使用的CPU最大值。
内存配额
填写容器需要使用的内存最小值和允许容器使用的内存最大值。
NPU配额
默认不配置。需要使用NPU时,请写入需要使用的数量,确保所有容器配置的NPU配额总和不能超过设备上可用的NPU资源数量。- 如果开启NPU共享模式,配置的多个容器共享同一块芯片的NPU资源,请填写每个容器使用的NPU配额。目前多个容器仅支持以资源抢占的方式共享NPU资源,不支持按实际配置的NPU配额共享NPU资源。
- 如果关闭NPU共享模式,容器将会以独占的方式占用NPU,即使申请不足1个NPU,也会独占1个NPU。
- FusionDirector暂不支持统计未知容器的资源占用数据,包括CPU、内存和NPU资源的使用情况。
- 部署指定NPU资源的容器应用时,如果NPU资源充足,但仍然提示无可用的NPU资源,此时可以执行npu-smi info命令查询NPU的健康状态是否为OK,如果NPU健康状态不为OK,请尝试重启边缘节点进行恢复。
- 可选:设置启动命令。
启动命令配置方便用户批量的启动容器应用。该操作为可选操作,请用户根据实际需求进行操作。
图1 设置启动命令
表6 启动命令参数说明 参数名称
参数说明
运行命令
输入控制容器运行的命令,支持二进制方式和Bash方式,长度1024个字符内。
运行参数
输入控制容器运行的命令参数,可参见示例输入。
- 可选:配置环境变量。
设置容器运行环境中的系统环境变量。单击“添加环境变量”,输入变量名称和变量值。
图2 环境变量配置
- 若需要添加多个环境变量,继续单击“添加环境变量”进行设置,最多可添加256个。
- 若添加的环境变量不符合要求,可单击该变量后的进行删除。
- 可选:配置卷。部署推理容器镜像时必须配置。
- 支持用户通过“hostPath”类型,将容器应用管理默认允许的主机路径挂载到容器中。默认允许的主机路径请参考表7。
- 支持“configMap”类型,用于保存容器应用所需配置信息的资源类型。
- 不支持FusionDirector管理界面的emptyDir和secret类型的挂载卷。
部署推理容器镜像时须按容器默认的挂载路径配置挂载卷,默认的挂载路径请参考表7。
表7 容器默认主机路径和挂载路径表 序号
本地卷类型
主机路径
挂载路径
权限
1
hostPath
/etc/sys_version.conf
/etc/sys_version.conf
只读
2
hostPath
/etc/hdcBasic.cfg
/etc/hdcBasic.cfg
只读
3
hostPath
/usr/lib64/libaicpu_processer.so
/usr/lib64/libaicpu_processer.so
只读
4
hostPath
/usr/lib64/libaicpu_prof.so
/usr/lib64/libaicpu_prof.so
只读
5
hostPath
/usr/lib64/libaicpu_sharder.so
/usr/lib64/libaicpu_sharder.so
只读
6
hostPath
/usr/lib64/libadump.so
/usr/lib64/libadump.so
只读
7
hostPath
/usr/lib64/libtsd_eventclient.so
/usr/lib64/libtsd_eventclient.so
只读
8
hostPath
/usr/lib64/libaicpu_scheduler.so
/usr/lib64/libaicpu_scheduler.so
只读
9
hostPath
- 宿主机操作系统为openEuler或EulerOS:/usr/lib64/libcrypto.so.1.1.1m
- 宿主机操作系统为Ubuntu:/usr/lib/aarch64-linux-gnu/libcrypto.so.1.1
/usr/lib64/libcrypto.so.1.1
只读
10
hostPath
- 宿主机操作系统为openEuler或EulerOS:/usr/lib64/libyaml-0.so.2.0.9
- 宿主机操作系统为Ubuntu:/usr/lib/aarch64-linux-gnu/libyaml-0.so.2.0.6
/usr/lib64/libyaml-0.so.2
只读
11
hostPath
/usr/lib64/libdcmi.so
/usr/lib64/libdcmi.so
只读
12
hostPath
/usr/lib64/libmpi_dvpp_adapter.so
/usr/lib64/libmpi_dvpp_adapter.so
只读
13
hostPath
/usr/lib64/aicpu_kernels/
/usr/lib64/aicpu_kernels/
只读
14
hostPath
/usr/local/sbin/npu-smi
/usr/local/sbin/npu-smi
只读
15
hostPath
/usr/lib64/libstackcore.so
/usr/lib64/libstackcore.so
只读
16
hostPath
/usr/local/Ascend/driver/lib64
/usr/local/Ascend/driver/lib64
只读
17
hostPath
/var/slogd
/var/slogd
只读
18
hostPath
/var/dmp_daemon
/var/dmp_daemon
只读
- 不支持配置安全策略。
- 不支持配置能力集。
- 配置健康检查。
图3 配置健康检查
表8 配置健康检查参数说明 参数名称
参数说明
容器存活探针
用于探测容器是否正常工作,不正常则重启容器。可选配置如下:
业务就绪探针
用于探测容器运行的业务是否就绪,如果业务未就绪,将不会将流量转发到当前容器。
- 配置容器基本信息。
- 进行应用模板的高级配置。
创建容器应用
- 在FusionDirector界面上方菜单栏选择 ,进入容器应用管理界面。
- 单击“创建容器应用”,进入创建容器应用界面。
- 配置基本信息,然后单击“下一步”。
- 配置容器应用。
配置版本信息,并单击“选择应用模板”,在弹出的窗口中选择所需应用模板,也可以对选择的应用模板中的各个参数进行修改,单击“下一步”。
- 在资源文件版本选择界面,单击“下一步”,跳过此步骤。
- 添加边缘设备。
单击“添加”,弹出关联边缘设备列表,选择需要关联的一个 或多个边缘设备,单击“确定”。
- 单击“确定”,启动容器应用的创建。
容器应用创建的任务将出现在界面右上角任务列表中,待容器应用创建成功后,在容器应用列表中会显示新添加的容器应用,单击容器应用名称,进入该容器应用的详细页面,若实例运行状态是“运行中”,表示该容器应用在边缘节点上成功部署且正常运行。