即使已啟用自動修復原則,也不會修復 Azure 虛擬機擴展集實例
Azure VMSS 實例仍處於「狀況不良」狀態,即使已啟用自動修復原則,也不會修復。 本文提供此問題的可能原因和對應的解決方案:
- 擴展集中未正確啟用自動修復原則。
- 擴展集中未正確設定健康情況監視。
- 實例因為布建失敗而標示為狀況不良。
- 擴展集中已暫停自動修復,因為修復失敗太多。
- 實例在其寬限期內。
擴展集中未正確啟用自動修復原則
藉由 檢視 VMSS 的服務狀態,確認您的 VMSS 已選擇自動修復。
在屬性下 orchestrationServices
,如果 serviceState
自動修復的 是 Running
,則會選擇 VMSS 加入自動修復。
serviceState
如果 是 NotRunning
或 自動修復原則未顯示在 屬性底下orchestrationServices
,您必須在擴展集中啟用自動修復原則。 如需詳細資訊,請參閱 更新現有擴展集時啟用自動修復原則。
serviceState
如果 為 Suspended
,請移至擴展集中的自動修復因太多失敗的修復而暫停。
擴展集中未正確設定健全狀況監視
如果擴展集中的所有實例顯示為「狀況不良」,可能是您的健康情況監視探查在安裝期間未正確設定的標誌。 請確定您的應用程式會對設定的端點發出預期的 HTTP/HTTPS/TCP 回應。
為了達到「狀況良好」狀態,應用程式健康情況延伸模組探查或負載平衡器健康情況探查至少需要 2xx HTTP(S) 回應,或從已設定端點的應用程式成功 TCP 交握。 如果未收到預期的回應,將會回報「狀況不良」狀態。 請確定您的應用程式會發出正確的健康情況訊號至提供的端點。
如需負載平衡器健康情況探查預期 TCP/HTTP(S) 回應的詳細資訊,請參閱 Load Balancer 自定義探查。
如需應用程式健康情況擴充功能探查預期 TCP/HTTP(S) 回應的詳細資訊,請參閱使用自動實例修復的需求中的一節。
實例因為布建失敗而標示為狀況不良
針對 VMSS 使用 API 版本 2019-12-01 或更高版本的取得實例檢視,以從 virtualMachine
屬性檢視下statusesSummary
實例的布建狀態。
REST API
GET '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/instanceView?api-version=2019-12-01'
"virtualMachine": {
"statusesSummary": [
{
"code": "ProvisioningState/succeeded",
"count": 2
}
]
}
如果您有下方statusesSummary
的程式ProvisioningState/failed
代碼,請刪除失敗的實例,並將新的實例新增至擴展集。 實例修復目前不支援虛擬機因為布建失敗而標示為「狀況不良」的案例。
若要從擴展集移除失敗的實例,請參閱 從擴展集移除 VM。
若要將新的實例新增至擴展集,請參閱 變更擴展集的容量。
擴展集中已暫停自動修復,因為修復失敗太多
如果您的應用程式在重複修復嘗試後繼續發出「狀況不良」訊號,平臺最終會藉由將 自動修復的 變更 serviceState
為 ,暫停實例修復 Suspended
作為安全措施。
serviceState
確認自動修復原則的 。 若要這樣做,請參閱 檢視和更新自動實例修復原則的服務狀態。
如果 為 ,請使用檢視和更新自動實例修復原則中的 API 和 Cmdlet 範例,以繼續自動修復 。serviceState
Suspended
serviceState
setOrchestrationServiceState
Running
實例在其寬限期內
如果上述原因都不適用於問題,實例可能在其寬限期內。
寬限期是自動修復會在實例上進行任何狀態變更之後等待的時間,然後再執行修復,這有助於避免任何過早或意外的修復。 在完成執行個體的寬限期之後,應會發生修復動作。 如需自動修復寬限期設定的詳細資訊,請參閱 寬限期。
與我們連絡,以取得說明
如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以向 Azure 意見反應社群提交產品意見反應。