Automatický upgrade rozšíření pro virtuální počítače a škálovací sady v Azure

Automatický upgrade rozšíření je k dispozici pro virtuální počítače Azure a škálovací sady virtuálních počítačů Azure. Pokud je na virtuálním počítači nebo škálovací sadě povolen automatický upgrade rozšíření, rozšíření se automaticky upgraduje, kdykoli vydavatel rozšíření vydá novou verzi pro toto rozšíření.

Automatický upgrade rozšíření má následující funkce:

  • Podporuje se pro virtuální počítače Azure a škálovací sady virtuálních počítačů Azure.
  • Upgrady se použijí v modelu nasazení typu availability-first.
  • V případě škálovací sady virtuálních počítačů neupgraduje v jedné dávce více než 20 % virtuálních počítačů škálovací sady. Minimální velikost dávky je jeden virtuální počítač.
  • Funguje pro všechny velikosti virtuálních počítačů a pro rozšíření Pro Windows i Linux.
  • Automatické upgrady můžete kdykoli zrušit.
  • U škálovacích sad virtuálních počítačů s libovolnou velikostí je možné povolit automatický upgrade rozšíření.
  • Každé podporované rozšíření se zaregistruje jednotlivě a můžete zvolit, která rozšíření se mají upgradovat automaticky.
  • Podporuje se ve všech oblastech veřejného cloudu.

Jak funguje automatický upgrade rozšíření?

Proces upgradu rozšíření nahradí stávající verzi rozšíření na virtuálním počítači novou verzí stejného rozšíření při publikování vydavatelem rozšíření. Po instalaci nového rozšíření se monitoruje stav virtuálního počítače. Pokud virtuální počítač není ve stavu v pořádku do 5 minut od dokončení upgradu, verze rozšíření se vrátí zpět na předchozí verzi.

Aktualizace rozšíření, která selhala, se automaticky opakuje. Opakovaný pokus se automaticky pokusí o několik dní bez zásahu uživatele.

První Aktualizace dostupnosti

Model dostupnosti pro aktualizace orchestrované platformou zajišťuje, aby se konfigurace dostupnosti v Azure respektovaly napříč několika úrovněmi dostupnosti.

U skupiny virtuálních počítačů procházejících aktualizací orchestruje platforma Azure aktualizace:

Napříč oblastmi:

  • Aktualizace se globálně přesouvá napříč Azure postupně, aby se zabránilo selháním nasazení na úrovni Azure.
  • Fáze může mít jednu nebo více oblastí a aktualizace se přesune mezi fázemi pouze v případě, že oprávněné virtuální počítače v předchozí fázi úspěšně aktualizují.
  • Geograficky spárované oblasti se neaktualizují souběžně a nemůžou být ve stejné regionální fázi.
  • Úspěch aktualizace se měří sledováním stavu virtuálního počítače po aktualizaci. Stav virtuálního počítače se sleduje prostřednictvím indikátorů stavu platformy pro virtuální počítač. V případě škálovacích sad virtuálních počítačů se stav virtuálního počítače sleduje prostřednictvím sond stavu aplikace nebo rozšíření Stavu aplikace, pokud se použije na škálovací sadu.

V rámci oblasti:

  • Virtuální počítače v různých Zóny dostupnosti se neaktualizují souběžně se stejnou aktualizací.
  • Jednotlivé virtuální počítače, které nejsou součástí skupiny dostupnosti, jsou dávkově dávkové, aby se zabránilo souběžným aktualizacím pro všechny virtuální počítače v předplatném.

V rámci sady:

  • Všechny virtuální počítače v společné skupině dostupnosti nebo škálovací sadě se neaktualizují souběžně.
  • Virtuální počítače ve společné skupině dostupnosti se aktualizují v rámci aktualizačních domén a virtuální počítače napříč více aktualizačními doménami se neaktualizují souběžně.
  • Virtuální počítače v běžné škálovací sadě virtuálních počítačů se seskupují v dávkách a aktualizují se v rámci hranic aktualizační domény.

