Automatische extensie-upgrade voor virtuele machines en schaalsets in Azure
Automatische extensie-upgrade is beschikbaar voor Virtuele Azure-machines en Virtuele-machineschaalsets van Azure. Wanneer automatische extensie-upgrade is ingeschakeld op een virtuele machine (VM) of schaalset, wordt de extensie automatisch bijgewerkt wanneer de uitgever van de extensie een nieuwe versie voor die extensie publiceert.
Automatische extensie-upgrade heeft de volgende functies:
- Virtuele Azure-machines en virtuele-machineschaalsets worden ondersteund.
- Upgrades worden toegepast in een implementatiemodel voor beschikbaarheids eerst.
- Voor een virtuele-machineschaalset bevinden zich niet meer dan 20% van de VM-upgrades van de schaalset in één batch. De minimale batchgrootte is één VM.
- Alle VM-grootten en zowel Windows- als Linux-extensies zijn compatibel.
- Automatische upgrades zijn op elk gewenst moment optioneel.
- Virtuele-machineschaalsets van elke grootte zijn ingeschakeld.
- Elke ondersteunde extensie wordt afzonderlijk geregistreerd. U kunt kiezen welke extensies u automatisch wilt upgraden.
- Alle openbare cloudregio's worden ondersteund.
Hoe werkt automatische extensie-upgrade?
Het upgradeproces van de extensie vervangt de bestaande extensieversie op een virtuele machine wanneer de uitgever van de extensie een nieuwe versie van dezelfde extensie publiceert. De status van de virtuele machine wordt gecontroleerd nadat de nieuwe extensie is geïnstalleerd. Als de VM niet binnen vijf minuten na voltooiing van de upgrade in orde is, wordt de extensieversie teruggezet naar de vorige versie.
Er wordt automatisch een mislukte extensie-upgrade uitgevoerd. Een nieuwe poging wordt elke paar dagen automatisch geprobeerd zonder tussenkomst van de gebruiker.
Beschikbaarheids-eerste updates
Het model availability-first voor platform-orchestrated upgrades zorgt ervoor dat beschikbaarheidsconfiguraties in Azure worden gerespecteerd op meerdere beschikbaarheidsniveaus.
Voor een groep VM's die een upgrade ondergaan, organiseert het Azure-platform upgrades tussen regio's, binnen een regio en binnen een set.
Tussen regio's
- Een upgrade wordt wereldwijd over Azure verplaatst om gefaseerde implementatiefouten in Azure te voorkomen.
- Een fase kan een of meer regio's hebben en een upgrade wordt alleen uitgevoerd in fasen als in aanmerking komende VM's in de vorige fase zijn bijgewerkt.
- Geografisch gekoppelde regio's worden niet gelijktijdig bijgewerkt en kunnen zich niet in dezelfde regionale fase bevinden.
- Het succes van een upgrade wordt gemeten door de status van een VM na de upgrade bij te houden. Vm-status wordt bijgehouden via platformstatusindicatoren voor de VIRTUELE machine. Voor virtuele-machineschaalsets wordt de vm-status bijgehouden via toepassingsstatustests of de Application Health-extensie, als deze wordt toegepast op de schaalset.
Binnen een regio
- VM's in verschillende beschikbaarheidszones worden niet gelijktijdig bijgewerkt met dezelfde upgrade.
- Enkele VM's die geen deel uitmaken van een beschikbaarheidsset, worden in batches gebatcheerd om gelijktijdige upgrades voor alle VM's in een abonnement te voorkomen.
Binnen een set
- Alle VM's in een gemeenschappelijke beschikbaarheidsset of schaalset worden niet gelijktijdig bijgewerkt.
- VM's in een gemeenschappelijke beschikbaarheidsset worden bijgewerkt binnen de grenzen van het updatedomein. VM's in meerdere updatedomeinen worden niet gelijktijdig bijgewerkt.
- VM's in een gemeenschappelijke virtuele-machineschaalset worden gegroepeerd in batches en bijgewerkt binnen de grenzen van het updatedomein. Upgradebeleidsregels die zijn gedefinieerd in de schaalset, worden tijdens de upgrade gehonoreerd. Elke groep wordt geüpgraded met behulp van een strategie voor rolling upgrades.
Upgradeproces voor virtuele-machineschaalsets
- Voordat het upgradeproces wordt gestart, zorgt de orchestrator ervoor dat niet meer dan 20% van de VM's in de hele schaalset beschadigd is (om welke reden dan ook).
- De upgrade-orchestrator identificeert de batch vm-exemplaren die moeten worden bijgewerkt. Een upgradebatch kan maximaal 20% van het totale aantal VM's bevatten, afhankelijk van een minimale batchgrootte van één VM. De orchestrator beschouwt de definitie van het upgradebeleid en de beschikbaarheidszones terwijl de batch wordt geïdentificeerd.
- Na de upgrade wordt de vm-status altijd gecontroleerd voordat u naar de volgende batch gaat. Voor schaalsets met geconfigureerde toepassingsstatustests of de toepassingsstatusextensie wordt ook de toepassingsstatus bewaakt. De upgrade wacht maximaal vijf minuten (of de gedefinieerde statustestconfiguratie) voordat de VM in orde is voordat de volgende batch wordt bijgewerkt. Als de status van een virtuele machine na een upgrade niet wordt hersteld, wordt de vorige extensieversie op de virtuele machine standaard opnieuw geïnstalleerd.
- De upgrade-orchestrator houdt ook het percentage VM's bij dat na een upgrade beschadigd raakt. De upgrade stopt als meer dan 20% van de bijgewerkte exemplaren beschadigd raken tijdens het upgradeproces.
Dit proces wordt voortgezet totdat alle exemplaren in de schaalset worden bijgewerkt.
De upgrade-orchestrator van de schaalset controleert de algehele status van de schaalset voordat elke batch wordt bijgewerkt. Tijdens een batchupgrade kunnen andere gelijktijdig geplande of ongeplande onderhoudsactiviteiten de status van uw schaalset-VM's beïnvloeden. Als in dergelijke gevallen meer dan 20% van de exemplaren van de schaalset beschadigd raken, stopt de upgrade van de schaalset aan het einde van de huidige batch.
Ondersteunde extensies
Automatische extensie-upgrade ondersteunt de volgende extensies (en meer worden periodiek toegevoegd):
- Azure Automation Hybrid Worker-extensie: Linux en Windows
- Agent voor afhankelijkheden: Linux en Windows
- Toepassingsstatusextensie: Linux en Windows
- Attestation-extensie voor gasten: Linux en Windows
- Extensie voor gastconfiguratie: Linux en Windows
- Azure Key Vault: Linux en Windows
- Azure Monitor-agent
- Log Analytics-agent voor Linux
- Azure Diagnostics-extensie voor Linux
- Azure Service Fabric: Linux
Automatische extensie-upgrade inschakelen
Als u automatische uitbreidingsupgrade wilt inschakelen voor een extensie, moet u ervoor zorgen dat de eigenschap enableAutomaticUpgrade
is ingesteld true
op en wordt toegevoegd aan elke extensiedefinitie afzonderlijk.
De Azure-portal gebruiken
Gebruik in Azure Portal het deelvenster Extensie om automatische upgrade van extensies op bestaande VM's en virtuele-machineschaalsets in te schakelen.
Ga naar het deelvenster Virtuele machines of virtuele-machinesschaalsets en selecteer de resourcenaam.
Ga onder Instellingen naar het deelvenster Extensies en toepassingen, waarin alle extensies worden weergegeven die op de resource zijn geïnstalleerd. In de kolom Status van automatische upgrade ziet u of de automatische upgrade van de extensie is ingeschakeld, uitgeschakeld of niet wordt ondersteund.
Selecteer de extensienaam om het detailvenster Extensies te openen.
Selecteer Automatische upgrade inschakelen om automatische upgrade van de extensie in te schakelen. Gebruik deze knop om een automatische upgrade uit te schakelen, indien nodig.
Voor virtuele machines
Gebruik de volgende aanroep om automatische extensie-upgrade in te schakelen voor een extensie (in dit voorbeeld de afhankelijkheidsagentextensie) op een Virtuele Azure-machine:
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"
}
}
Voor virtuele-machineschaalsets
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"
}
}
]
}
}
}
}
Notitie
Met deze bewerkingen wordt de enableAutomaticUpgrade
eigenschap true
ingesteld op de virtuele-machineschaalsetresource, maar niet op de onderliggende VM's.
Als de virtuele-machineschaalset de automatische of rolling upgrademodus in het upgradeProfile definieert, wordt de wijziging automatisch doorgegeven aan elke onderliggende VM.
Als de virtuele-machineschaalset de handmatige modus in de upgradeProfile
schaalset definieert, moet u ook elke instantie handmatig bijwerken en de wijziging doorgeven aan elke onderliggende VM.
Uitbreidingsupgrades met meerdere extensies
Een VM of virtuele-machineschaalset kan meerdere extensies hebben waarvoor Automatische extensie-upgrade is ingeschakeld. Dezelfde VM of schaalset kan ook andere extensies hebben zonder automatische extensie-upgrade ingeschakeld.
Als er meerdere uitbreidingsupgrades beschikbaar zijn voor een virtuele machine, kunnen de upgrades samen worden gebatcheerd, maar wordt elke uitbreidingsupgrade afzonderlijk toegepast op een virtuele machine. Een fout op de ene extensie heeft geen invloed op de andere extensies die mogelijk worden ge upgraden. Als er bijvoorbeeld twee extensies zijn gepland voor een upgrade en de eerste extensie-upgrade mislukt, wordt de tweede extensie nog steeds bijgewerkt.
U kunt ook automatische extensie-upgrade toepassen wanneer een VM of virtuele-machineschaalset meerdere extensies heeft geconfigureerd met extensievolgorde. Extensievolgorde is voor de eerste keer dat de VM wordt geïmplementeerd. Toekomstige uitbreidingsupgrades voor een extensie worden onafhankelijk toegepast.
Verschil tussen EnableAutomaticUpgrade en AutoUpgradeMinorVersion
AutoUpgradeMinorVersion
:- Deze eigenschap wordt gebruikt tijdens het maken van de VIRTUELE machine en tijdens het upgraden van de VIRTUELE machine met een nieuwe configuratie.
- Wanneer deze is ingesteld
true
, zorgt dit ervoor dat de meest recente secundaire versie van de extensie automatisch op de VIRTUELE machine wordt geïnstalleerd. - Het overschrijft de
TypeHandlerVersion
met de nieuwste stabiele secundaire versie beschikbaar. - Wanneer u de VM-configuratie bijwerken, als er een nieuwe secundaire versie beschikbaar is, wordt deze beschouwd als een configuratiewijziging. De extensie wordt opnieuw geïnstalleerd met de nieuwste secundaire versie.
- Op deze manier blijven nieuw gemaakte VM's up-to-date met de nieuwste stabiele secundaire extensieversie.
- Als u de extensie handmatig wilt instellen op een specifieke versie, stelt u deze eigenschap in op
false
.
EnableAutomaticUpgrade
:- Deze eigenschap is van invloed op bestaande VM's.
- Dit heeft geen invloed op de versie die is geïnstalleerd tijdens het maken van de VIRTUELE machine.
- Als de VM na het maken niet de meest recente secundaire versie van de extensie uitvoert, schakelt u deze eigenschap in om een automatische upgrade te activeren.
- Upgrades veroorzaken geen herstart van vm's en worden op een veilige manier geïmplementeerd. Mislukte upgrades worden onmiddellijk teruggedraaid om hoge beschikbaarheid en betrouwbaarheid van de service te bieden.
- Bestaande VM's blijven veilig en up-to-date door ze automatisch bij te werken naar de nieuwste secundaire versie.
U wordt aangeraden beide eigenschappen in te schakelen om alle VM's veilig en up-to-date te houden.
Upgrades naar primaire extensieversies worden nooit automatisch uitgevoerd door beide eigenschappen, omdat primaire versies belangrijke wijzigingen kunnen bevatten. U moet handmatig instellen TypeHandlerVersion
op een primaire versie en elke bestaande VM handmatig upgraden naar de nieuwste primaire versie.