全部產品
Search
文件中心

:滾動升級

更新時間:Jun 30, 2024

滾動升級是指通過任務形式批次更新ECS執行個體或ECI執行個體配置。通過Auto Scaling的滾動升級功能,您可以為伸縮組內處於服務中狀態的ECS執行個體或ECI執行個體批次更新鏡像、執行指令碼或者安裝OOS軟體包。

前提條件

  • 如果您需要為伸縮組內ECS執行個體或ECI執行個體更新鏡像,已準備更新用的鏡像。

  • 如果您需要為伸縮組內ECS執行個體或ECI執行個體執行指令碼,已準備執行用的指令碼。

  • 如果您需要為伸縮組內ECS執行個體或ECI執行個體安裝OOS軟體包,已提前在OOS中建立軟體包,具體操作,請參見批量管理我的軟體

滾動升級支援的任務類型

任務類型

說明

鏡像更新

適合為伸縮組內處於服務中狀態的ECS執行個體或ECI執行個體統一更新作業系統。

更新鏡像時,對組內執行個體配置資訊來源的影響如下所示:

  • 如果伸縮組的組內執行個體配置資訊來源為伸縮配置,會自動更新當前生效的伸縮配置中的鏡像,但不會更新其他失效的伸縮配置中的鏡像。

  • 如果伸縮組的組內執行個體配置資訊來源為啟動模板,不會更新啟動模板的鏡像,您需要自行更新啟動模板中的鏡像。

說明

根據實際情境需要,您可以選擇使用滾動升級方式還是自動更新伸縮配置中鏡像的方式更新鏡像。更多資訊,請參見與自動更新伸縮配置中鏡像的區別

指令碼執行

適合執行單項或多項營運操作。例如:

  • 查看和更新部分系統配置,例如查看磁碟使用空間。

  • 安裝常用軟體,例如安裝Apache。

  • 部署業務代碼。

安裝OOS軟體包

適合大量安裝和卸載軟體。

與自動更新伸縮配置中鏡像的區別

  • 自動更新伸縮配置中的鏡像:適用於頻繁發布應用的情境,並且僅適用於ECS類型的伸縮組,您只需在Auto Scaling控制台建立更新任務,執行任務時系統會自動為原ECS執行個體建立自訂鏡像,可以實現伸縮組中新建立的ECS執行個體都具有新版本鏡像。具體操作,請參見自動更新伸縮配置中的鏡像

  • 滾動升級:適用於批次更新ECS執行個體或ECI執行個體配置的應用情境,並且僅適用於所在地區支援CloudOps Orchestration Service (OOS)的伸縮組,可以實現將伸縮組內處於服務中狀態的已有的ECS執行個體或ECI執行個體鏡像逐步升級到新版本。

建立並執行滾動升級任務

建立並執行滾動升級任務前,您需要注意以下事項:

  • 僅適用於所在地區支援CloudOps Orchestration Service (OOS)的伸縮組,否則伸縮組無法使用滾動升級功能。

  • 伸縮組中不允許存在執行中的伸縮活動。

  • 同一時間僅允許執行一個滾動升級任務。

  1. 登入Auto Scaling控制台
  2. 在左側導覽列中,單擊伸縮組管理
  3. 在頂部功能表列處,選擇地區。
  4. 找到待操作的伸縮組,選擇任一種方式開啟伸縮組詳情頁面。
    • 伸縮組名稱/ID列,單擊伸縮組ID。
    • 操作列,單擊查看詳情
  5. 在頁面上方,單擊滾動升級頁簽。
  6. 單擊建立執行任務

  7. 建立執行任務對話方塊,完成滾動升級任務的配置,然後單擊建立任務

    需要配置的資訊如下表所示。

    配置項

    說明

    任務描述

    填寫任務的說明,以便日後追溯。

    任務類型

    • 更新鏡像:用於替換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,表示存在一個錯誤時整個滾動升級任務就會失敗。

  8. 閱讀滾動升級任務的影響,如無疑問,單擊確定

    確定後滾動升級任務會自動執行。開始執行後,對伸縮組和ECS執行個體或ECI執行個體有以下影響:

    • 伸縮組暫停擴縮容等流程,在滾動升級過程中不響應伸縮活動,並在執行完畢後恢複擴縮容等流程。如果在執行前擴縮容流程已被手動暫停,則保持暫停,保證執行前後的伸縮組內流程狀態一致。

    • 分批將ECS執行個體或ECI執行個體轉為備用中狀態,並在執行完畢後恢複服務中狀態。

      重要

      如果伸縮組關聯了Server Load Balancer執行個體,ECS執行個體或ECI執行個體處於備用中狀態時負載平衡權重會被置零,不接收業務流量。

  9. 根據滾動升級任務的執行情況,完成相關操作。

    任務

    描述

    操作步驟

    繼續執行滾動升級任務

    如果暫停策略為第一批暫停每批暫停,會進入一次或多次等待中(批次暫停)狀態。如果確認已執行完成的ECS執行個體或ECI執行個體符合預期時,請繼續執行本次滾動升級任務。

    1. 操作地區,單擊繼續

    2. 繼續執行任務對話方塊,單擊確定

    完成滾動升級任務

    如果滾動升級任務執行失敗時,會進入等待中(失敗暫停)狀態,如果需要完成本次滾動升級任務時,請按照需要選擇合適的升級操作。

    1. 操作地區,單擊詳情

    2. 找到執行狀態為失敗的ECS執行個體或ECI執行個體,在操作地區,單擊重試跳過取消

      • 單擊重試,再次嘗試為該ECS執行個體或ECI執行個體執行滾動升級操作。

      • 單擊跳過,為下一台ECS執行個體或ECI執行個體執行滾動升級操作,且當前ECS執行個體或ECI執行個體的執行狀態顯示為成功

        重要

        您需要手動將跳過執行的ECS執行個體或ECI執行個體移出備用中狀態。

      • 單擊取消,為下一台ECS執行個體或ECI執行個體執行滾動升級操作,但當前ECS執行個體或ECI執行個體的執行狀態顯示為失敗

    取消滾動升級任務

    如果本次滾動升級任務不滿足業務需求,您可以取消本次滾動升級任務。

    操作地區,選擇Dingtalk_20231212165532.jpg > 取消

    重要

    取消任務後,您需要手動恢複被暫停伸縮組流程,並將當前批次任務執行中和執行失敗的ECS執行個體或ECI執行個體移出備用中狀態。

    復原滾動升級任務

    如果需要復原本次滾動升級任務,您可以復原等待中的(包括批次暫停和失敗暫停)或者最近一次執行的滾動升級任務。

    具體操作,請參見復原已滾動升級的任務

