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
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).
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.
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.
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):
- Azure Automation Hibrid feldolgozó bővítmény – Linux és Windows
- Függőségi ügynök – Linux és Windows
- Application Health Extension – Linux és Windows
- Vendégigazolási bővítmény – Linux és Windows
- Vendégkonfigurációs bővítmény – Linux és Windows
- Key Vault – Linux és Windows
- Azure Monitor-ügynök
- Log Analytics-ügynök Linuxhoz
- Azure Diagnostics-bővítmény Linuxhoz
- Service Fabric – Linux
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.