Automatisk tilläggsuppgradering för virtuella datorer och skalningsuppsättningar i Azure

Automatisk tilläggsuppgradering är tillgängligt för virtuella Azure-datorer och Skalningsuppsättningar för virtuella Azure-datorer. När automatisk tilläggsuppgradering är aktiverad på en virtuell dator eller skalningsuppsättning uppgraderas tillägget automatiskt när tilläggsutgivaren släpper en ny version för tillägget.

Automatisk tilläggsuppgradering har följande funktioner:

  • Stöds för virtuella Azure-datorer och Skalningsuppsättningar för virtuella Azure-datorer.
  • Uppgraderingar tillämpas i en distributionsmodell för tillgänglighet först.
  • För en VM-skalningsuppsättning uppgraderas högst 20 % av skalningsuppsättningens virtuella datorer i en enda batch. Den minsta batchstorleken är en virtuell dator.
  • Fungerar för alla VM-storlekar och för både Windows- och Linux-tillägg.
  • Du kan när som helst välja bort automatiska uppgraderingar.
  • Automatisk tilläggsuppgradering kan aktiveras på en VM-skalningsuppsättningar av valfri storlek.
  • Varje tillägg som stöds registreras individuellt och du kan välja vilka tillägg som ska uppgraderas automatiskt.
  • Stöds i alla offentliga molnregioner.

Hur fungerar automatisk tilläggsuppgradering?

Uppgraderingsprocessen för tillägget ersätter den befintliga tilläggsversionen på en virtuell dator med en ny version av samma tillägg när den publiceras av tilläggsutgivaren. Hälsotillståndet för den virtuella datorn övervakas när det nya tillägget har installerats. Om den virtuella datorn inte är i felfritt tillstånd inom 5 minuter efter uppgraderingens slutförande återställs tilläggsversionen till den tidigare versionen.

En misslyckad tilläggsuppdatering görs automatiskt igen. Ett nytt försök görs med några dagars mellanrum automatiskt utan användarintervention.

Tillgänglighets-första Uppdateringar

Tillgänglighetsmodellen för plattformsorkestrerade uppdateringar säkerställer att tillgänglighetskonfigurationer i Azure respekteras på flera tillgänglighetsnivåer.

För en grupp virtuella datorer som genomgår en uppdatering orkestrerar Azure-plattformen uppdateringar:

Mellan regioner:

  • En uppdatering flyttas över Hela Azure globalt stegvis för att förhindra distributionsfel i Hela Azure.
  • En "fas" kan ha en eller flera regioner och en uppdatering flyttas endast över faser om berättigade virtuella datorer i föregående fas uppdateras korrekt.
  • Geo-kopplade regioner uppdateras inte samtidigt och kan inte vara i samma regionala fas.
  • En uppdaterings framgång mäts genom att spåra hälsotillståndet för en virtuell dator efter uppdateringen. Hälsotillstånd för virtuella datorer spåras via plattformshälsoindikatorer för den virtuella datorn. För vm-skalningsuppsättningar spåras den virtuella datorns hälsotillstånd via programhälsoavsökningar eller tillägget Programhälsa, om det tillämpas på skalningsuppsättningen.

Inom en region:

  • Virtuella datorer i olika Tillgänglighetszoner uppdateras inte samtidigt med samma uppdatering.
  • Enskilda virtuella datorer som inte ingår i en tillgänglighetsuppsättning batchas på bästa sätt för att undvika samtidiga uppdateringar för alla virtuella datorer i en prenumeration.

Inom en "uppsättning":

  • Alla virtuella datorer i en gemensam tillgänglighetsuppsättning eller skalningsuppsättning uppdateras inte samtidigt.
  • Virtuella datorer i en gemensam tillgänglighetsuppsättning uppdateras inom gränserna för uppdateringsdomäner och virtuella datorer över flera uppdateringsdomäner uppdateras inte samtidigt.
  • Virtuella datorer i en gemensam VM-skalningsuppsättning grupperas i batchar och uppdateras inom gränserna för uppdateringsdomäner.

