摘要:在前两篇文章中已经介绍了品高云应用自动化部署的功能组成及基本原理,通过示例可以熟悉自动化部署的操作界面,并可根据实际需求制作部署方案,发布成一个服务。本篇将介绍品高云应用自动化部署的更多高级功能,其中包括部署方案的导入导出、服务的重用及自动化运维方案。
本篇将通过三个章节介绍品高云应用自动化部署的更多高级功能,通过本篇的介绍可以简化构建服务的工作量,并可以针对部署出来的服务进行自动化运维操作,具体章节内容如下:
第 1 章节: 介绍自动化部署服务的导入/导出控制台,并通过示例的操作加深理解。
第 2 章节: 通过具体示例介绍对已经发布的服务在新的模型中进行引用,达到服务重用的作用。
第 3 章节: 针对第 2 章节创建的服务制作运维方案,实现服务的自动化运维。
1 导入/导出控制台
在品高云应用自动化部署中,各功能模块间相互协调,从而构建出不同的部署方案来向用户提供服务,具体的架构及实现原理可通过基础篇的第 2 章节品高云应用自动化部署模块介绍进行学习。在本章节中将介绍自动化部署中较为独立的模块:导入/导出控制台,可以实现平台中自动化部署方案、软件及服务在不同平台的迁移和备份,服务的导入/导出具体实现原理如图 1-1 所示,软件及自动化部署方案的导入/导出与其类似。
图 1-1 自动化部署方案的导入/导出示意图
通过导入/导出控制台进行服务的导入/导出时,将服务的部署方案和仓库文件中的安装包及服务信息一起导出为 ZIP 文件,ZIP 文件可以下载到本地中进行保存备份。
当新平台中需要上架相同的服务时,可通过新平台的导入/导出控制台将 ZIP 文件导入,直接生成服务而无需再次重头制作,从而减轻自动化部署服务迁移的工作量。
本章节将分两部分进行介绍,第一部分对导入/导出控制台模块进行整体介绍,第二部分通过服务迁移的示例介绍导入/导出工作台的实际操作步骤。如想快速体验品高云的自动化部署服务,可查看本章节的示例,将进阶篇的 Haproxy 负载 Tomcat 集群服务导入到平台中进行体验。
1.1. 导入/导出控制台模块
导入/导出控制台模块允许用户将平台中的软件、自动化部署方案及服务进行导入及导出操作,导入/导出控制台界面如图 1-2 所示:
执行导入/导出操作会启动一个流程,产生一个流程实例用来记录流程的运行状态,可通过流程实例页面进行查看。导出成功后会生成一个 ZIP 文件,ZIP 文件存放在文件管理的临时文件管理中,在进行方案导入时,也需要将 ZIP 文件上传到新平台的临时文件管理中。
图 1-2 导入/导出控制台界面
在导入/导出控制台界面中,按照导出的类型分成多个选项,本篇以服务导出作为示例进行介绍,部署方案及软件的导入与其类似。
1.1.1. 服务导出
“服务导出” 支持对平台中的服务执行导出操作,界面如图 1-3 所示。在其中可以对服务导出流程进行命名,选择想导出的服务及导出服务关联的安装包。导出成功后会生成一个 ZIP 文件,ZIP 文件存放在文件管理的临时文件管理中。
图 1-3 服务导出界面
1.1.2. 服务/部署方案/软件-导入
“服务/部署方案/软件-导入” 支持对服务/部署方案/软件进行导入操作,界面如图 1-4 所示。在其中可以对导入流程进行命名,选择想导入的服务/部署方案/软件的 ZIP 文件。在进行导入操作前,需要将对应的 ZIP 文件上传到平台的临时文件管理中。
图 1-4 服务/部署方案/软件-导入界面
1.2. 服务导入/导出示例
本章节通过进阶篇 Haproxy 负载 Tomcat 集群服务的导入/导出来讲解如何完成一个自动化部署服务的迁移工作,通过示例可以了解到在两朵云中完成自动化部署服务备份和迁移的全过程。完成服务的迁移工作过程如图 1-5 所示:
在旧环境中通过导入/导出控制台选择对应的服务及关联的安装包执行导出操作,将导出的 ZIP 文件下载到本地机器。将 ZIP 文件上传到新环境的临时文件中,并再次通过导入/导出控制台的服务导入,选择 ZIP 文件执行导入操作。
步骤:
1) 登录旧环境,进入【配置管理→高级服务→导入/导出控制台】,点击【导出→服务】
2) 进入服务导出界面 ,填写流程名称为【Haproxy 负载 Tomcat 集群服务导出】,服务选择【Haproxy 负载 Tomcat 集群服务】,仓库文件选择【helloworld.zip】,并点击【申请】,具体如图 1-5 所示:(服务及仓库文件请按照实际进行选择)
3) 可流程实例页面查看服务导出进度,等待导出流程完成,进入【文件管理→临时文件管理】找到导出的 ZIP 文件,并将其下载到本地
4) 登录新环境,进入【配置管理→高级服务→文件管理→临时文件管理】,将 ZIP 文件上传
5) 进入【导入/导出控制台】,点击【导入→服务/部署方案/软件】,在导入页面中填写流程名称【Haproxy 负载 Tomcat 集群服务导入】,点击上次按键,选择【导出的 ZIP 文件】,并点击【申请】,具体如图 1-6 所示:
6) 可流程实例页面查看服务导出进度,等待导入流程完成,可在服务目录中查看到相应应的服务。
7) 因为平台不同,部署方案参数模板定义的镜像可能在新平台中不存在,需要在镜像参数一栏,点击参数信息修改按键将参数信息里面将镜像 ID 值改为平台上的 centos 镜像 ID。参数模板修改路径为【配置管理→高级服务→服务管理→部署方案】找到方案进入详情,点击流程模型的参数模板,进入参数模板界面点击参数模板名称。
图 1-5 Haproxy 负载 Tomcat 集群服务导出
图 1-6 Haproxy 负载 Tomcat 集群服务导入
拓展:
进行迁移的服务如果在服务目录中已发布,迁移到新平台也是已发布状态,如需修改发布区域及角色,可下架后再发布选择
1)进行迁移的服务如果在服务目录中未发布,迁移到新平台处于未发布状态,发布时需到相关部署方案中选择对应的方案进行发布
2)ZIP 文件可存放于本地进行备份,ZIP 文件名不能带中文
3)如果服务中的部署方案有使用服务重用,需要先将被重用的服务发布到新平台中,并且服务的编号不能改变,并在执行器中将其服务执行器设置为可见。具体可参考本篇第 2 章节内容
4)服务导入成功后,可在服务目录中找到对应服务并执行服务发布操作
如想快速体验品高云的自动化部署服务,可下载进阶篇的 Haproxy 负载 Tomcat 集群服务的 ZIP 文件,并按照 4)-7) 的操作导入到平台中进行体验。Haproxy 负载 Tomcat 集群服务的 ZIP 文件下载链接为:http://pan.bingosoft.net:81/drive/share/open_sharepage/a0cc9e6d-bc6e-470f-9a7a-80537b61226e:bingo【密码:DYAW】
2 服务重用
在 SIP4.1 版本中,品高云应用自动化部署服务(工作流模式)支持对已发布的服务进行重用,即在新的流程模型中引用旧的流程模型,无需重头制作已有的流程模型,从而减轻设计方案的工作量。例如在进阶篇的 HaProxy 负载 Tomcat 集群示例,可以将 Tomcat 的部署制作成一个服务,后续平台的部署方案如果需要使用到 Tomcat 组件,即可直接引用而无需从头制作。
本章节将介绍服务重用的实现原理并通过服务重用构建方案的示例来介绍服务重用的实际操作步骤。
2.1. 服务重用原理
当将品高云自动化部署方案上架到服务目录并发布时,会在云平台中同步生成一个执行器,执行器带有整个自动化部署方案的信息,可直接被新的部署方案引用,达到服务重用的作用,具体实现方式如图 2-1 所示:
图 2-1 服务重用示意图
服务发布后生成的执行器编号为服务上架的服务编号,此编号为全平台唯一,不可重用并且只能使用字母、数字、下划线(_)和横杆(-),具体可参考图 2-2:
图 2-2 服务编号及执行器编号对应关系
由服务生成的执行器平台默认不显示在设计器中,需要在执行器页面中找到相应的执行器,并将其设置为显示在设计器中,如图 2-3 所示:
图 2-3 将执行器设置为在设计器中显示
2.2. 服务重用示例
在进阶篇的示例中,构建了一个 Haproxy 负载 Tomcat 集群的多机部署架构,而在基础篇中示例已经完成一个 Tomcat 服务的构建。运用服务重用,Haproxy 负载 Tomcat 集群示例中的 Tomcat 部署可以引用原先的方案,而无需重头制作,并且后续平台中的自动化部署方案如需要使用到 Tomcat 这一中间件也可直接引用。本节将介绍如何在 Haproxy 负载 Tomcat 集群服务中使用服务重用功能,具体实现为部署方案中的 Tomcat 部署使用服务重用,如图 2-4 所示:
图 2-4 服务重用前后对比
在本次示例中,会构建一个 Tomcat 部署的服务,将其上架到服务目录中并发布,然后在 Haproxy 负载 Tomcat 集群服务中将创建 tomcat 部署任务进行替换 Tomcat 部署服务的执行器。本章将通过以下 3 小节进行介绍:
2.2.1 节:创建 Tomcat 部署服务,将其上架到服务目录中并发布,并在执行器列表中找到此服务执行器将其设置为在设计器中显示。
2.2.2 节:创建 Haproxy 负载 Tomcat 集群服务,在创建 tomcat 部署任务中使用服务重用。
2.2.3 节:对新改造的部署方案进行部署测试,验证可行性
2.2.1. 创建 Tomcat 部署服务
部署 Tomcat 服务可参考进阶篇中的 4.2 方案设计中的创建 tomcat 部署任务,安装包及脚本也可在进阶篇中获取,在此只进行简单介绍。也可以通过此链接 http://pan.bingosoft.net:81/drive/share/open_sharepage/327a1239-ba08-42a5-976b-a75769722814:bingo【密码:kNBi】下载 Tomcat 部署方案的 ZIP 文件,并严格参照第 1 章节执行方案导入操作。
步骤:
如通过方案导入的方式构建 Tomcat 部署方案,可直接跳过第 1)、2)步。
1) 将 Tomcat 部署服务的安装包上传到平台中,并为 Tomcat 部署方案创建相应的相应的部署方案、版本号及流程模型。
2) 在设计器中完成 Tomcat 部署方案的设计,并为此方案配置参数模板。
3) 对部署方案进行测试,验证可行性,如无法成功执行,可查看具体报错信息,并对方案进行调整
4) 进入【配置管理→高级服务→服务管理】点击【新增】,启动新增服务向导,填写服务名称【Tomcat 部署】、服务编号【createTomcat】、服务分类【选中间件】,模式选择【工作流模式】,关联方案选择【Tomcat 部署】其他默认,如图 2-5 所填,点击【提交】按钮。 PS:请确保服务编号在平台是唯一的
5) 在服务目录中找到上架的服务,执行发布操作,然后进入【高级服务→执行器】中,找到执行器编号为 createTomcat 的执行器,将其设置为显示在设计器中
图 2-5Tomcat 部署服务上架
2.2.2. 创建 Haproxy 负载 Tomcat 集群服务
Haproxy 负载 Tomcat 集群服务可以按照进阶篇的示例进行设计,也可以直接通过方案导入的方式完成。本节只介绍方案导入的方式,如想从头部署,可参考进阶篇的示例。Haproxy 负载 Tomcat 集群服务的 ZIP 文件可通过此链接 http://pan.bingosoft.net:81/drive/share/open_sharepage/a0cc9e6d-bc6e-470f-9a7a-80537b61226e:bingo【密码:DYAW】进行下载,并严格按照第 1 章节执行方案导入操作。
步骤:
1) 将 Haproxy 负载 Tomcat 集群服务导入到平台中,并进入到部署方案设计器中,此时方案如图 2-6 所示
2) 将子流程中的关于 tomcat 部署方案全部删除,其余默认,删除后部署方案如图 2-7 所示
3) 在左侧拖入流程控制组件的【开始事件】放置在子流程中,填写编号【start01】,填写名称【子流程开始】,其他默认
4) 在左侧拖入中间件的【createTomcat】放置在子流程中,填写编号【createTomcat】,填写名称【tomcat 部署】,其他默认,并将【子流程开始】与【tomcat 部署】相连接
5) 在左侧拖入流程控制组件的【结束事件】放置在子流程中,填写编号【end01】,填写名称【结束子流程】,其他默认,并将【tomcat 部署】与【子流程结束】相连接
6) 点击左上角的保存,退出设计器
图 2-6Haproxy 负载 Tomcat 集群服务原始版
图 2-7 删除创建 Tomcat 集群模块
图 2-8Haproxy 负载 Tomcat 集群服务使用服务重用
2.2.3. 对部署方案进行部署测试
Haproxy 负载 Tomcat 集群服务是通过方案导入的方式进行的,可直接延用原方案的参数模板,在部署方案界面进行服务申请 ,来验证方案的可行性。
在自动化部署中,如采用服务重用的方式构建部署方案,在申请界面会分为多个参数填写页面。每重用一个服务,将新增一页参数收集页面,新增的参受收集页面为引用的服务的参数模板生成。如此次示例,会有两个参数收集页面,一个为本方案的参数收集页面,参数作用于方案中除 tomcat 部署部分,一个为 tomcat 部署参数收集界面,收集的参数信息只作用于 Tomcat 的部署(Tomcats 实例的内存要 2G 及以上),如图 2-9 所示:
图 2-9 服务重用后的申请界面
在部署方案填写相关信息进行服务申请后,可通过方案测试页面或是流程实例页面来查看每个过程的进展情况,采用服务重用后,每个服务重用的流程也会对应生成一个流程实例和测试方案,方便进一步排错。
与进阶篇中的示例相比,运用服务重用,可极大简化方案设计的工作量。在自动化部署方案的设计中,运用服务重用功能将复杂的部署方案进行拆分,可准确进行排障,也可构建架构更加复杂的应用。
3 自动化运维
品高云应用自动化部署服务解决了复杂应用部署交付的自动化问题,随着业务的发展,有时需要对环境进行频繁的运维和升级。例如 Web 集群需要进行弹性扩容和缩减,多节点环境需要进行批量升级,数据库需要进行定期巡检等。
对于已知部署架构的自动化部署方案来说,在此基础上可以构建运维方案,描述其运维或升级操作,以到达自动化的效果。
本章节将分两部分对自动化运维进行介绍,第一部分对自动化运维模块进行整体介绍,第二部分通过对 Haproxy 负载 Tomcat 集群服务制作自动化运维方案示例介绍自动化运维的实际操作步骤。
3.1. 自动化运维方案
品高云应用自动化部署服务不仅针对服务的自动化部署交付,更可针对服务定制自动化运维方案,实现自动化运维能力。自动化运维是通过对应用或服务制定不同的的自动化运维方案来实现,服务构建完自动化运维方案,可通过 web 界面直接实现运维操作。
自动化运维方案同样是基于开源项目 activiti 提供的设计器进行设计,设计的思路和方法和自动化部署方案是完全一致,每新建一个自动化运维方案都会生成一个流程模型,在流程模型中可根据运维的需求进行设计并为其配置参数模板。
进行自动化运维操作时,自动化运维方案会通过运维方案的参数模板收集相关信息并启动流程模型(部分运维方案也可以不采集执行参数直接执行),此时流程模型中的执行器会依照编排及用户传递的参数开始执行,并在方案测试和流程实例中会生成对应的过程信息可供用户查看当前执行进度,整个过程与自动化部署服务相同,如图 3-1 所示:
图 3-1 自动化运维各模块间的关系
3.1.1. 自动化运维方案创建
自动化运维方案包含在部署方案中,可以在部署方案里面进行创建,也可在流程模型页面中创建流程模型后关联到服务中,图 3-2 为自动化部署方案创建:
图 3-2 运维方案创建位置
在运维方案创建时,可选择已有流程或者新建流程,两种方式都可以选择平台中的流程模型进行应用,具体如图 3-3 所示。针对同一部署方案,可以制作多个运维方案。
图 3-3 运维方案创建
3.1.2. 自动化运维方案参数引用
在自动化运维方案设计中,自动化运维方案要获取到服务或应用的信息,才能对服务进行运维操作。如针对 Haproxy 负载 Tomcat 集群服务进行自动化运维操作时,要对 Haproxy 实例下放指令,需要能获取到 Haproxy 实例的 ID。在自动化部署服务中,可通过参数模板中的输出 JSON 与参数引用来实现服务或应用信息的获取。
在进行服务的设计时,可以在参数模板的输出 JSON 中设定好输出参数,输出参数的取值可通过 ${outputs} 的方式进行,如图 3-4 所示。在 Haproxy 负载 Tomcat 集群服务中,通过图 3-4 的输出 JSON 可以输出 Haproxy 实例的 ID,在后续的自动化运维方案中,可通过其中的 key 值和参数引用的方式,即 ${ HaproxyInstanceId } 直接获取到 Haproxy 实例的 ID。PS: 具体可参考 3.2 的自动化运维示例
1. [
2. {
3. "Key": "HaproxyInstanceId",
4. "DisplayName": "Haproxy 实例 Id",
5. "Value": "${outputs.createHaproxy.instanceId}"
6. }
7. ]
图 3-4 设定 Haproxy 实例的 ID 的输出参数
参数模板的输出 JSON 可在参数模板进行设置,具体位置如图 3-5 所示:
图 3-5 设置输出 JSON 的位置
3.1.3. 自动化运维方案使用
应用自动化部署方案绑定自动化运维方案后,对由自动化部署创建的应用环境,可直接在应用的详情页面进行自动化的运维动作,具体如图 3-6 所示:
图 3-6 自动化运维操作
自动化运维方案依旧设定的方案,可能无需收集参数信息即可执行,如示例中开启/停止 HaProxy 服务,也可像增加节点一样,通过参数信息配置新增的 Tomcat 节点规模等基础信息。在执行自动化运维时,同样会在流程实例中启动一个流程实例,用来记录方案执行的进展情况。
3.2. 自动化运维示例
在第 2 章节中创建了一个 Haproxy 负载 Tomcat 集群服务,本章节示例将通过对此服务制作自动化运维方案来介绍自动化运维具体实现方法。针对 Haproxy 负载 Tomcat 集群服务的自动化运维示例分为 3 小节:
3.2.1 节:构建 Haproxy 服务启停的自动化运维方案
3.2.2 节:构建 Tomcat 集群扩展运维方案
3.2.3 节:Haproxy 负载 Tomcat 集群服务实现自动化运维
对 Haproxy 负载 Tomcat 集群服务构建运维方案,首先要在平台中按照第 2 章节的操作创建好 Haproxy 负载 Tomcat 集群部署方案,可参考 2.2.2. 创建 Haproxy 负载 Tomcat 集群服务中的方案导入。
3.2.1. 构建 Haproxy 服务启停的自动化运维方案
对 Haproxy 负载 Tomcat 集群服务构建 Haproxy 服务启停的自动化运维方案实现原理为通过自定义指令执行器对 Haproxy 实例下发 Haproxy 服务启停指令。自定义指令执行器需要获取到下发实例的实例 ID,所以可针对 Haproxy 负载 Tomcat 集群服务构建 Haproxy 实例 ID 的输出 JSON,具体实现步骤如下:
步骤:
1) 进入【配置管理→高级服务→服务管理→部署方案】,找到 Haproxy 负载 Tomcat 集群方案进入详情,点击流程模型的参数模板,进入参数模板界面,点击【标准模板】(即模板名)
2) 点击【输出 JSON】,在输出参数栏中填写以下代码内容,后续申请服务完成后将输出 Haproxy 实例 ID 为 HaproxyInstanceId,可为自动化运维方案引用。
3) 填写完毕后,保存退出。
[
{
"Key": "HaproxyInstanceId",
"DisplayName": "Haproxy 实例 Id",
"Value": "${outputs.createHaproxy.instanceId}"
}
]
图 3-7Haproxy 实例 ID 的输出参数设置
扩展:
1)通过输出 JSON 可以输出部署方案中各主机的参数信息,如实例的 IP、ID 及编号等,为后续自动化运维调用。
2)可通过模板界面中的输出预览查看输出格式是否正确
启动 Haproxy 服务运维方案构建步骤:
1) 找到 Haproxy 负载 Tomcat 集群方案进入详情,在流程模型上点击【制作运维方案】
2) 在运维方案框中填写名称【启动 Haproxy 服务】,创建方式选择【新建流程】,模板选择【空白模板】,其他默认,点击【确定】,如图 3-8 所示:
3) 点击创建的运维方案名称,进入设计器中
4) 在左侧拖入流程控制组件的【开始事件】,填写编号【start】,填写名称【开始】,其他默认
5) 在左侧拖入指令服务组件的【自定义指令】,填写编号【start_haproxy】,填写名称【启动 haproxy 服务】,填写实例的 ID【${HaproxyInstanceId}】,填写指令内容为【启动 haproxy 服务脚本】(以下脚本内容)】,其他默认,并将【开始】与【启动 haproxy 服务】相连接
6) 在左侧拖入流程控制组件的【结束事件】,填写编号【end】,填写名称【结束】,其他默认,并将【启动 haproxy 服务】与【结束事件】相连接
7) 点击左上角的保存,退出设计器
启动 haproxy 服务脚本:
#! /bin/sh
/usr/local/sbin/haproxy -f /etc/haproxy/haproxy.cfg
图 3-8 创建启动 Haproxy 服务的运维方案
图 3-9 设计启动 Haproxy 服务的运维方案
停止 Haproxy 服务运维方案构建步骤:
1) 找到 Haproxy 负载 Tomcat 集群方案进入详情,在流程模型上点击【制作运维方案】
2) 在运维方案框中填写名称【停止 Haproxy 服务】,创建方式选择【新建流程】,模板选择【空白模板】,其他默认
3) 点击创建的运维方案名称,进入设计器中
4) 在左侧拖入流程控制组件的【开始事件】,填写编号【start】,填写名称【开始】,其他默认
5) 在左侧拖入指令服务组件的【自定义指令】,填写编号【stop_haproxy】,填写名称【停止 haproxy 服务】,填写实例的 ID【${HaproxyInstanceId}】,填写指令内容为【停止 haproxy 服务脚本】(以下脚本内容)】,其他默认,并将【开始】与【停止 haproxy 服务】相连接
6) 在左侧拖入流程控制组件的【结束事件】,填写编号【end】,填写名称【结束】,其他默认,并将【停止 haproxy 服务】与【结束事件】相连接
7) 点击左上角的保存,退出设计器
停止 Haproxy 服务脚本:
#! /bin/sh
service haproxy stop
图 3-10 设计停止 Haproxy 服务的运维方案
3.2.2. 构建 Tomcat 集群扩展运维方案
Haproxy 负载 Tomcat 集群服务实现 Tomcat 集群扩展原理为通过自动化化运维方案创建 Tomcat 实例,并将其注册到 Haproxy 服务中。
在创建 Tomcat 实例时,通过服务重用实现,简化设计的工作量,请确保平台中已上架 2.2.1 创建 Tomcat 部署服务中的 Tomcat 服务,当然也可以在运维方案中自行设计,可参考进阶篇中的 4.2 方案设计中的创建 tomcat 部署任务。
将 Tomcat 实例注册到 Haproxy 服务时,同样需要通过自定义指令对 Haproxy 实例下发指令,请确保已按照 3.2.1 节中为服务设置好 Haproxy 实例 ID 的参数输出。
步骤:
1) 找到 Haproxy 负载 Tomcat 集群方案进入详情,在流程模型上点击【制作运维方案】
2) 在运维方案框中填写名称【增加 Tomcat 节点】,创建方式选择【新建流程】,模板选择【空白模板】,其他默认
3) 点击创建的运维方案名称,进入设计器中
4) 在左侧拖入流程控制组件的【开始事件】,填写编号【start】,填写名称【开始】,其他默认
5) 在左侧拖入流程控制组件的【子流程】,填写编号【tomcat-process】,填写名称【创建 tomcat 部署任务】,在多实例类型选择【Parallel】,基数(多实例)填写【${tomcatNum}】,其他默认,并将【开始】与【创建 tomcat 部署任务】相连接
6) 在左侧拖入流程控制组件的【开始事件】放置在子流程中,填写编号【start01】,填写名称【子流程开始】,其他默认
7) 在左侧拖入中间件的【createTomcat】放置在子流程中,填写编号【createTomcat】,填写名称【tomcat 部署】,其他默认,并将【子流程开始】与【tomcat 部署】相连接
8) 在左侧拖入流程控制组件的【结束事件】放置在子流程中,填写编号【end01】,填写名称【结束子流程】,其他默认,并将【tomcat 部署】与【子流程结束】相连接
9) 在左侧拖入指令服务组件的【Host 设置】放置在父流程中,用来将方案中新增的主机的 Host 写入到 Haproxy 主机,填写编号【setHost】,填写名称【设置 Host】,填写实例的 ID【${HaproxyInstanceId}】,其他默认,并将【创建 tomcat 部署任务】与【设置 Host】相连接
10) 在左侧拖入指令服务组件的【自定义指令】放置在父流程中,用来将 Tomcat 实例注册到 haproxy 中,填写编号【registe-ha】,填写名称【注册到 HaProxy】,填写指令内容为【注册到 HaProxy 脚本(通过 http://pan.bingosoft.net:81/drive/share/open_sharepage/d1e02c10-8d2d-46ec-9113-90730c602cff:bingo【密码:EPYN】下载)】,填写实例的 ID【${HaproxyInstanceId}】,其他默认,并将【设置 Host】与【注册到 HaProxy】相连接
11) 在左侧拖入流程控制组件的【结束事件】,填写编号【end】,填写名称【结束】,其他默认,并将【注册到 HaProxy】与【结束】相连接
12) 点击左上角的保存,退出设计器
13) 针对运维方案创建参数模板,参数模板只需增加 tomcatNum 参数,在参数列表中点击【添加参数】按钮,新建一个关键词为【tomcatNum】,显示名称为【增加 tomcat 节点数量】,命名空间为【全局参数】,类型为【数字】,显示类型【输入框】,默认值为【1】的参数项,并保存退出
图 3-11Tomcat 集群扩展方案
3.2.3. Haproxy 负载 Tomcat 集群服务实现自动化运维
针对 Haproxy 负载 Tomcat 集群服务制定运维方案后,可通过 web 页面直接对服务下发运维操作,体验自动化部署带来的便捷。
步骤:
1) 进入【配置管理→高级服务→服务管理→部署方案】,找到 Haproxy 负载 Tomcat 集群方案进行部署(Tomcats 实例的内存要 2G 及以上)
2) 等待部署完毕,进入应用的详情页面,可通过浏览器访问 Haproxy 实例 IP,查看应用情况
3) 在应用的详情页面的左上角操作栏中,点击【停止 Haproxy 服务】,执行停止 Haproxy 服务运维操作,可在流程实例中查看运维进度,等待执行完毕后,可再次通过浏览器访问 Haproxy 实例 IP,查看变化情况
4) 以相同的操作执行【启动 Haproxy 服务】,查看发生的变化
5) 在应用的详情页面的左上角操作栏中,点击【增加 Tomcat 节点】,执行增加 Tomcat 节点运维操作,在申请页面中填写需要增加的 tomcat 节点数以及 tomcat 的实例配置信息。(Tomcats 实例的内存要 2G 及以上)
6) 等待自动化部署方案执行后,可看到 Tomcat 集群中新增 tomcat 节点
在品高云中通过对已知部署架构的自动化部署方案制定自动化运维方案,实现自动化运维能力,可以极大简化运维及升级的工作量,实现云服务创造能力。
至此,品高云应用自动化部署与云服务创造能力系列文章到此结束,希望品高云应用自动化部署服务能帮用户将云用得更深、更广,而不是只停留在计算、存储资源的交付。通过品高云应用自动化部署服务能更迅速更顺利地交付应用。从而体现云服务创造能力的理念。