新建应用

更新时间:
2024-12-20

新建应用

您可以创建一个新的应用,并为其定义多个版本。每个版本可以根据业务需求配置多个服务,以实现特定的业务功能,从业更好地满足用户需求和业务变化。

前提条件

  • 拥有“平台管理员”、“产品开发者”或其他具备“新建应用”菜单权限的角色,关于角色的详细说明请参见 角色概述
  • 为应用配置服务信息时,镜像仓库必须存在可用镜像,您可以手动 上传镜像 或通过 Armory 客户端命令、RealEvo-IDE 插件等方式上传镜像到 ECMP 仓库。

操作步骤

步骤 1:设置基础信息

  1. 登录软件工厂,进入 ECMP 欢迎页。

  2. 在左侧导航栏中,单击应用管理 > 应用列表,进入应用列表页面。

  3. 在应用列表页面,单击左上角的新建,打开新建应用窗口。

  4. 在新建应用窗口,设置应用名称和描述信息。

  5. 设置完成后,单击确定,进入应用详情页面。

步骤 2:新建应用版本

  1. 在应用详情页面,单击页面左上角或中间区域的新建版本,打开新建版本对话框。

  2. 在新建应用版本对话框中,参考表 1 设置应用的版本号和服务来源等信息。因为是首次为应用新建第一个版本,故此处服务来源选择“新建”。

    表 1 新建应用版本参数说明

    参数描述示例
    版本号应用的版本号,建议版本号遵循 Semantic Versioning open in new window 语义化版本规范,以确保版本管理的清晰和一致性。长度不能超过 64 个字符1.0.0
    1.0.0-alpha
    1.0.0-alpha+20130313144700
    服务来源设置应用版本的服务来源,支持新建服务或从已有版本克隆服务信息。当选择“克隆已有版本”时,需要设置待克隆的源版本信息新建
    已有版本选择当前要克隆服务的源版本信息,以便进行服务信息复制。该参数仅在服务来源设置为“克隆已有版本”时显示-
  3. 设置完成后,单击确定,应用详情页面会出现相应的版本信息。新建的应用版本为“待发布”状态。

步骤 3:配置版本服务

  1. 在应用详情页面的目标版本区域,单击服务列表右上角的新建服务,打开新建服务窗口。

  2. 在新建服务窗口,参考表 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.comexample.com
    VSOA(可选)服务密码(选填)VSOA 服务的密码-
    端口映射(必填)VSOA 服务映射端口80
    健康检查地址(选填)VSOA 健康检查地址/health
    健康检查超时时间(选填)启动健康检查最大超时时间3000 毫秒
    重试次数(选填)启动健康检查最大重试次数3
    启动时间(选填)健康检查启动时间5000 毫秒
    间隔时间(选填)每次健康检查间隔时间5000 毫秒
    CPUCPU 数(选填)为容器配置最大使用限制的 CPU 核数1
    允许执行的 CPU(选填)为容器配置可使用的 CPU,可以指定范围区间,如 1-3 表示允许核数为 1 到 3 区间的所有 CPU;也可以列举,如 1,2,3 表示允许核数为 1、2、3 的 CPU1-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 时,实际创建的线程优先级会被设定为 highestPrio160
    最低线程优先级(必填)容器内允许的线程最低优先级,当容器内期望创建的线程优先级低于 lowestPrio 时,实际创建的线程优先级会被设定为 lowestPrio250
    磁盘用量限制(必填)容器允许使用的磁盘空间最大用量,单位 MB2048
    内存内存堆限制(必填)容器内的内存堆占用字节数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
  3. 设置完成后,单击保存,完成服务新建。重复以上步骤可以新建多个服务,并对服务进行修改和删除操作。

    • 修改服务:选择要修改的服务,单击其操作列的修改,可以参考步骤 2 中的参数说明表,修改已设置的服务参数信息。
    • 删除服务:选择要删除的服务,单击其操作列的删除,可删除新建的服务。
  4. 所有应用信息设置完成后,单击顶部导航栏中的应用列表,返回应用列表主页面,新建的应用会显示在应用列表中。

文档内容是否对您有所帮助?
有帮助
没帮助