部署容器镜像
在前篇内容中,使用 RealEvo-IDE 将容器镜像包上传至 SylixOS 系统后加载运行,而 ECSM 容器管理平台提供了界面化的容器部署方式。本节将介绍如何基于云原生验证平台的 ECSM 进行容器部署。关于 ECSM 平台更详细的操作说明可参见 ECSM 使用手册。
操作步骤
步骤 1:启动 ECSM
使用网线或 Wi-Fi 连接云原生演示平台后,打开本地 PC 的浏览器访问 https://192.168.128.1/ , 进入爱智登录界面。
在爱智桌面,单击柔性管理平台,启动 ECSM。
步骤 2:上传镜像
在 ECSM 左侧导航栏中,单击镜像管理 > 镜像仓库,在镜像仓库页面单击上传,打开上传镜像窗口。
在上传镜像窗口,单击上传镜像,选择本地已经准备好的镜像文件
HelloVSOA.tar
,或将镜像文件拖拽到对应区域。选择完毕,界面会显示该镜像正等待上传,上传之前可以设置备注信息。
单击开始上传,平台会校验并上传镜像文档。上传过程中会显示上传进度,显示如下界面表示上传成功。
单击返回列表,完成镜像上传,镜像列表中会显示新上传的镜像。
步骤 3:注册节点
左侧导航栏中单击节点管理 > 注册,打开注册节点窗口。
在注册节点窗口,参考表 1 完成相关参数设置。
表 1 注册节点参数说明 参数 描述 示例 名称 节点的名称,支持自定义,名称不能重复 example 地址 节点的 IP 地址,相同 IP 地址的节点不可重复注册 - 密码 节点的密码 root 使用加密 选择使用 TLS 加密,平台会为该节点生成一个安全证书,安全证书可以保障节点的通信安全。为保障通信安全,建议使用加密 - 单击提交,完成节点注册,新注册的节点会显示在节点列表中。
步骤 4:部署容器
在左侧导航栏中单击部署管理 > 容器部署,在容器部署页面单击新建,进入新建容器部署页面。
在新建容器部署页面的基本信息界面,参考表 2 完成相关参数设置,并单击下一步,进入选择节点界面。
表 2 基本信息参数说明 参数 描述 示例 服务名称 服务的名称,可以自定义,名称不能重复 example 使用镜像 选择部署容器需要的镜像,包括 Linux 镜像和 SylixOS 镜像。两种镜像对应的节点和资源配置参数不同,Linux 镜像只能部署在 Linux 计算机节点上,SylixOS 镜像只能部署在 SylixOS 计算机节点上 - 镜像拉取策略 预先设置镜像的拉取策略,各策略说明如下: - 总是拉取(Always):总是从 ECSM 镜像仓库拉取镜像
- 若不存在则拉取(If Not Present):如果待部署节点本地有此镜像,则使用本地镜像;如果待部署节点本地没有此镜像,则从 ECSM 镜像仓库拉取
- 从不拉取(Never):只使用待部署节点的本地镜像,从不向 ECSM 仓库拉取镜像
总是拉取(Always) 服务自动更新策略 预先设置服务的自动更新策略,各策略说明如下: - 不自动更新(Never):从不自动更新服务
- 新镜像版本较大时更新(Larger):当与此镜像名称相同的新镜像被上传或推送到 ECSM 镜像仓库时,ECSM 将根据 Semantic Versioning 语义化版本规范对比两个镜像的版本大小,如果新镜像的版本较大,则自动更新服务,并将服务镜像替换为高版本的镜像
- 总是使用新镜像更新 (Always):当与此镜像名称相同的新镜像被上传或推送到 ECSM 镜像仓库时,将自动使用新镜像更新服务
不自动更新(Never) 部署后运行服务 设置部署完服务后是否自动运行服务 - 在选择节点界面,选择静态选择,然后选择已注册的节点如 "RK3568-192.168.128.15",并单击下一步。
说明:
动态选择可以通过设置实例数控制服务中部署的容器实例数量,如果是多节点多实例,则系统会根据用户选择的节点和设置的实例数进行资源调度,优先调度节点上运行容器实例少且剩余内存多的节点去处理作业任务。
在资源配置界面,若打包容器镜像时,已经指定了启动参数,则系统会自动识别;若未设置则需手动添加容器的启动参数 “/apps/HelloVSOA”,其它设置使用默认即可,最后单击部署。
说明:
资源配置界面更详细的参数说明请参见 SylixOS 镜像资源配置。
在完成界面,可以查看容器部署进度,显示如下界面表示容器部署成功。
单击完成,完成容器部署,新部署的容器会显示在容器部署页面的服务列表中。
步骤 5:打印容器日志
在部署容器页面,选择已部署的 HelloVSOA 服务,单击操作列的详情,在详情页面查看容器 ID。
通过如下命令在 SylixOS 设备终端打开容器日志开关,即可打印并查看容器的运行日志。
[root@sylixos:/apps]# ecs log ECS3068 on
说明:
/etc/startup.sh
是启动自运行脚本,没有该文件不影响容器功能的正常使用。