滾動升級是指通過任務形式批量更新ECS實例或ECI實例配置。通過彈性伸縮的滾動升級功能,您可以為伸縮組內處于服務中狀態的ECS實例或ECI實例批量更新鏡像、執行腳本或者安裝OOS軟件包。
前提條件
如果您需要為伸縮組內ECS實例或ECI實例更新鏡像,已準備更新用的鏡像。
如果您需要為伸縮組內ECS實例或ECI實例執行腳本,已準備執行用的腳本。
如果您需要為伸縮組內ECS實例或ECI實例安裝OOS軟件包,已提前在OOS中創建軟件包,具體操作,請參見批量管理我的軟件。
滾動升級支持的任務類型
任務類型 | 說明 |
鏡像更新 | 適合為伸縮組內處于服務中狀態的ECS實例或ECI實例統一更新操作系統。 更新鏡像時,對組內實例配置信息來源的影響如下所示:
說明 根據實際場景需要,您可以選擇使用滾動升級方式還是自動更新伸縮配置中鏡像的方式更新鏡像。更多信息,請參見與自動更新伸縮配置中鏡像的區別。 |
腳本執行 | 適合執行單項或多項運維操作。例如:
|
安裝OOS軟件包 | 適合批量安裝和卸載軟件。 |
與自動更新伸縮配置中鏡像的區別
自動更新伸縮配置中的鏡像:適用于頻繁發布應用的場景,并且僅適用于ECS類型的伸縮組,您只需在彈性伸縮控制臺創建更新任務,執行任務時系統會自動為原ECS實例創建自定義鏡像,可以實現伸縮組中新創建的ECS實例都具有新版本鏡像。具體操作,請參見自動更新伸縮配置中的鏡像。
滾動升級:適用于批量更新ECS實例或ECI實例配置的應用場景,并且僅適用于所在地域支持系統運維管理 OOS(CloudOps Orchestration Service)的伸縮組,可以實現將伸縮組內處于服務中狀態的已有的ECS實例或ECI實例鏡像逐步升級到新版本。
創建并執行滾動升級任務
創建并執行滾動升級任務前,您需要注意以下事項:
僅適用于所在地域支持系統運維管理 OOS(CloudOps Orchestration Service)的伸縮組,否則伸縮組無法使用滾動升級功能。
伸縮組中不允許存在執行中的伸縮活動。
同一時間僅允許執行一個滾動升級任務。
- 登錄彈性伸縮控制臺。
- 在左側導航欄中,單擊伸縮組管理。
- 在頂部菜單欄處,選擇地域。
- 找到待操作的伸縮組,選擇任一種方式打開伸縮組詳情頁面。
- 在伸縮組名稱/ID列,單擊伸縮組ID。
- 在操作列,單擊查看詳情。
- 在頁面上方,單擊滾動升級頁簽。
單擊創建執行任務。
在創建執行任務對話框,完成滾動升級任務的配置,然后單擊創建任務。
需要配置的信息如下表所示。
配置項
說明
任務描述
填寫任務的說明,以便日后追溯。
任務類型
更新鏡像:用于替換ECS實例或ECI實例的當前鏡像,支持選擇公共鏡像、自定義鏡像、共享鏡像和鏡像市場中的鏡像。替換過程中會重啟ECS實例或ECI實例。請繼續指定以下信息:
用于更新的鏡像:在執行更新任務時使用的鏡像。
用于回滾的鏡像:在執行回滾任務時默認使用的鏡像。
說明創建回滾任務時默認選擇該鏡像,但支持選擇其他鏡像。
腳本執行:通過云助手執行腳本,執行過程中ECS實例或ECI實例不會停機。請繼續指定以下信息:
腳本類型,支持以下三種腳本:
Linux Shell:例如顯示主機名命令hostname、回顯hello命令echo hello。
Windows Bat:例如顯示目錄文件命令dir c:\。
Windows PowerShell:例如顯示服務命令Get-Services。
用于執行的腳本:在執行更新任務時使用的腳本。
用于回滾的腳本:在執行回滾任務時默認使用的腳本。
說明創建回滾任務時默認填入該腳本,但支持編輯自動輸入的腳本。
安裝OOS軟件包:選擇OOS軟件包名稱和版本。
執行批次
完成本次任務批次數。伸縮組執行任務時,將ECS實例或ECI實例分成幾個批次,每批次至少包括一臺ECS實例或ECI實例。例如,伸縮組內有10臺服務中的ECS實例,執行批次為2,則5臺ECS實例為一批,分2批執行任務。
暫停策略
不暫停:一次性執行完成。
第一批暫停:第一批次執行完成后,伸縮組暫停執行任務,您需要手動繼續。第一批次之后的批次不會暫停。
每批暫停:每批次執行完成后,伸縮組暫停執行任務,您每次都需要手動繼續。
高級選項
可選項。如果任務類型選擇為更新鏡像方式,您可以設置最大錯誤次數,即滾動升級任務在停止前的最大錯誤次數。不填寫則默認為0,表示存在一個錯誤時整個滾動升級任務就會失敗。
閱讀滾動升級任務的影響,如無疑問,單擊確定。
確定后滾動升級任務會自動執行。開始執行后,對伸縮組和ECS實例或ECI實例有以下影響:
伸縮組暫停擴縮容等流程,在滾動升級過程中不響應伸縮活動,并在執行完畢后恢復擴縮容等流程。如果在執行前擴縮容流程已被手動暫停,則保持暫停,保證執行前后的伸縮組內流程狀態一致。
分批將ECS實例或ECI實例轉為備用中狀態,并在執行完畢后恢復服務中狀態。
重要如果伸縮組關聯了負載均衡實例,ECS實例或ECI實例處于備用中狀態時負載均衡權重會被置零,不接收業務流量。
根據滾動升級任務的執行情況,完成相關操作。
任務
描述
操作步驟
繼續執行滾動升級任務
如果暫停策略為第一批暫停或每批暫停,會進入一次或多次等待中(批次暫停)狀態。如果確認已執行完成的ECS實例或ECI實例符合預期時,請繼續執行本次滾動升級任務。
在操作區域,單擊繼續。
在繼續執行任務對話框,單擊確定。
完成滾動升級任務
如果滾動升級任務執行失敗時,會進入等待中(失敗暫停)狀態,如果需要完成本次滾動升級任務時,請按照需要選擇合適的升級操作。
在操作區域,單擊詳情。
找到執行狀態為失敗的ECS實例或ECI實例,在操作區域,單擊重試、跳過或取消。
單擊重試,再次嘗試為該ECS實例或ECI實例執行滾動升級操作。
單擊跳過,為下一臺ECS實例或ECI實例執行滾動升級操作,且當前ECS實例或ECI實例的執行狀態顯示為成功。
重要您需要手動將跳過執行的ECS實例或ECI實例移出備用中狀態。
單擊取消,為下一臺ECS實例或ECI實例執行滾動升級操作,但當前ECS實例或ECI實例的執行狀態顯示為失敗。
取消滾動升級任務
如果本次滾動升級任務不滿足業務需求,您可以取消本次滾動升級任務。
在操作區域,選擇
。重要取消任務后,您需要手動恢復被暫停的伸縮組流程,并將當前批次任務執行中和執行失敗的ECS實例或ECI實例移出備用中狀態。
回滾滾動升級任務
如果需要回滾本次滾動升級任務,您可以回滾等待中的(包括批次暫停和失敗暫停)或者最近一次執行的滾動升級任務。
具體操作,請參見回滾已滾動升級的任務。
回滾已滾動升級的任務
您可以回滾等待中的(包括批次暫停和失敗暫停)或者最近一次執行的滾動升級任務,以便在出現異常時恢復ECS實例或ECI實例配置。如果滾動升級任務處于等待中狀態,執行回滾任務前會自動取消滾動升級任務,然后回滾已經完成更新的實例。
回滾只支持對滾動升級任務進行回滾操作,不支持對回滾任務進行回滾操作。
在執行任務列表頁面,找到待操作的任務,在操作區域,單擊回滾。
在創建回滾任務對話框,完成回滾任務的配置。
需要配置的信息如下表所示。
區域
說明
任務描述
填寫回滾任務的說明,以便日后追溯。
任務類型
和原任務的任務類型一致,不可編輯。
如果為鏡像更新,自動選擇您創建滾動升級任務時輸入的回滾用鏡像,支持重新選擇其他鏡像。
如果為腳本執行,自動輸入您創建滾動升級任務時輸入的回滾用腳本,支持編輯自動輸入的腳本。
如果為安裝OOS軟件包,自動選擇您創建滾動升級任務時選擇OOS軟件包版本,支持重新選擇版本,但不支持選擇其他軟件包。
執行批次
完成本次任務批次數。伸縮組執行任務時,將ECS實例或ECI實例分成幾個批次,每批次至少包括一臺ECS實例或ECI實例。例如,伸縮組內有10臺服務中的ECS實例,執行批次為2,則5臺ECS實例為一批,分2批執行任務。
暫停策略
不暫停:一次性執行完成。
第一批暫停:第一批次執行完成后,伸縮組暫停執行任務,您需要手動繼續。
每批暫停:每批次執行完成后,伸縮組暫停執行任務,您每次都需要手動繼續。
高級選項
可選項。如果任務類型選擇為更新鏡像方式,您可以設置最大錯誤次數,即滾動升級任務在停止前的最大錯誤次數。
單擊創建任務。
閱讀回滾任務的影響,如無疑問,單擊確定。
確定后回滾任務會自動執行。
查看滾動升級任務詳情
您可以查看滾動升級任務的信息,并單獨為某臺ECS實例或ECI實例執行重試、跳過等操作。
在執行任務列表頁面,找到待操作的任務,在操作區域,單擊詳情。
查看任務基本信息。
任務基本信息包括任務狀態、任務類型等信息。如果任務類型為腳本執行,單擊腳本詳情可以查看腳本的內容。
查看執行實例列表。
執行實例列表顯示處于各個執行狀態的實例。
如果一臺ECS實例或ECI實例尚未執行完成,支持跳過或取消。
如果一臺ECS實例或ECI實例執行失敗,在操作區域,支持重試、跳過或取消。
如果任務類型為腳本執行,在結果輸出區域,單擊查看可以查看執行腳本的輸出結果。
重試、跳過和取消的區別如下:
單擊重試,再次嘗試為該ECS實例或ECI實例執行滾動升級操作。
單擊跳過,為下一臺ECS實例或ECI實例執行滾動升級操作,且當前ECS實例或ECI實例的執行狀態顯示為成功。
重要您需要手動將跳過執行的ECS實例或ECI實例移出備用中狀態。
單擊取消,為下一臺ECS實例或ECI實例執行滾動升級操作,但當前ECS實例或ECI實例的執行狀態顯示為失敗。
配置滾動升級的監控告警
您可以根據不同伸縮組的滾動升級需求,配置獨立的滾動升級任務的監控告警,通過查看報警詳情及時處理滾動升級問題。
登錄云監控控制臺。
在左側導航欄,選擇
。在系統事件頁面,設置篩選條件后單擊搜索,查詢指定伸縮組的滾動升級失敗事件。
例如,篩選條件選擇事件級別為嚴重,輸入如下關鍵詞:
(ACS-ESS-RollingUpdateByConfigureOOSPackage or ACS-ESS-RollingUpdateByReplaceSystemDiskInScalingGroup or ACS-ESS-RollingUpdateByRunCommandInScalingGroup or ACS-ESS-RollingUpdateByUpdateContainerGroup) and ${your_scaling_group_id}
說明其中
{your_scaling_group_id}
替換為您實際的伸縮組ID(如asg-bp180y8dj5eku2j4****)。單擊另存為告警。
在創建/修改事件報警面板,配置以下參數信息,單擊確定。
在左側導航欄,選擇
。在報警歷史列表頁,查看具體的報警詳情。