堆栈管理
若用户需要一次性部署多个应用,需要使用堆栈进行自动化编排。
堆栈是指由应用、服务、资源等元素组成的一个部署实例,ServiceStage将相关编排元素通过“堆栈”进行集中管理。
当前支持如下两种创建堆栈的方式。
- 通过模板创建堆栈:开发人员或运维人员对应用的拓扑、生命周期管理计划进行设计,并输出应用模板(也可称为应用设计包),系统根据应用模板自动创建堆栈。
- 通过设计器创建堆栈:平台提供符合TOSCA标准的应用图形化设计器,拉通IaaS/PaaS/SaaS三层的应用全栈图形化编排部署,便于自动生成应用模板,系统根据模板自动创建堆栈。
使用堆栈部署合设VM应用时需遵循以下约束(合设VM应用是指多个虚机应用部署在同一个节点上):
- 多个软件包部署在同一个节点上,需确保目录、端口等不冲突。
- 堆栈部署VM集群应用时(采用合设方式),多个应用实例间要保证能同时运行在一个VM上且没有冲突。
- 堆栈部署VM应用时设置了声明端口,ServiceStage平台会基于端口执行冲突检查。
- 堆栈部署VM集群应用时,系统默认支持软性亲和,即同一个应用的不同实例会分散部署,但不硬性保证。
创建堆栈前,建议用户先阅读编排设计包格式说明。
创建堆栈前,建议您先了解表42-4。
术语 |
解释 |
---|---|
编排 |
编排是指对组成堆栈的元素(Element)按照一定的次序进行处理的过程。通过定义应用组件、对资源的需求、依赖的服务、元素之间的关系(拓扑)等,完整地描述应用本身以及所依赖的服务、资源,最后交由FusionStage平台完成部署。 |
堆栈 |
堆栈是指由应用、服务、资源等元素组成的一个部署实例。ServiceStage平台将相关编排元素通过“堆栈”进行集中管理。 |
模板 |
模板是对堆栈的描述,包括基于应用模型的堆栈拓扑定义、堆栈生命周期描述、运行时资源描述、软件组件描述等。 |
元素 |
元素表示组成一个模板的构建块(building block),是元素类型的一个实例化,在拓扑中表示为一个节点,可以为应用、服务、资源及其子孙节点类型。 |
应用 |
应用是对最小可部署对象的一种描述。应用代表一个软件应用的逻辑实体,表示一个有业务功能呈现给用户的计算机软件应用。 |
服务 |
服务是对按需取用的功能对象的一种描述。在ServiceStage应用模型中,服务一般面向应用,应用使用服务需要先订购服务,再绑定服务并使用,某些商业场景下可能还需要按使用量付费。 |
资源 |
资源是应用在运行时所依赖的资源实体的抽象,代表一种或多种物理资源实体,如计算、存储、网络等。 |
关系 |
关系是组成模板的元素之间的依赖。在拓扑中表示为两个节点之间的连线。元素间关系主要包括应用运行于资源上的关系、应用与服务的连接关系、元素之间的部署顺序关系、应用间的组合关系等。 |
生命周期 |
在FusionStage中特指堆栈/应用的生命周期。是指堆栈/应用从创建到被删除的整个过程。包括安装、启动、停止、删除、升级、伸缩、灰度发布等。 |
设计包 |
设计包描述ServiceStage的应用打包格式,作为应用拓扑设计的输出,以及应用编排系统的输入。 |
软件仓库 |
ServiceStage的容器镜像、虚拟机镜像、软件包、模板等文件的存储仓库。 |
部署 |
部署是指把一个模板实例化到基础设施的过程。用户在部署时输入相关配置参数(inputs),对模板进行实例化后即为一个可运行在ServiceStage之上的堆栈。 |
节点 |
在TOSCA中,节点是组成一个服务模板的构建块(building block),是节点类型(Node Type)的一个实例化,在拓扑中表示为一个节点。 |
输入 |
输入是指实例化模板时的输入参数,可选。 |
输出 |
输出是指模板实例化后的输出参数,可选。 |
编排、设计包、模板、堆栈、设计器的相互关系如图42-2。