使用滾動升級原則是將更新套用至虛擬機擴展集中實例的最安全方式。 分批進行更新可確保您的擴展集維持一定數量的執行個體可供處理流量,這表示您不需要讓整個工作負載停機即可進行變更。
滾動升級原則最適用於實際執行工作負載。
需求
在具有彈性協調流程的 虛擬機器擴展集 上使用滾動升級原則時,擴展集也必須使用應用程式健康情況擴充功能來監視應用程式健康情況。
在具有統一協調流程的 虛擬機器擴展集 上使用滾動升級原則時,擴展集也必須有健康情況探查,或使用應用程式健康情況擴充功能來監視應用程式健康情況。
如果將虛擬機器連結至虛擬機器擴展集,則連結的虛擬機器也應該具有應用程式健全狀態擴充功能。 如果鏈接的虛擬機未設定健全狀況擴充功能並報告應用程式健康情況,則滾動升級可能會受到影響。
概念
升級原則模式與滾動升級原則
升級原則模式和滾動升級原則皆屬於升級原則中巢狀但彼此獨立的設定。 這表示,雖然您的擴展集可能使用自動或手動升級原則模式,但仍會有與其相關聯的滾動升級原則。 此滾動升級原則隨附預設設定,但也可以設定為符合您的業務需求。
"properties": {
"upgradePolicy": {
"mode": "<Automatic, Manual, Rolling>",
"rollingUpgradePolicy": {
"maxBatchInstancePercent": 20,
"maxUnhealthyInstancePercent": 20,
"maxUnhealthyUpgradedInstancePercent": 20,
"pauseTimeBetweenBatches": "PT2S",
"MaxSurge": "false"
}
}
}
針對擴展集模型更新,升級原則模式將決定擴展集中的實例如何更新為最新狀態。
重要
如果您使用自動作業系統映像升級或自動擴充功能升級,這些功能就不會使用升級策略模式。 相反地,這些功能會使用滾動升級原則組態設定來執行滾動升級。
滾動升級原則組態設定
| 設定 | 描述 |
|---|---|
| 滾動升級批次大小百分比 | 指定您想要一次升級的擴展集執行個體總數。 範例:當擴展集中有 10 個執行個體時,批次大小為 20%,因此升級批次各使用兩個執行個體。 |
| 批次間的暫停時間 (秒) | 指定您希望擴展集在完成批次升級和啟動新批次之間等候的時間長度。 範例:暫停時間 10 秒表示批次成功完成後,擴展集將等候 10 秒,再移至下一個批次。 |
| 最大不健康執行個體 % | 指定允許在輪流升級之前和期間標記為狀況不良的執行個體總數。 範例:最大狀況不良執行個體 20% 表示如果您有 10 個執行個體的擴展集且整個擴展集中有超過兩個執行個體回報為狀況不良,則滾動升級將停止。 |
| 最大不健康升級百分比 | 指定允許在升級後標記為狀況不良的執行個體總數。 範例:最大狀況不良升級百分比為 20%,這表示如果您的擴展集有 10 個執行個體,而整個擴展集中有超過兩個執行個體在升級後回報為狀況不良,則滾動升級就會取消。 |
| 優先處理不健康的執行個體 | 告知擴展集在升級回報為狀況良好的執行個體之前,先升級回報狀況不良的執行個體。 範例:如果擴展集中的某些執行個體在輪流升級開始時為失敗或狀況不良,則擴展集會先升級這些執行個體。 |
| 啟用跨區域升級 | 允許擴展集在判斷批次時忽略可用性區域界限。 這基本上讓滾動升級將你的尺度組視為區域性(非區域性)部署,而非跨區域部署。 |
| MaxSurge | 新實例會使用最新的擴展模型分批建立。 成功建立新實例批次並標示為狀況良好之後,擴展集就會以符合舊擴展集模型的批次刪除實例。 此流程會持續進行,直到所有執行個體都處於最新狀態。 使用 MaxSurge 的滾動升級有助於改善升級事件期間的服務運行時間。 如需詳細資訊,請參閱 MaxSurge 滾動升級。 |
| 違反原則時回滾失敗的執行個體 (僅限統一流程協調) | 如果違反滾動升級原則,請將失敗的執行個體回滾為先前的模型。 |
設定或更新滾動升級原則
滾動升級原則可在建立擴展集時設定。 由於滾動升級原則需要成功監控應用程式的健康狀態,且升級的完成方式由特定設定決定,因此建議您先使用手動升級模式建立擴展集。 確認應用程式健康狀態已成功回報後,請將升級原則從手動更新改為循序更新。
選取您要變更升級原則的虛擬機器擴展集。 在 [設定] 下的功能表選取 [升級原則],並從下拉式功能表選取 [滾動 - 使用選擇性暫停來批次滾動升級]。
取得滾動升級狀態
在 Azure 入口網站中觸發滾動升級時,擴展集資源頂端會顯示橫幅,通知您滾動升級進行中。 您可以選擇 查看 詳細資料以查看持續升級的狀態。 當所有更新都完成時,橫幅便會消失。
此外,您可以在活動記錄中確實檢視即將推出的變更。 滾動升級事件位於 [建立或更新虛擬機器擴展集] 之下。 選取 [變更歷程記錄] 以檢閱正在更新的內容。
取消滾動升級
您可以在 Azure 入口網站中,選取擴展集上方橫幅中的檢視詳細資料,以取消正在進行的滾動升級。 在快顯視窗中,您可以檢視目前狀態,而底部是 [取消升級] 選項。
重新開啟滾動升級
如果您決定取消輪流升級,或升級因違反任何原則而停止,任何後續再次造成擴展集模型變更的變更,都會觸發新的輪流升級。 如果您想要重新開始滾動升級,請觸發泛型模型更新。 這會要求擴展集檢查所有執行個體是否都已更新為最新模型。
若要在取消滾動升級後重新開始,請觸發擴展集以檢查擴展集中的執行個體是否已更新至最新的擴展集模型。 您可以執行 az vmss update 以進行此作業。
az vmss update \
--name myScaleSet \
--resource-group myResourceGroup
下一步
了解如何在虛擬機器擴展集上執行手動升級。