新建应用
您可以创建一个新的应用,并为其定义多个版本。每个版本可以根据业务需求配置多个服务,以实现特定的业务功能,从业更好地满足用户需求和业务变化。
前提条件
- 拥有“平台管理员”、“产品开发者”或其他具备“新建应用”菜单权限的角色,关于角色的详细说明请参见 角色概述。
- 为应用配置服务信息时,镜像仓库必须存在可用镜像,您可以手动 上传镜像 或通过 Armory 客户端命令、RealEvo-IDE 插件等方式上传镜像到 ECMP 仓库。
操作步骤
步骤 1:设置基础信息
登录软件工厂,进入 ECMP 欢迎页。
在左侧导航栏中,单击应用管理 > 应用列表,进入应用列表页面。
在应用列表页面,单击左上角的新建,打开新建应用窗口。
在新建应用窗口,设置应用名称和描述信息。
设置完成后,单击确定,进入应用详情页面。
步骤 2:新建应用版本
在应用详情页面,单击页面左上角或中间区域的新建版本,打开新建版本对话框。
在新建应用版本对话框中,参考表 1 设置应用的版本号和服务来源等信息。因为是首次为应用新建第一个版本,故此处服务来源选择“新建”。
表 1 新建应用版本参数说明
参数 描述 示例 版本号 应用的版本号,建议版本号遵循 Semantic Versioning 语义化版本规范,以确保版本管理的清晰和一致性。长度不能超过 64 个字符 1.0.0
1.0.0-alpha
1.0.0-alpha+20130313144700服务来源 设置应用版本的服务来源,支持新建服务或从已有版本克隆服务信息。当选择“克隆已有版本”时,需要设置待克隆的源版本信息 新建 已有版本 选择当前要克隆服务的源版本信息,以便进行服务信息复制。该参数仅在服务来源设置为“克隆已有版本”时显示 - 设置完成后,单击确定,应用详情页面会出现相应的版本信息。新建的应用版本为“待发布”状态。
步骤 3:配置版本服务
在应用详情页面的目标版本区域,单击服务列表右上角的新建服务,打开新建服务窗口。
在新建服务窗口,参考表 2 设置服务基本信息,并根据选择的镜像类型,参考表 3 或表 4 完成服务高级选项参数设置。
表 2 基本信息参数说明 参数 描述 示例 服务名称 服务的名称,支持自定义,名称不能重复 example 选择镜像 选择部署服务需要的镜像,包括 Linux 镜像和 SylixOS 镜像,两种镜像对应的节点和容器资源配置不同。选择镜像时,单击镜像后的可以查看镜像的基础信息和资源配置参数 - 自动更新 设置与当前镜像名称相同的新镜像被上传或 Push 到 ECMP 镜像仓库时,是否自动更新服务,并将服务镜像替换为新镜像。此参数仅在镜像 Tag 为“latest”时可设置,默认不自动更新 - 实例数 服务需要部署的容器实例数 3 表 3 高级选项参数说明(Linux 镜像) 参数类型 参数 描述 示例 基础配置 容器名称(必填) 容器的名称,可由大小写字母、数字及特殊字符“-”“_”“.”组成,且不能以特殊字符“-”“_”“.”开头,如果包含“/”,则必须以“/”开头,且不能出现两个“/”。同一节点的容器名称不能重复 example 主机名称(必填) 容器显示的主机名 example 启动参数(必填) 镜像文件中“config.json”中指定的“cmd”的值,如果没有“cmd”,需自定义 ["/usr/sbin/nginx","-g","daemon off;"] 或 /bin/echo "hello ecsm" 环境变量(必填) 容器启动时需要设置的环境变量,以 Key 和 Value 形式输入,用分号间隔 PATH=/usr/local/sbin:
/usr/local/bin:/usr/sbin:
/usr/bin:/sbin:/bin;NGINX
_VERSION=1.21.5;NJS_VE
RSION=0.7.1;PKG_RELEAS
E=1~bullseye重启策略(必填) no 当容器停止运行时,不重启 no on-failure 当容器非正常停止运行时,自动重启。当选择该选项时,会显示“重试次数”参数,可以按需设置重试次数 on-failure always 当容器停止运行时,自动重启 always unless-stopped 当容器停止运行时,自动重启,除了在 Docker 守护进程启动时就已经停止的容器 unless-stopped 网络类型(必填) bridge 当选择 bridge 类型时,系统会为每一个容器分配、设置 IP 地址,并将容器连接到一个 docker0 虚拟网桥,通过 docker0 网桥以及 Iptables nat 表配置与宿主机通信 bridge host 当选择 host 类型时,容器会使用宿主机的 IP 和端口 host container 当选择 container 类型时,创建的容器不会创建网卡并配置 IP 地址,而是和一个指定的容器共享 IP 地址和端口范围,此时需要指定目标容器 container none 当选择 none 类型时,系统会关闭容器的网络功能,宿主机和其他容器不通信 none 端口映射(可选)
此参数仅在网络类型为“bridge”时显示,可以设置多组端口映射协议(必填) 选择容器的网络传输协议,可选择 TCP 或 UDP,TCP 传输准确性较高,UDP 传输实时性更优 TCP 主机端口(必填) 从容器映射到主机的端口,可通过访问主机端口访问容器 80 容器端口(必填) 路由服务建立的 TCP 或 UDP 代理,用于容器间路由通信 80 DNS(可选)
此参数仅在网络类型为“host”或“container”时显示,可以设置多组DNS(可选) 指定 DNS 服务器地址 - DNS 搜索域名(可选) 当容器访问一个不包括完全域名的主机名时,在该主机名后面添加 dns-search 指定的域名后缀,例如容器访问 centos-1,dns-search 配置的是 example.com,则会解析成 centos-1.example.com example.com VSOA(可选) 服务密码(选填) VSOA 服务的密码 - 端口映射(必填) VSOA 服务映射端口 80 健康检查地址(选填) VSOA 健康检查地址 /health 健康检查超时时间(选填) 启动健康检查最大超时时间 3000 毫秒 重试次数(选填) 启动健康检查最大重试次数 3 启动时间(选填) 健康检查启动时间 5000 毫秒 间隔时间(选填) 每次健康检查间隔时间 5000 毫秒 CPU CPU 数(选填) 为容器配置最大使用限制的 CPU 核数 1 允许执行的 CPU(选填) 为容器配置可使用的 CPU,可以指定范围区间,如 1-3 表示允许核数为 1 到 3 区间的所有 CPU;也可以列举,如 1,2,3 表示允许核数为 1、2、3 的 CPU 1-3 或 1,2,3 CPU 份额(选填) 容器所占总 CPU 核数的比例 10 内存(选填) 容器可用内存 1 文件系统(可选) 容器内的路径(必填) 容器的虚拟路径 /qt 宿主机的路径(必填) 宿主系统的真实物理路径 /qt 权限(必填) 挂载时的权限,包括:只读挂载,读、可执行挂载,读写挂载 只读 设备(可选) 主机地址(必填) 宿主系统的设备地址(增加主机的一个设备到容器,即让容器拥有访问这个设备的权限) - 容器地址(必填) 容器内设备挂载的地址 - 权限(必填) 容器内该设备的读写权限,read 代表只读,write 代表只写,mknod 代表创建块或字符设备等特殊文件的权限 read 健康检查 检查命令(选填) 健康检查命令 HEALTHCHECK [选项] CMD [命令] 或 HEALTHCHECK NONE 间隔时间(选填) 健康检查间隔时间 30 秒 重试次数(选填) 健康检查重试次数 3 次 启动时间(选填) 健康检查启动时间 30 秒 超时时间(选填) 健康检查超时时间 30 秒 特权运行(选填) 打开特权运行,会直接赋予容器全部权限 - 表 4 高级选项参数说明(SylixOS 镜像) 参数类型 参数 描述 示例 CPU 最高线程优先级(必填) 容器内允许的线程最高优先级,当容器内期望创建的线程优先级高于 highestPrio 时,实际创建的线程优先级会被设定为 highestPrio 160 最低线程优先级(必填) 容器内允许的线程最低优先级,当容器内期望创建的线程优先级低于 lowestPrio 时,实际创建的线程优先级会被设定为 lowestPrio 250 磁盘 用量限制(必填) 容器允许使用的磁盘空间最大用量,单位 MB 2048 内存 内存堆限制(必填) 容器内的内存堆占用字节数 2097152 物理内存限制(必填) 容器内的物理内存占用字节数 2097152 启动参数(选填) 为容器支持的默认启动参数配置,其格式如 spawnl 函数的参数列表 /apps/ecs_demo 主机名称(必填) 容器显示的主机名 sylixos_ecs 网络(必填) TELNETD 服务 TELNETD 端口 开启 FTPD 服务 FTPD 端口 开启 环境变量(选填) 容器启动时需要设置的环境变量,以 Key 和 Value 形式输入,用分号间隔 PATH=/usr/bin:/bin:/usr/pkg/sbin:
/sbin:/usr/local/bin;TERM=vt100文件系统(可选) 容器内的路径(必填) 容器的虚拟路径,当宿主环境的真实路径不存在时,容器内的路径会显示为无权限访问状态 /qt 宿主机的路径(必填) 宿主系统的真实物理路径 /qt 权限(必填) 挂载时的权限,包括:只读挂载,读、可执行挂载,读写挂载 只读 设备(可选) 路径(必填) 宿主系统的设备路径 /dev/fb0 权限(必填) 读、写和执行权限,可多选。容器设备的权限配置遵循“最后有效”原则,即若多条规则覆盖到同一设备,则以最后一条规则为有效规则 读 VSOA(可选) 服务密码(选填) VSOA 服务的密码 - 自动映射端口(必填) 设置是否开启自动映射端口。打开自动映射端口开关,则服务会自动识别节点上的可用端口并动态分配映射端口;关闭自动映射端口开关,则需要手动填写固定的映射端口 80 健康检查地址(选填) VSOA 健康检查地址 /health 健康检查超时时间(选填) 启动健康检查最大超时时间 3000 毫秒 重试次数(选填) 启动健康检查最大重试次数 3 启动时间(选填) 健康检查启动时间 5000 毫秒 间隔时间(选填) 每次健康检查间隔时间 5000 毫秒 内核对象 线程数量(必填) 容器内允许的最大线程数量 300 线程池数量(必填) 容器内允许的最大线程池数量 1 事件数量(必填) 容器内允许的最大事件数量 800 事件集数量(必填) 容器内允许的最大事件集数量 50 定长内存分区数量(必填) 容器内允许的最大定长分区数量 5 变量内存区数量(必填) 容器内允许的最大变长分区数量 5 消息队列数量(必填) 容器内允许的最大消息队列数量 50 定时器数量(必填) 容器内允许的最大定时器数量 5 设置完成后,单击保存,完成服务新建。重复以上步骤可以新建多个服务,并对服务进行修改和删除操作。
- 修改服务:选择要修改的服务,单击其操作列的修改,可以参考步骤 2 中的参数说明表,修改已设置的服务参数信息。
- 删除服务:选择要删除的服务,单击其操作列的删除,可删除新建的服务。
所有应用信息设置完成后,单击顶部导航栏中的应用列表,返回应用列表主页面,新建的应用会显示在应用列表中。