通過云速搭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
至此,已完成應用的批量部署。