透過 PowerShell,在 Azure 虛擬機器擴展集上進行 OS 影像升級的維修控制項

適用於: ✔️ 統一擴展集

維修控制項可讓您決定在虛擬機器擴展集上套用客體作業系統影像升級的時間。 此主題涵蓋 Azure PowerShell 關於維修控制項的選項。 如需使用維護控制的詳細資訊,請參閱 Azure 虛擬機器擴展集的維修控制項

啟用 PowerShell 模組

確定 PowerShellGet 為最新狀態。

Install-Module -Name PowerShellGet -Repository PSGallery -Force	

安裝 Az.Maintenance PowerShell 模組。

Install-Module -Name Az.Maintenance

若要於本機安裝,請確定以系統管理員身分開啟 PowerShell 提示字元。

系統也會要求您確認是否要從不受信任的存放庫進行安裝。 輸入 Y 或選取 [全部皆是] 以安裝模組。

連線到 Azure 帳戶

使用 Connect-AzAccountSet-AzAccount連線至您想要的 Azure 帳戶。

Connect-AzAccount
Set-AzContext 00a000aa-0a00-0a0a-00aa-a00a000aaa00

$RGName="myMaintenanceRG"
$MaintenanceConfig="myMaintenanceConfig"
$location="eastus2"
$vmss="myMaintenanceVMSS"

建立維護設定

建立資源群組作為組態的容器。 此範例會在 eastus2 中建立名稱為 myMaintenanceRG 的資源群組。 如果您已有想要使用的資源群組,可以略過此部分。 只要在其餘範例中,將資源群組名稱取代為您自己的名稱。

New-AzResourceGroup `
   -Location $location `
   -Name $RGName

使用 New-AzMaintenanceConfiguration 建立維護組態。 此範例會建立名稱為 myConfig 且範圍設定為該 OS 映像的維護設定。

$config = New-AzMaintenanceConfiguration `
   -ResourceGroup $RGName `
   -Name $MaintenanceConfig `
   -MaintenanceScope OSImage `
   -Location $location `
   -StartDateTime "2020-10-01 00:00" `
   -TimeZone "Pacific Standard Time" `
   -Duration "05:00" `
   -RecurEvery "Day"

重要

維護「持續時間」必須為「5 小時」以上。 維護週期 必須設定為 Day

使用 -MaintenanceScope OSImage 可確保維護組態會用於控制客體 OS 更新。

如果您嘗試在不同的位置建立相同名稱的設定,則會發生錯誤。 針對資源群組,設定名稱必須是唯一的。

您可使用 Get-AzMaintenanceConfiguration 查詢可用的維護組態。

Get-AzMaintenanceConfiguration | Format-Table -Property Name,Id

將您的虛擬機器擴展集與維護設定建立關聯

不論維護組態的區域和訂用帳戶為何,虛擬機擴展集都可以與任何維護設定相關聯。 藉由加入維護設定,擴展集的新 OS 映像更新將會自動排程在下一個可用的維護期間。

使用 New-AzConfigurationAssignment,將虛擬機擴展集與維護設定產生關聯。

New-AzConfigurationAssignment `
   -ResourceGroupName $RGName `
   -Location $location `
   -ResourceName $vmss `
   -ResourceType VirtualMachineScaleSets `
   -ProviderName Microsoft.Compute `
   -ConfigurationAssignmentName $config.Name`
   -MaintenanceConfigurationId $config.Id

啟用自動 OS 升級

您可以針對即將使用維護控制的每個虛擬機器擴展集啟用自動 OS 升級。 如需在虛擬機擴展集上啟用自動 OS 升級的詳細資訊,請參閱Azure 虛擬機擴展集自動 OS 映像升級

下一步