Proces upgradu pro škálovací sady virtuálních počítačů

  1. Před zahájením procesu upgradu orchestrátor zajistí, že není v pořádku více než 20 % virtuálních počítačů v celé škálovací sadě (z jakéhokoli důvodu).

  2. Orchestrátor upgradu identifikuje dávku instancí virtuálních počítačů, které se mají upgradovat. Dávka upgradu může mít maximálně 20 % celkového počtu virtuálních počítačů v závislosti na minimální velikosti dávky jednoho virtuálního počítače.

  3. U škálovacích sad s nakonfigurovanými sondami stavu aplikace nebo rozšířením stavu aplikace upgrade čeká až 5 minut (nebo definovaná konfigurace sondy stavu), než se virtuální počítač v pořádku stane v pořádku před upgradem další dávky. Pokud se virtuální počítač po upgradu neobnoví, přeinstaluje se ve výchozím nastavení předchozí verze rozšíření na virtuálním počítači.

  4. Orchestrátor upgradu také sleduje procento virtuálních počítačů, které po upgradu nejsou v pořádku. Upgrade se zastaví, pokud během procesu upgradu není v pořádku více než 20 % upgradovaných instancí.

Výše uvedený proces pokračuje, dokud nebudou upgradovány všechny instance ve škálovací sadě.

Orchestrátor upgradu škálovací sady před upgradem každé dávky kontroluje celkový stav škálovací sady. Během dávkového upgradu můžou existovat další souběžné plánované nebo neplánované aktivity údržby, které by mohly ovlivnit stav virtuálních počítačů škálovací sady. Pokud v takových případech není v pořádku více než 20 % instancí škálovací sady, upgrade škálovací sady se zastaví na konci aktuální dávky.

Podporovaná rozšíření

Automatický upgrade rozšíření podporuje následující rozšíření (a další se přidávají pravidelně):

Povolení automatického upgradu rozšíření

Chcete-li povolit automatický upgrade rozšíření pro rozšíření, je nutné zajistit, aby vlastnost enableAutomaticUpgrade byla nastavena true a přidána do každé definice rozšíření jednotlivě.

REST API pro virtuální počítače

Pokud chcete povolit automatický upgrade rozšíření pro rozšíření (v tomto příkladu rozšíření Dependency Agent) na virtuálním počítači Azure, použijte následující volání:

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 pro škálovací sady virtuálních počítačů

Pomocí následujícího volání přidejte rozšíření do modelu škálovací sady:

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 pro virtuální počítače

Použijte rutinu 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 pro škálovací sady virtuálních počítačů

Pomocí rutiny Add-AzVmssExtension přidejte rozšíření do modelu škálovací sady:

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

Po přidání rozšíření aktualizujte škálovací sadu pomocí update-AzVmss .

Azure CLI pro službu Virtual Machines

Použijte rutinu 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

Azure CLI pro škálovací sady virtuálních počítačů

Pomocí rutiny az vmss extension set přidejte rozšíření do modelu škálovací sady:

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

Šablona ARM pro virtuální počítače

Následující příklad popisuje, jak nastavit automatické upgrady rozšíření pro rozšíření (rozšíření závislého agenta v tomto příkladu) na virtuálním počítači pomocí Azure Resource Manageru.

{
    "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"
        }
    }
}

Šablona ARM pro škálovací sady virtuálních počítačů

K nastavení automatického upgradu rozšíření v rámci modelu škálovací sady použijte následující příklad:

{
   "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,
                     }
                }]
    	    }
    	}
    }
}

Upgrady rozšíření s více rozšířeními

Virtuální počítač nebo škálovací sada virtuálních počítačů můžou mít více rozšíření s povoleným automatickým upgradem rozšíření. Stejný virtuální počítač nebo škálovací sada můžou mít i další rozšíření bez povoleného automatického upgradu rozšíření.

Pokud je pro virtuální počítač k dispozici více upgradů rozšíření, můžou se upgrady dávkot společně, ale každý upgrade rozšíření se použije jednotlivě na virtuálním počítači. Selhání u jednoho rozšíření nemá vliv na ostatní rozšíření, která se můžou upgradovat. Pokud jsou například pro upgrade naplánovaná dvě rozšíření a první upgrade rozšíření selže, druhé rozšíření se stále upgraduje.

Automatické upgrady rozšíření je možné použít také v případech, kdy má virtuální počítač nebo škálovací sada virtuálních počítačů nakonfigurovaných více rozšíření sekvencováním rozšíření. Sekvencování rozšíření platí pro první nasazení virtuálního počítače a všechny budoucí upgrady rozšíření na rozšíření se použijí nezávisle.

Další kroky