Uppgraderingsprocess för VM-skalningsuppsättningar

  1. Innan uppgraderingsprocessen startar ser orkestratorn till att högst 20 % av de virtuella datorerna i hela skalningsuppsättningen inte är felfria (av någon anledning).

  2. Uppgraderingsorkestratorn identifierar batchen med virtuella datorinstanser som ska uppgraderas. En uppgraderingsbatch kan ha högst 20 % av det totala antalet virtuella datorer, med en minsta batchstorlek på en virtuell dator.

  3. För skalningsuppsättningar med konfigurerade programhälsoavsökningar eller Application Health-tillägg väntar uppgraderingen upp till 5 minuter (eller den definierade konfigurationen för hälsoavsökning) för att den virtuella datorn ska bli felfri innan nästa batch uppgraderas. Om en virtuell dator inte återställer sin hälsa efter en uppgradering installeras den tidigare tilläggsversionen på den virtuella datorn som standard om.

  4. Uppgraderingsorkestratorn spårar också procentandelen virtuella datorer som inte är felfria efter en uppgradering. Uppgraderingen stoppas om mer än 20 % av de uppgraderade instanserna blir felaktiga under uppgraderingsprocessen.

Ovanstående process fortsätter tills alla instanser i skalningsuppsättningen har uppgraderats.

Uppgraderingsorkestratorn för skalningsuppsättningen söker efter den övergripande skalningsuppsättningens hälsotillstånd innan varje batch uppgraderas. Under en batchuppgradering kan det finnas andra samtidiga planerade eller oplanerade underhållsaktiviteter som kan påverka hälsotillståndet för dina virtuella skalningsuppsättningar. Om mer än 20 % av skalningsuppsättningens instanser blir felaktiga stoppas uppgraderingen av skalningsuppsättningen i slutet av den aktuella batchen.

Tillägg som stöds

Automatisk tilläggsuppgradering stöder följande tillägg (och fler läggs till regelbundet):

Aktivera automatisk tilläggsuppgradering

Om du vill aktivera Automatisk tilläggsuppgradering för ett tillägg måste du se till att true egenskapen enableAutomaticUpgrade är inställd på och läggs till i varje tilläggsdefinition individuellt.

REST API för virtuella datorer

Om du vill aktivera automatisk tilläggsuppgradering för ett tillägg (i det här exemplet beroendeagenttillägget) på en virtuell Azure-dator använder du följande anrop:

PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/<vmName>/extensions/<extensionName>?api-version=2019-12-01`
{    
    "name": "extensionName",
    "type": "Microsoft.Compute/virtualMachines/extensions",
    "location": "<location>",
    "properties": {
        "autoUpgradeMinorVersion": true,
        "enableAutomaticUpgrade": true, 
        "publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
        "type": "DependencyAgentWindows",
        "typeHandlerVersion": "9.5"
        }
}

REST API för VM-skalningsuppsättningar

Använd följande anrop för att lägga till tillägget i skalningsuppsättningsmodellen:

PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmssName>?api-version=2019-12-01`
{
   "location": "<location>",
   "properties": {
   	    "virtualMachineProfile": {
            "extensionProfile": {
       	        "extensions": [
            	{
                "name": "<extensionName>",
            	  "properties": {
             		    "autoUpgradeMinorVersion": true,
             		    "enableAutomaticUpgrade": true,
              	    "publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
              	    "type": "DependencyAgentWindows",
              	    "typeHandlerVersion": "9.5"
            		}
          	    }
        	    ]
    	    }
    	}
    }
}

Azure PowerShell för virtuella datorer

Använd cmdleten Set-AzVMExtension :

