应用发布

更新时间:

一个“边缘托管应用”的部署整体流程,包括:应用开发、创建应用、应用配置、部署实例、发布版本。

1. 整体流程

一个“边缘托管应用”的部署整体流程,包括:应用开发、创建应用、应用配置、部署实例、发布版本。

2. 应用开发

根据上一节的对接要求,对应用做必要的改动。当然,主要工作为“操作系统的适配)。

3. 创建应用

应用管理 > 创建应用页面填写应用基本信息,如图所示:image.png

选择应用类型为实例分发,如图所示:实例分发

根据应用实际情况选择部署方式与系统类型,如图所示:集群类型

  • 应用类型:

账号分发:用户付款后,只需要交付账号给其使用。实例分发:用户付款后,单独为客户部署一套应用。一次性交付:定制项目或交付型应用。

  • 部署方式:

云端托管部署:平台根据应用提供者的配置,自动分配资源,并部署应用。边缘托管部署:平台根据应用提供者的配置,自动分配资源,并部署应用到边缘。

4.应用配置

创建应用完成后点击初始化应用,填写版本说明,创建应用完成后可以看到版本管理、实例管理、授权实例功能,如图所示:应用配置

4.1 可视化编排

基本介绍:一般情况下,一个应用是由多个节点构成的。这里的节点是指独立运行的应用进程。比如一个常规业务管理系统的应用,常常是一个Tomcat应用,在家一个数据库MySQL,这种情况下,这个应用就是由两个节点构成,这里的Tomcat应用,在可视化编排页面表现为一个“自研节点”;数据库节点,则是一个MySQL中间件。对应前者,用户需要打包成以一个docker容器镜像,在自研节点的右侧配置项中选择上传的镜像及版本;后者,用户可以直接拖动左侧现成的中间件节点,用户无需自行打包。页面介绍:应用配置可视化编辑页面分为三部分内容:

  • 左侧部分为节点:显示已支持的各类节点,所有节点配置请查看节点说明

  • 中间部分为画布:显示应用需要的节点及部署顺序关系。注意⚠️,节点间的部署顺序关系,是通过连线来表示的,连线箭头所指节点先部署,连线起点后部署。

  • 右侧部分为节点属性:显示某个节点可以配置的参数。

左侧的节点列表,分成了四类:

  • 自研节点:用户自己上传的镜像的载体。一份配置,可以又多个自研节点。

  • 阿里云节点:一个节点,在应用被部署之后,对应阿里云RDS产品的一个实例(如一个RDS for MySQL数据库实例)。

  • 三方节点:各类主流开源中间件Docker镜像。这一类镜像完全来自于第三方,功能、性能、质量、安全等,均保持不变。

  • 初始化节点:这类节点属于辅助节点,在整个部署的生命周期,只会执行一次(其他节点通常不止一次,比如节点健康检查失败就会重启)。点击 版本管理 > 可视化编排 ,可视化编排是对一个应用的定义。包括一份应用中的节点构成、节点的配置、启动顺序等,如图所示:应用配置

