高可用性和節省成本的現成優先順序混合
適用於:✔️彈性擴展集
Azure 可讓您彈性地針對虛擬機器擴展集部署混合執行不中斷的標準 VM 與可中斷的現成 VM。 您可以使用彈性協調流程來部署此現成優先順序混合,以根據您的工作負載需求來輕鬆地平衡高容量可用性與較低的基礎結構成本。 此功能可讓您輕鬆地管理擴展集功能,以達成下列目標:
- 套用 Spot VM 的深層折扣,以降低計算基礎結構成本
- 透過擴展集部署中的不中斷標準 VM 來維護容量可用性
- 在基礎結構有時間回應並復原所收回的容量之前,再次保證因收回而未同時取走所有 VM
- 讓 Azure 協調 VM 的建立和刪除,以簡化需要 Spot VM 和標準 VM 之計算工作負載的擴增和縮減
限制
擴展集上啟用 singlePlacementMode
不支援「現成優先順序混合」。
設定混合
您可以設定跨 Spot VM 和標準 VM 的自訂百分比散發。 平台會自動協調每個擴增和縮減作業,以選取要建立或刪除的適當 VM 數目,以達到所需的散發。 您也可以選擇性地設定想要在任何調整作業期間於虛擬機器擴展集中維護的基礎標準 VM 數目。
現成 VM 的收回原則會遵循擴展集中 Spot VM 的設定。 解除配置是預設行為,其中收回的現成 VM 會移至停止解除配置的狀態。 或者,Spot 收回原則可以設定為 Delete,其中 VM 及其基礎磁碟會遭到刪除。
相應縮小原則
使用 Spot Priority Mix 時,擴展集的相應縮小原則將會運作以嘗試維護擴展集中 Spot 和 Standard VM 的百分比分配。 Spot Priority Mix 會決定在相應縮小動作期間是否需要移除 Spot 或 Standard VM 以維持您的百分比分配,而不是刪除最舊或最新的 VM。
ARM 範本
您可以使用 ARM 範本來設定現成優先順序混合,以使用現成優先順序 VM 設定檔將下列屬性新增至具有彈性協調流程的擴展集:
"priorityMixPolicy": {
"baseRegularPriorityCount": 0,
"regularPriorityPercentageAboveBase": 50
},
參數:
baseRegularPriorityCount
– 指定標準 (一般) 優先順序的 VM 基數;如果擴展集容量等於或低於此數字,則所有 VM 都會是「一般」優先順序。regularPriorityPercentageAboveBase
– 指定在擴展集容量高於 baseRegularPriorityCount 時,會使用「一般」和「現成」優先順序 VM 的百分比分割。
在 Azure 入口網站之虛擬機器擴展集建立程序的 [Spot] 索引標籤中,您可以設定現成優先順序混合。 下列各步驟會指示您如何在該程序期間存取此功能。
- 登入 Azure 入口網站。
- 在搜尋列中,搜尋並選取 [虛擬機器擴展集]。
- 選取 [虛擬機器擴展集] 頁面上的 [建立]。
- 在 [基本] 索引標籤中,填寫必要的欄位,選取 [彈性] 作為 [協調流程] 模式,然後選取 [使用 Azure Spot 折扣執行] 的核取方塊。
- 在 [現成] 索引標籤中,選取 [使用 VM 與折扣的現成 VM 調整規模] 區段下 [使用 VM 與現成 VM 調整規模] 選項旁的核取方塊。
- 填寫基楚 VM (無法中斷的) 計數和執行個體發佈欄位,以設定您在現成和標準 VM 之間的百分比分割。
- 繼續執行虛擬機器擴展集建立程序。
更新現成優先順序混合
如果現成和標準 VM 的理想百分比分割變更,您可以在部署擴展集之後更新現成優先順序混合。 更新您的更新現成優先順序混合將會套用至變更之後的所有擴展集動作,現有的 VM 會維持原樣。
您可以在 Azure 入口網站的 [虛擬機器擴展集資源] 頁面的 [設定] 索引標籤中更新現有的現成優先順序混合。 下列各步驟會指示您如何在該程序期間存取此功能。 注意:在入口網站中,您只能針對已啟用現成優先順序混合的擴展集更新現成優先順序混合。
您可以在 Azure 入口網站的 [虛擬機器擴展集資源] 頁面的 [設定] 索引標籤中更新現有的現成優先順序混合。 下列各步驟會指示您如何在該程序期間存取此功能。 注意:在入口網站中,您只能針對已啟用現成優先順序混合的擴展集更新現成優先順序混合。
- 流覽至您要調整 [現成優先順序混合] 的特定虛擬機器擴展集。
- 在左側列中,向下捲動並選取 [設定]。
- 您應該可以看到您目前的現成優先順序混合。 您可以在此處變更現成和標準 VM 的基礎 VM (不中斷) 計數和執行個體散發。
- 視需要更新您的現成混合。
- 按 [儲存] 按鈕以套用變更。
範例
下列範例具有情節假設、動作資料表及結果逐步解說,以協助您瞭解現成優先順序混合設定的運作方式。
在參考這些範例之前要注意的一些重要術語:
- sku.capacity 是虛擬機器擴展集中的 VM 總數
- 基楚 (標準) VM 是標準非現成 VM 數字,類似於最小 VM 數字
實例 1
下列情節假設適用於此範例:
- sku.capacity 是可變的,因為自動調整將會從擴展集新增或移除 VM
- 基礎 (標準) VM: 10
- 額外的標準 VM: 0
- 現成優先順序 VM: 0
- regularPriorityPercentageAboveBase: 50%
- 收回原則:刪除
動作 | sku.capacity | 基礎 (標準) VM | 額外的標準 VM | 現成優先順序 VM |
---|---|---|---|---|
建立 | 10 | 10 | 0 | 0 |
橫向擴增 | 20 | 10 | 5 | 5 |
橫向擴增 | 30 | 10 | 10 | 10 |
橫向擴增 | 40 | 10 | 15 | 15 |
橫向擴增 | 41 | 10 | 15 | 16 |
橫向擴增 | 42 | 10 | 16 | 16 |
縮減 - 收回-刪除 (所有現成執行個體) | 26 | 10 | 16 | 0 |
橫向擴增 | 30 | 10 | 16 | 4 |
橫向擴增 | 42 | 10 | 16 | 16 |
橫向擴增 | 44 | 10 | 17 | 17 |
範例逐步解說:
- 您從具有 10 個 VM 的虛擬機器擴展集開始。
sku.capacity
是可變的,而且不會設定 VM 的起始數量。 基礎 VM 設定為 10,因此您的起始 VM 總數僅為 10 個基礎 (標準) VM。
- 然後,您會向外延展 5 次,其中包含 50% 的標準 VM 和 50% 的現成 VM。
- 請注意,因為第四個向外延展中有 50/50 的分割,因此有一個比標準 VM 多一個現成 VM。 一旦再次相應放大 (第 5 個相應放大),50/50 平衡會以另一個標準 VM 還原。
- 然後,您會使用收回原則在擴展集中進行調整,收回刪除,這會刪除所有現成 VM。
- 在此案例中提及的向外延展作業中,您只需建立現成 VM,即可還原擴展集中的50/50 平衡。
- 依最後一次向外延展,您的擴展集已經平衡,因此每種類型的 VM 都會建立一個。
案例 2
下列情節假設適用於此範例:
- sku.capacity 是由自動調整程式定義的變數;從 20 開始
- 基礎 (標準) VM: 10
- 額外的標準 VM: 2
- 現成優先順序 VM: 8
- regularPriorityPercentageAboveBase: 25%
- 收回原則:解除配置
動作 | sku.capacity | 基礎 (標準) VM | 額外的標準 VM | 現成優先順序 VM |
---|---|---|---|---|
建立 | 20 | 10 | 2 | 8 |
橫向擴增 | 50 | 10 | 10 | 30 |
橫向擴增 | 110 | 10 | 25 | 75 |
縮減:停止解除配置 (10 個執行個體) | 100 | 10 | 25 | 75 (65 個執行中的 VM,10 個停止解除配置的 VM) |
橫向擴增 | 120 | 10 | 27 | 83 (73 個執行中的 VM,10 個停止解除配置的 VM) |
範例逐步解說:
- 在初始建立虛擬機器擴展集和現成優先順序混合之後,您有 20 個 VM。
- 其中 10 個 VM 是基礎 (標準) VM、2 個額外的標準 VM,以及 8 個 25% 的現成優先順序 VM regularPriorityPercentageAboveBase。
- 另一個查看此比率的方法,是擴展集中每 4 個現成 VM 有 1 個標準 VM。
- 然後,您可以擴增兩次以建立 90 個 VM;23 個標準 VM 和 67 個現成 VM。
- 當您縮減 10 個 VM 時,將停止解除配置 10 個現成 VM,從而在擴展集中造成不平衡。
- 您的下一個擴增作業會建立另一個 2 個標準 VM 和 8 個 Spot VM,使您更接近 25% 以上的基礎比率。
疑難排解
如果您無法使用現成優先順序混合,請務必將 priorityMixPolicy
設定為在 virtualMachineProfile
中指定現成優先順序。 若未啟用 priorityMixPolicy
設定,您將無法存取此現成功能。
常見問題集
問:我已變更現成優先順序混合設定,為什麼我的現有 VM 不會變更?
現成優先順序混合適用於擴展集上的調整動作。 變更現成和標準 VM 的百分比分割不會重新平衡現有的擴展集。 當您調整擴展集時,您會看到實際的百分比分割變更。
問:是否為統一協調流程模式啟用現成優先順序混合?
現成優先順序混合僅適用於具有彈性協調流程模式的虛擬機器擴展集。
問:哪些區域已啟用現成優先順序混合?
現成 VM 以及現成優先順序混合在全球所有 Azure 區域均可使用。