通过云速搭API结合模板可以快速完成应用架构批量部署,提高运维效率。
场景介绍
本实践适合需要将相同的应用架构进行多次批量创建的场景,这里演示模拟部署10套独立的网站后台环境,每一套的基本架构为EIP+ECS,部署架构如下图所示。
业务流程
环境准备
为完成本实践,需要一台具有公网访问能力的ECS作为部署服务器,镜像及版本为CentOS 7.9 64位。
操作步骤
创建RAM用户并授权
为保证信息安全,加强安全防控,这里演示使用RAM用户操作本场景。
按标签顺序完成配置,创建RAM用户。
说明生产环境建议开启MFA多因素认证。
下载保存此RAM用户的AK/SK信息,后面备用。
授予RAM用户以下权限。
AliyunCADTFullAccess
AliyunECSFullAccess
AliyunEIPFullAccess
AliyunVPCFullAccess
登录RAM用户。
后续操作通过该RAM用户完成。
创建CADT模板
创建应用架构
创建一个如下图所示的应用。
测试应用部署流程,确保应用配置正确。
部署成功后,为节约资源,释放该应用。
创建私有模板
在应用 > 我的应用页面找到刚才创建的应用,单击另存为模板。
设置模板相关信息。
在新建 > 我的解决方案页面,找到刚才保存的模板。
单击编辑模板。
在打开的页面中记录模板ID备用。
本模板ID为:XPQE4N36BLZMOWTB。
在部署服务器上安装CADT SDK
登录部署服务器。
执行以下命令,检查操作系统和Python版本。
cat /etc/redhat-release python3 --version
升级pip版本。
python3 -m pip install --upgrade pip
安装CADT SDK。
pip3 install alibabacloud_bpstudio20210931
下载并配置示例脚本
在部署服务器上,下载示例脚本。
yum -y install git git clone https://code.aliyun.com/best-practice/301.git cd 301 ls
可以看到以下三个文件:
createAppliationFromTemplate.py
getApplication.py
deployApplication.py
分别编辑打开以上三个脚本,将“b.access_key_id”和“b.access_key_secret”配置为RAM用户的AK和SK。
通过云速搭API批量部署应用
部署脚本使用说明:
通过模板批量创建应用
python3 createAppliationFromTemplate.py {template-id}
说明{template-id}
为CADT模板ID。批量部署应用
python3 deployApplication.py {application-id}
说明{application-id}
为应用ID。查询应用信息
python3 getApplication.py {application-id}
在部署服务器执行以下命令,通过模板批量创建应用。
python3 createAppliationFromTemplate.py XPQE4N36BLZMOWTB
根据脚本配置,这里批量创建了10个应用:
记录以上输出结果的应用ID,在后续步骤部署应用时会用到。
在CADT控制台应用 > 我的应用页面,可以看到批量创建的10个应用。
执行以下命令,部署应用。
python3 deployApplication.py {application-id}
例如:
python3 deployApplication.py JJQN2VZI8OILKMT9
以相同方式,替换其他9个应用ID进行部署。
执行以下命令,查询应用信息。
python3 getApplication.py {application-id}
例如,
python3 getApplication.py JJQN2VZI8OILKMT9
至此,已完成应用的批量部署。