Set-AzVMExtension -ExtensionName "Microsoft.Azure.Monitoring.DependencyAgent" `
    -ResourceGroupName "myResourceGroup" `
    -VMName "myVM" `
    -Publisher "Microsoft.Azure.Monitoring.DependencyAgent" `
    -ExtensionType "DependencyAgentWindows" `
    -TypeHandlerVersion 9.5 `
    -Location WestUS `
    -EnableAutomaticUpgrade $true

Azure PowerShell för VM-skalningsuppsättningar

Använd cmdleten Add-AzVmssExtension för att lägga till tillägget i skalningsuppsättningsmodellen:

Add-AzVmssExtension -VirtualMachineScaleSet $vmss
    -Name "Microsoft.Azure.Monitoring.DependencyAgent" `
    -Publisher "Microsoft.Azure.Monitoring.DependencyAgent" `
    -Type "DependencyAgentWindows" `
    -TypeHandlerVersion 9.5 `
    -EnableAutomaticUpgrade $true

Uppdatera skalningsuppsättningen med Update-AzVmss när du har lagt till tillägget.

Azure CLI för Virtual Machines

Använd cmdleten az vm extension set :

az vm extension set \
    --resource-group myResourceGroup \
    --vm-name myVM \
    --name DependencyAgentLinux \
    --publisher Microsoft.Azure.Monitoring.DependencyAgent \
    --version 9.5 \
    --enable-auto-upgrade true

Skalningsuppsättningar för Azure CLI för virtuella datorer

Använd cmdleten az vmss extension set för att lägga till tillägget i skalningsuppsättningsmodellen:

az vmss extension set \
    --resource-group myResourceGroup \
    --vmss-name myVMSS \
    --name DependencyAgentLinux \
    --publisher Microsoft.Azure.Monitoring.DependencyAgent \
    --version 9.5 \
    --enable-auto-upgrade true

ARM-mall för virtuella datorer

I följande exempel beskrivs hur du ställer in automatiska tilläggsuppgraderingar för ett tillägg (beroendeagenttillägg i det här exemplet) på en virtuell dator med Hjälp av Azure Resource Manager

{
    "type": "Microsoft.Compute/virtualMachines/extensions",
    "location": "[resourceGroup().location]",
    "name": "<extensionName>",
    "dependsOn": [
        "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]"
    ],
    "properties": {
        "publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
        "type": "DependencyAgentWindows",
        "typeHandlerVersion": "9.5",
        "autoUpgradeMinorVersion": true,
        "enableAutomaticUpgrade": true,
        "settings": {
            "enableAMA": "true"
        }
    }
}

ARM-mall för VM-skalningsuppsättningar

Använd följande exempel för att ange automatisk tilläggsuppgradering för tillägget i skalningsuppsättningsmodellen:

{
   "type": "Microsoft.Compute/virtualMachineScaleSets",
   "apiVersion": "2023-09-01",
   "name": "[variables('vmScaleSetName')]",
   "location": "[resourceGroup().location]",
   "properties": {
   	    "virtualMachineProfile": {
            "extensionProfile": {
       	        "extensions": [{
                     "name": "<extensionName>",
                     "properties": {
                          "publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
                          "type": "DependencyAgentWindows",
                          "typeHandlerVersion": "9.5",
                          "autoUpgradeMinorVersion": true,
                          "enableAutomaticUpgrade": true,
                     }
                }]
    	    }
    	}
    }
}

Tilläggsuppgraderingar med flera tillägg

En VM eller vm-skalningsuppsättning kan ha flera tillägg med automatisk tilläggsuppgradering aktiverad. Samma virtuella dator eller skalningsuppsättning kan också ha andra tillägg utan automatisk uppgradering av tillägg aktiverat.

Om flera tilläggsuppgraderingar är tillgängliga för en virtuell dator kan uppgraderingarna batchas ihop, men varje tilläggsuppgradering tillämpas individuellt på en virtuell dator. Ett fel på ett tillägg påverkar inte de andra tilläggen som kan uppgraderas. Om två tillägg till exempel är schemalagda för en uppgradering och den första tilläggsuppgradningen misslyckas uppgraderas det andra tillägget fortfarande.

Automatiska tilläggsuppgraderingar kan också tillämpas när en VM- eller VM-skalningsuppsättning har flera tillägg konfigurerade med tilläggssekvensering. Tilläggssekvensering gäller för första gången distributionen av den virtuella datorn och eventuella framtida tilläggsuppgraderingar på ett tillägg tillämpas oberoende av varandra.

Nästa steg