復原已滾動升級的任務

您可以復原等待中的(包括批次暫停和失敗暫停)或者最近一次執行的滾動升級任務,以便在出現異常時恢複ECS執行個體或ECI執行個體配置。如果滾動升級任務處於等待中狀態,執行復原任務前會自動取消滾動升級任務,然後復原已經完成更新的執行個體。

重要

復原只支援對滾動升級任務進行復原操作,不支援對復原任務進行復原操作。

  1. 在執行工作清單頁面,找到待操作的任務,在操作地區,單擊復原

  2. 建立復原任務對話方塊,完成復原任務的配置。

    需要配置的資訊如下表所示。

    地區

    說明

    任務描述

    填寫復原任務的說明,以便日後追溯。

    任務類型

    和原任務的任務類型一致,不可編輯。

    • 如果為鏡像更新,自動選擇您建立滾動升級任務時輸入的復原用鏡像,支援重新選擇其他鏡像。

    • 如果為指令碼執行,自動輸入您建立滾動升級任務時輸入的復原用指令碼,支援編輯自動輸入的指令碼。

    • 如果為安裝OOS軟體包,自動選擇您建立滾動升級任務時選擇OOS軟體包版本,支援重新選擇版本,但不支援選擇其他軟體包。

    執行批次

    完成本次任務批次數。伸縮組執行任務時,將ECS執行個體或ECI執行個體分成幾個批次,每批次至少包括一台ECS執行個體或ECI執行個體。例如,伸縮組內有10台服務中的ECS執行個體,執行批次為2,則5台ECS執行個體為一批,分2批執行任務。

    暫停策略

    • 不暫停:一次性執行完成。

    • 第一批暫停:第一批次執行完成後,伸縮組暫停執行任務,您需要手動繼續。

    • 每批暫停:每批次執行完成後,伸縮組暫停執行任務,您每次都需要手動繼續。

    進階選項

    可選項。如果任務類型選擇為更新鏡像方式,您可以設定最大錯誤次數,即滾動升級任務在停止前的最大錯誤次數。

  3. 單擊建立任務

  4. 閱讀復原任務的影響,如無疑問,單擊確定

    確定後復原任務會自動執行。

查看滾動升級任務詳情

您可以查看滾動升級任務的資訊,並單獨為某台ECS執行個體或ECI執行個體執行重試、跳過等操作。

  1. 在執行工作清單頁面,找到待操作的任務,在操作地區,單擊詳情

  2. 查看任務基本資料。

    任務基本資料包括任務狀態、任務類型等資訊。如果任務類型為指令碼執行,單擊指令碼詳情可以查看指令碼的內容。

  3. 查看執行執行個體列表。

    執行執行個體列表顯示處於各個執行狀態的執行個體。

    • 如果一台ECS執行個體或ECI執行個體尚未執行完成,支援跳過或取消。

    • 如果一台ECS執行個體或ECI執行個體執行失敗,在操作地區,支援重試、跳過或取消。

    • 如果任務類型為指令碼執行,在結果輸出地區,單擊查看可以查看執行指令碼的輸出結果。

    重試、跳過和取消的區別如下:

    • 單擊重試,再次嘗試為該ECS執行個體或ECI執行個體執行滾動升級操作。

    • 單擊跳過,為下一台ECS執行個體或ECI執行個體執行滾動升級操作,且當前ECS執行個體或ECI執行個體的執行狀態顯示為成功

      重要

      您需要手動將跳過執行的ECS執行個體或ECI執行個體移出備用中狀態。

    • 單擊取消,為下一台ECS執行個體或ECI執行個體執行滾動升級操作,但當前ECS執行個體或ECI執行個體的執行狀態顯示為失敗

配置滾動升級的監控警示

您可以根據不同伸縮組的滾動升級需求,配置獨立的滾動升級任務的監控警示,通過查看警示詳情及時處理滾動升級問題。

  1. 登入CloudMonitor控制台

  2. 在左側導覽列,選擇事件中心 > 系統事件

  3. 系統事件頁面,設定篩選條件後單擊搜尋,查詢指定伸縮組的滾動升級失敗事件。

    例如,篩選條件選擇事件層級為嚴重,輸入如下關鍵詞:

    (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****)。

    資源警示.png

  4. 單擊另存新檔警示

  5. 建立/修改事件警示面板,配置以下參數資訊,單擊確定

    gundong.png

  6. 在左側導覽列,選擇警示服務 > 警示歷史

    在警示歷史列表頁,查看具體的警示詳情。2023-12-12_18-34-22.png