对于自研节点的配置项目:

  • 服务名称:节点之间的访问地址,并不是传统的IP,而是用”服务名“替代。用户不需要每次部署时去配置不同节点的访问IP。

  • CPU/Memory配额:节点启动所期望的最小资源需求。如果在部署中发现主机资源不满足该条件,将导致节点无法启动。

  • CPU/Memory限额:节点运行过程中所占用的资源的上限。防止运行在同一主机内的其他应用的运行资源被无限制的抢占。

  • 资源个数:该节点启动的副本数量。通过设置多个副本,可以充分利用多个主机的资源,系统通过内部网络实现自动的负载均衡。需要注意的是多个副本之间的状态是无法自动同步的,因此建议开发阶段注意节点无状态设计。

  • 环境变量:这是一个键值对,节点启动的时候,系统会将这里设定的键值对,放在环境变量中,供系统获取。

  • 应用日志目录:该目录是用来指定应用程序自身存储日志的路径。节点部署时,会自动注入一个日志采集插件,该插件将会根据该路径获取日志,并上传到云端的日志系统中,用户可以进行日志分析。

  • 自研节点端口对:该节点开放的内部端口和外部系统访问的端口之间的映射关系。

  • 主机网络:启用主机网络,则该外部系统可以直接使用应用的 “当前主机地址” + “端口对的外部端口” 进行访问。

  • 服务类型

    • ClusterIP:这种模式,节点开放的端口仅能被集群内其他节点访问,外部无法访问;访问时使用服务名称+端口对配的外部端口号进行访问。

    • Loadbalance:会从创建集群时提供的服务地址段中分配一个IP绑定到该服务,可以在集群外可通局域网络里访问;访问端口使用“端口对的外部端口”

    • NodePort:外部系统通过集群里面“任何一个主机的物理IP”+“系统随机分配的外部端口”访问该节点端口的内部端口对,随机分配的端口可在控制台应用详情页节点列表查询获得。该端口一般会分配30000以上。

  • 主机文件映射:需要输入的信息有:容器内路径、主机路径、路径类型(普通文件、字符设备、文件夹、套接字、块设备)。容器路径是用户应用代码的路径,主机路径是物理主机的路径。该配置项用于指定应用读写的文件与实际物理文件之间的映射关系。

  • 存储目录:需要输入的信息有:标识名称、容器内路径。容器路径是用户应用代码的路径。该配置项用于指定NAS存储的相对路径。不涉及NAS存储的,不需要配置。

4.2模型与权限

权限声明

点击版本管理 > 模型与权限 > 权限声明,在应用的分发模式,每一次分发,都有可能归属到不同的买家。因此,每一个应用实例,都需要一个唯一的值来代表应用实例的身份。这里,我们采用了AppKey + AppSecret的模式。随之而来的是,我们如何给AppKey授权。应用在调用IoT的各种API的时候,拿的这个AppKey需要被事先授权。因此,应用上架时,有必要清晰的指出该应用会调用哪些API,这样才能在AppKey产生的那一刻,给他授相应的权限,在此页面可对实例进行授权等操作,如图所示:权限注意⚠️ 若需要对接数据模型服务需要添加数据模型权限,对接单租户免登,需要开通oauth协议服务权限。数据模型点击数据模型 > 添加数据模型,在列表中,除了选择要声明的模型之外,还要选择版本、数据权限、订阅。其中,数据权限有三种:查、增 | 查、增 | 删 | 改 | 查,分别对应不同的操作类型。如图所示:数据模型

服务依赖

点击服务依赖 > 添加服务模型(应用为服务依赖方添加,服务提供方无需添加),选择对应的服务模型,并配置服务模型的API,如图所示:服务依赖

服务提供

点击服务提供 > 添加服务模型(应用为服务提供方添加,服务依赖方无需添加),选择对应的服务模型,并选择相应的端口,如图所示:服务提供

4.3免登路径

如果需要在边缘控制台中查看已部署的应用信息,则需要配置免登路径,否则边缘控制台的免登跳转会无法识别跳转路径,如图所示:image.png

5. 发布版本

您需要先发布版本,版本发布后部署的应用才可以走升级流程,如图所示:发布版本

6. 部署实例

点击实例管理 > 部署实例,按照界面提示填写参数,如图所示:image.png参数设置如下:

参数

描述

应用名称

部署后应用实例的名称。该名称需账号内唯一。

应用配置

选择应用配置界面中创建的配置。

部署区域

当应用配置为边缘配置时,显示您在集群管理中创建的边缘集群。

资源信息状态

展示您选择的配置所有的节点及占有的资源情况

  • 单击部署,执行部署任务。

  • 部署应用时,需要根据应用配置占用相应的云资源。

  • 部署过程可能会花费较长时间,请耐心等待。

  • 应用部署成功后,您可以在部署记录页进行查看、运维和删除等操作,详情请参考运维工具文档