云速搭API模板实现应用架构批量部署

通过云速搭API结合模板可以快速完成应用架构批量部署,提高运维效率。

场景介绍

本实践适合需要将相同的应用架构进行多次批量创建的场景,这里演示模拟部署10套独立的网站后台环境,每一套的基本架构为EIP+ECS,部署架构如下图所示。image..png

业务流程

image..png

环境准备

为完成本实践,需要一台具有公网访问能力的ECS作为部署服务器,镜像及版本为CentOS 7.9 64位。image..png

操作步骤

创建RAM用户并授权

为保证信息安全,加强安全防控,这里演示使用RAM用户操作本场景。

  1. 按标签顺序完成配置,创建RAM用户。

    说明

    生产环境建议开启MFA多因素认证。

    image..png

  2. 下载保存此RAM用户的AK/SK信息,后面备用。image..png

  3. 授予RAM用户以下权限。

    • AliyunCADTFullAccess

    • AliyunECSFullAccess

    • AliyunEIPFullAccess

    • AliyunVPCFullAccess

    image..png

  4. 登录RAM用户。image..pngimage..pngimage..png

  5. 后续操作通过该RAM用户完成。image..png

创建CADT模板

创建应用架构

  1. 创建一个如下图所示的应用。image..png

  2. 测试应用部署流程,确保应用配置正确。image..pngimage..png

  3. 部署成功后,为节约资源,释放该应用。image..png

创建私有模板

  1. 应用 > 我的应用页面找到刚才创建的应用,单击另存为模板image..pngimage..png

  2. 设置模板相关信息。image..png

  3. 新建 > 我的解决方案页面,找到刚才保存的模板。image..png

  4. 单击编辑模板image..png

  5. 在打开的页面中记录模板ID备用。image..png

    本模板ID为:XPQE4N36BLZMOWTB。

在部署服务器上安装CADT SDK

  1. 登录部署服务器。image..png

  2. 执行以下命令,检查操作系统和Python版本。

    cat /etc/redhat-release
    python3 --version

    image..png

  3. 升级pip版本。

    python3 -m pip install --upgrade pip
  4. 安装CADT SDK。

    pip3 install alibabacloud_bpstudio20210931

下载并配置示例脚本

  1. 在部署服务器上,下载示例脚本。

    yum -y install git
    git clone https://code.aliyun.com/best-practice/301.git
    cd 301
    ls

    可以看到以下三个文件:

    createAppliationFromTemplate.py

    getApplication.py

    deployApplication.py

    image..png

  2. 分别编辑打开以上三个脚本,将“b.access_key_id”和“b.access_key_secret”配置为RAM用户的AK和SK。image..png

通过云速搭API批量部署应用

部署脚本使用说明:

  • 通过模板批量创建应用

    python3 createAppliationFromTemplate.py {template-id}
    说明

    {template-id}为CADT模板ID。

  • 批量部署应用

    python3 deployApplication.py {application-id}
    说明

    {application-id}为应用ID。

  • 查询应用信息

    python3 getApplication.py {application-id}
  1. 在部署服务器执行以下命令,通过模板批量创建应用。

    python3 createAppliationFromTemplate.py XPQE4N36BLZMOWTB

    根据脚本配置,这里批量创建了10个应用:

    image..png

  2. 记录以上输出结果的应用ID,在后续步骤部署应用时会用到。

  3. 在CADT控制台应用 > 我的应用页面,可以看到批量创建的10个应用。image..png

  4. 执行以下命令,部署应用。

    python3 deployApplication.py {application-id}

    例如:

    python3 deployApplication.py JJQN2VZI8OILKMT9

    image..png

  5. 以相同方式,替换其他9个应用ID进行部署。

  6. 执行以下命令,查询应用信息。

    python3 getApplication.py {application-id}

    例如,

    python3 getApplication.py JJQN2VZI8OILKMT9

    image..png

    至此,已完成应用的批量部署。