天天看點

通過阿裡雲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           
通過阿裡雲CLI執行ESS滾動更新

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

aliyun ecs DescribeRegions           

通過CLI執行滾動更新

1.通過更新鏡像滾動更新。

通過阿裡雲CLI執行ESS滾動更新

模闆參數說明請檢視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.通過腳本執行滾動更新。

通過阿裡雲CLI執行ESS滾動更新

模闆參數說明請檢視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軟體包滾動更新。

通過阿裡雲CLI執行ESS滾動更新

模闆參數說明請檢視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"
            }'           

繼續閱讀