Automatikus bővítményfrissítés virtuális gépekhez és méretezési csoportokhoz az Azure-ban

Az automatikus bővítményfrissítés azure-beli virtuális gépekhez és Azure-beli virtuálisgép-méretezési csoportokhoz érhető el. Ha az automatikus bővítményfrissítés engedélyezve van egy virtuális gépen vagy méretezési csoportban, a bővítmény automatikusan frissül, amikor a bővítmény közzétevője új verziót ad ki a bővítményhez.

Az automatikus bővítményfrissítés a következő funkciókkal rendelkezik:

  • Az Azure-beli virtuális gépek és az Azure-beli virtuálisgép-méretezési csoportok esetében támogatott.
  • A frissítések egy rendelkezésre állási első üzembehelyezési modellben lesznek alkalmazva.
  • Virtuálisgép-méretezési csoport esetén a méretezési csoport virtuális gépeinek legfeljebb 20%-a frissül egyetlen kötegben. A köteg minimális mérete egy virtuális gép.
  • Minden virtuálisgép-mérethez, valamint Windows- és Linux-bővítményekhez is használható.
  • Az automatikus frissítéseket bármikor letilthatja.
  • Az automatikus bővítményfrissítés bármilyen méretű virtuálisgép-méretezési csoporton engedélyezhető.
  • Minden támogatott bővítmény külön-külön van regisztrálva, és kiválaszthatja, hogy mely bővítményeket frissítse automatikusan.
  • Minden nyilvános felhőrégióban támogatott.

Hogyan működik az automatikus bővítményfrissítés?

A bővítményfrissítési folyamat lecseréli a virtuális gépek meglévő bővítményverzióját ugyanannak a bővítménynek egy új verziójára, amikor a bővítmény közzétevője közzéteszi. A virtuális gép állapotát az új bővítmény telepítése után figyeli a rendszer. Ha a virtuális gép nem kifogástalan állapotban van a frissítés befejezését követő 5 percen belül, a bővítményverzió vissza lesz állítva az előző verzióra.

A rendszer automatikusan újrapróbálkozott egy sikertelen bővítményfrissítést. A rendszer néhány naponta automatikusan megkísérli az újrapróbálkozási kísérleteket felhasználói beavatkozás nélkül.

Rendelkezésre állás – első Frissítések

A platform által vezényelt frissítések rendelkezésre állási első modellje biztosítja, hogy az Azure rendelkezésre állási konfigurációi több rendelkezésre állási szinten is érvényesülnek.

A frissítés alatt álló virtuális gépek egy csoportja esetében az Azure platform a következő frissítéseket vezényeli:

Régiók között:

  • A frissítés globálisan, szakaszos módon halad át az Azure-ban, hogy megelőzze az Azure-ra kiterjedő üzembe helyezési hibákat.
  • A "fázisok" egy vagy több régióval rendelkezhetnek, és a frissítés csak akkor lép át a fázisokon, ha az előző fázis frissítésének jogosult virtuális gépei sikeresen frissülnek.
  • A földrajzilag párosított régiók nem frissülnek egyszerre, és nem lehetnek ugyanabban a regionális fázisban.
  • A frissítés sikerességét a virtuális gép frissítés utáni állapotának nyomon követésével mérik. A virtuális gép állapotát a virtuális gép platformállapot-mutatói követik nyomon. A virtuálisgép-méretezési csoportok esetében a virtuális gép állapotát az alkalmazásállapot-mintavételek vagy az Application Health bővítmény követi nyomon, ha a méretezési csoportra van alkalmazva.

Régión belül:

  • A különböző rendelkezésre állási zónákban lévő virtuális gépek nem frissülnek egyidejűleg ugyanazzal a frissítéssel.
  • A rendelkezésre állási csoport részét nem képező önálló virtuális gépeket a rendszer a lehető legjobb erőfeszítéssel kötegeli, hogy elkerülje az előfizetés összes virtuális gépének egyidejű frissítését.

Egy "készleten" belül:

  • A közös rendelkezésre állási csoport vagy méretezési csoport összes virtuális gépe nem frissül egyidejűleg.
  • A közös rendelkezésre állási csoportban lévő virtuális gépek frissítési tartományhatárokon belül frissülnek, és több frissítési tartomány virtuális gépei nem frissülnek egyszerre.
  • Egy közös virtuálisgép-méretezési csoportban lévő virtuális gépek kötegekbe vannak csoportosítva, és az Update Domain határain belül frissülnek.

