修補 Service Fabric 叢集中的 Windows 作業系統

在 Azure 中修補作業系統的最佳做法,即是在您的虛擬機器擴展集上進行作業系統映像自動升級。 若要以虛擬機器擴展集為基礎進行作業系統映像自動升級,擴展集便需要銀級以上的持久性。

虛擬機器擴展集的作業系統映像自動升級需求

  • Service Fabric 耐久性層級為銀級或金級,而非銅級。
  • 擴展集模型定義的 Service Fabric 擴充功能必須為 TypeHandlerVersion 1.1 或以上。
  • 在擴展集模型定義中,Service Fabric 叢集和 Service Fabric 擴充功能的持久性層級應相同。
  • 無須額外進行健全狀態探查,或使用虛擬機器擴展集的應用程式健全狀態擴充功能。
  • 唯一的例外狀況是無狀態節點類型,其持久性為銅級,但仍可設定作業系統映像自動升級。 如需詳細資訊,請參閱部署具有無狀態節點類型的 Azure Service Fabric 叢集。

請確保 Service Fabric 叢集和 Service Fabric 擴充功能的持久性設定相符,因為不相符將導致升級發生錯誤。 您可根據此頁面所述的指導方針來修改持久性層級。

若為銅級持久性,則無法進行作業程式映像自動升級。 雖然銀級以上的持久性層級不建議使用修補程式協調流程應用程式 (原僅適用於非 Azure 託管的叢集),但這是讓 Service Fabric 升級網域自動進行 Windows 更新的唯一選項。

若要由修補程式協調流程應用程式切換為作業系統映像自動升級,則須先取代修補程式協調流程應用程式的使用。

啟用作業系統自動升級,並停用 Windows Update

啟用作業系統自動更新時,同時也須停用部署範本中的 Windows Update。 部署這些變更後,該擴展集中的所有機器便會重新安裝映像,且該擴展集將啟用自動更新。

重要

Service Fabric 不支援 VM 內的升級;該升級由 Windows Updates 套用作業系統修補程式,而不取代作業系統磁碟。

注意

使用受控磁碟時,請確定用於將受控磁碟對應至磁碟機代號的自訂延伸模組指令碼會正確處理 VM 的重新安裝映像。 如需正確處理受控磁碟的 VM 重新安裝映像的範例指令碼,請參閱建立具有連結資料磁碟的 Service Fabric 叢集

  1. 啟用作業系統映像自動升級,並停用部署範本中的 Windows Updates:

    "properties": {
       "upgradePolicy": {
         "mode": "Automatic",
          "automaticOSUpgradePolicy": {
            "enableAutomaticOSUpgrade": true
          }
        }
    }
    
    "osProfile": { 
       "windowsConfiguration": { 
         "enableAutomaticUpdates": false 
        }
    }
    
    Update-AzVmss -ResourceGroupName $resourceGroupName -VMScaleSetName $scaleSetName -AutomaticOSUpgrade $true -EnableAutomaticUpdate $false
    
  2. 更新擴展集模型。 變更此設定後,所有機器的重新安裝映像作業皆須更新擴展集模型,變更才會生效:

    $scaleSet = Get-AzVmssVM -ResourceGroupName $resourceGroupName -VMScaleSetName $scaleSetName
    $instances = foreach($vm in $scaleSet)
    {
        Set-AzVmssVM -ResourceGroupName $resourceGroupName -VMScaleSetName $scaleSetName -InstanceId $vm.InstanceID -Reimage
    }
    

下一步

深入了解如何在虛擬機器擴展集上啟用作業系統映像自動升級