雲計算

通過阿里雲CLI執行ESS滾動升級

安裝並配置阿里雲CLI
本文以Mac-os為例,其他系統安裝可參考阿里雲CLI
1.首先為阿里雲CLI創建一個RAM用戶來獲取AK,詳細操作請參考創建RAM用戶

2.為創建的RAM用戶授權:

  1. 雲賬號登錄RAM控制檯
  2. 在左側導航欄的人員管理菜單下,單擊用戶
  3. 用戶登錄名稱/顯示名稱列表下,找到目標RAM用戶。
  4. 單擊添加權限,被授權主體會自動填入。
  5. 在左側權限策略名稱列表下,單擊AliyunECSFullAccess, AliyunESSFullAccess, AliyunOOSFullAccess, AliyunOSSFullAccess
  6. 單擊確定
  7. 單擊完成

3.安裝阿里雲CLI。

brew install aliyun-cli

4.配置CLI。

aliyun configure

1.png

5.驗證CLI可用,若可用,可在終端看到輸出當前支持的多個地域。

aliyun ecs DescribeRegions

通過CLI執行滾動升級
1.通過更新鏡像滾動升級。
2.png
模板參數說明請查看ACS-ESS-RollingUpdateByReplaceSystemDiskInScalingGroup模板詳情
執行命令如下:

aliyun oos StartExecution --TemplateName ACS-ESS-RollingUpdateByReplaceSystemDiskInScalingGroup --Parameters '{
                "invokeType": "invoke",
                "imageId": "centos_7_8_amd_x64_20G_alibase_20200806.vhd",
                "sourceImageId": "centos_8_2_x64_20G_alibase_20200717.vhd",
                "OOSAssumeRole": "",
                "exitProcess": [],
                "scalingConfigurationId": "asc-bp14e7lqyl66ca4rp4rb",
                "enterProcess": [
                    "ScaleIn",
                    "ScaleOut",
                    "HealthCheck",
                    "AlarmNotification",
                    "ScheduledAction"
                ],
                "scalingGroupId": "asg-bp1cjeuvlt1e1i1t",
                "batchNumber": 2,
                "batchPauseOption": "Automatic"
            }'

回滾命令如下:

aliyun oos StartExecution --TemplateName ACS-ESS-RollingUpdateByReplaceSystemDiskInScalingGroup --Parameters '{
                "invokeType": "rollback",
                "sourceImageId": "centos_8_2_x64_20G_alibase_20200717.vhd",
                "OOSAssumeRole": "",
                "scalingConfigurationId": "asc-bp14e7lqyl66ca4rp4rb",
                "scalingGroupId": "asg-bp1cjeuvlt1e1i1t",
                "sourceExecutionId": "exec-6801252e615c4067a2ef",
                "batchNumber": 2,
                "batchPauseOption": "Automatic"
            }'

2.通過腳本執行滾動升級。
3.png
模板參數說明請查看ACS-ESS-RollingUpdateByRunCommandInScalingGroup模板詳情
執行命令如下:

aliyun oos StartExecution --TemplateName ACS-ESS-RollingUpdateByRunCommandInScalingGroup --Parameters '{
                "invokeType": "invoke",
                "commandType": "RunShellScript",
                "OOSAssumeRole": "",
                "exitProcess": [],
                "invokeScript": "df -h\nifconfig",
                "rollbackScript": "df -h\nifconfig",
                "enterProcess": [
                    "ScaleIn",
                    "ScaleOut",
                    "HealthCheck",
                    "AlarmNotification",
                    "ScheduledAction"
                ],
                "scalingGroupId": "asg-bp1cjeuvlt1e1i1t",
                "batchNumber": 2,
                "batchPauseOption": "Automatic"
            }'

回滾命令如下:
aliyun oos StartExecution --TemplateName ACS-ESS-RollingUpdateByRunCommandInScalingGroup --Parameters '{

            "invokeType": "rollback",
            "commandType": "RunShellScript",
            "OOSAssumeRole": "",
            "rollbackScript": "df -h\nifconfig",
            "scalingGroupId": "asg-bp1cjeuvlt1e1i1t",
            "sourceExecutionId": "exec-f577d2a639f24f4e9c0a",
            "batchNumber": 2,
            "batchPauseOption": "Automatic"
        }'

3.通過安裝OOS軟件包滾動升級。
4.png
模板參數說明請查看ACS-ESS-RollingUpdateByConfigureOOSPackage模板詳情
執行命令如下:

aliyun oos StartExecution --TemplateName ACS-ESS-RollingUpdateByConfigureOOSPackage --Parameters '{
                "invokeType": "invoke",
                "OOSAssumeRole": "",
                "exitProcess": [],
                "action": "install",
                "enterProcess": [
                    "ScaleIn",
                    "ScaleOut",
                    "HealthCheck",
                    "AlarmNotification",
                    "ScheduledAction"
                ],
                "packageVersion": "v4",
                "packageName": "wordpress",
                "scalingGroupId": "asg-bp1cjeuvlt1e1i1t",
                "batchNumber": 2,
                "batchPauseOption": "Automatic"
            }'

回滾命令如下:

aliyun oos StartExecution --TemplateName ACS-ESS-RollingUpdateByConfigureOOSPackage --Parameters '{
                "invokeType": "rollback",
                "OOSAssumeRole": "",
                "packageVersion": "v3",
                "packageName": "wordpress",
                "scalingGroupId": "asg-bp1cjeuvlt1e1i1t",
                "sourceExecutionId": "exec-b1a293da254042f492f6",
                "batchNumber": 2,
                "batchPauseOption": "Automatic"
            }'

Leave a Reply

Your email address will not be published. Required fields are marked *