Virtuálisgép-méretezési csoportok frissítési folyamata

  1. A frissítési folyamat megkezdése előtt a vezénylő gondoskodik arról, hogy a teljes méretezési csoportban lévő virtuális gépek legfeljebb 20%-a kifogástalan állapotú (bármilyen okból).

  2. A frissítési vezénylő azonosítja a frissíteni kívánt virtuálisgép-példányok kötegét. A frissítési kötegek legfeljebb a virtuális gépek teljes számának 20%-át tartalmazhatják, egy virtuális gép minimális kötegméretétől függően.

  3. A konfigurált alkalmazásállapot-mintavételekkel vagy Application Health-bővítménysel rendelkező méretezési csoportok esetében a frissítés legfeljebb 5 percet (vagy a megadott állapotadat-mintavételi konfigurációt) vár, amíg a virtuális gép kifogástalan állapotúvá válik a következő köteg frissítése előtt. Ha egy virtuális gép nem tudja helyreállítani az állapotát a frissítés után, akkor a rendszer alapértelmezés szerint újratelepíti a virtuális gép korábbi bővítményverzióját.

  4. A frissítési vezénylő azt is nyomon követi, hogy hány virtuális gép lesz sérült a frissítés után. A frissítés leáll, ha a frissített példányok több mint 20%-a nem megfelelő állapotba kerül a frissítési folyamat során.

A fenti folyamat addig folytatódik, amíg a méretezési csoport összes példánya frissül.

A méretezési csoport frissítési vezénylője minden köteg frissítése előtt ellenőrzi a méretezési csoport általános állapotát. A kötegelt frissítés során más tervezett vagy nem tervezett karbantartási tevékenységek is lehetnek, amelyek hatással lehetnek a méretezési csoport virtuális gépeinek állapotára. Ilyen esetekben, ha a méretezési csoport példányainak több mint 20%-a nem megfelelő állapotú, akkor a méretezési csoport frissítése az aktuális köteg végén leáll.

Támogatott bővítmények

Az automatikus bővítményfrissítés a következő bővítményeket támogatja (és további bővítményeket is rendszeresen hozzáadnak):

Az automatikus bővítményfrissítés engedélyezése

Ha engedélyezni szeretné egy bővítmény automatikus bővítményfrissítését, győződjön meg arról, hogy a tulajdonság enableAutomaticUpgrade minden bővítménydefinícióhoz true külön van beállítva és hozzáadva.

REST API virtuális gépekhez

Az Azure-beli virtuális gépeken futó bővítmények (ebben a példában a Függőségi ügynök bővítmény) automatikus bővítményfrissítésének engedélyezéséhez használja a következő hívást:

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 virtuálisgép-méretezési csoportokhoz

A következő hívással adja hozzá a bővítményt a méretezési csoport modelljéhez:

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 virtuális gépekhez

Használja a Set-AzVMExtension parancsmagot:

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 virtuálisgép-méretezési csoportokhoz

Az Add-AzVmssExtension parancsmaggal adja hozzá a bővítményt a méretezési csoport modelljéhez:

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

Frissítse a méretezési csoportot az Update-AzVmss használatával a bővítmény hozzáadása után.

Azure CLI a virtuális gépekhez

Használja az az vm extension set parancsmagot:

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 virtuálisgép-méretezési csoportokhoz

Az az vmss extension set parancsmaggal adja hozzá a bővítményt a méretezési csoport modelljéhez:

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-sablon virtuális gépekhez

Az alábbi példa bemutatja, hogyan állíthat be automatikus bővítményfrissítéseket egy bővítményhez (ebben a példában függőségi ügynök bővítménye) egy virtuális gépen az Azure Resource Manager használatával

{
    "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-sablon virtuálisgép-méretezési csoportokhoz

A méretezési csoport modelljén belüli bővítmény automatikus frissítésének beállításához használja az alábbi példát:

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

Bővítményfrissítések több bővítménnyel

A virtuális gépek vagy virtuálisgép-méretezési csoportok több bővítményt is tartalmazhatnak, amelyeken engedélyezve van az automatikus bővítményfrissítés. Ugyanannak a virtuális gépnek vagy méretezési csoportnak más bővítményei is lehetnek anélkül, hogy engedélyezve lenne az automatikus bővítményfrissítés.

Ha egy virtuális géphez több bővítményfrissítés is elérhető, előfordulhat, hogy a frissítések kötegelve vannak, de mindegyik bővítményfrissítést egyenként alkalmazza a rendszer egy virtuális gépen. Az egyik bővítmény meghibásodása nem érinti a másik bővítményt, amely esetleg frissíthető. Ha például két bővítmény van ütemezve egy frissítésre, és az első bővítmény frissítése meghiúsul, a második bővítmény továbbra is frissül.

Az automatikus bővítményfrissítések akkor is alkalmazhatók, ha egy virtuális gép vagy virtuálisgép-méretezési csoport több bővítményt konfigurál a bővítmények szekvenálásával. A bővítmények szekvenálása a virtuális gép első üzembe helyezésére vonatkozik, és a bővítmények későbbi frissítései egymástól függetlenül lesznek alkalmazva.

Következő lépések