Updates voor servers met Azure Arc programmatisch beheren
In dit artikel wordt u begeleid bij het proces voor het gebruik van de Azure REST API voor het activeren van een evaluatie en een update-implementatie op uw servers met Azure Arc met Azure Update Manager in Azure. Als u niet eerder met Azure Update Manager werkt en u meer wilt weten, raadpleegt u het overzicht van Update Manager. Als u de Azure REST API wilt gebruiken om virtuele Azure-machines te beheren, raadpleegt u Programmatisch werken met virtuele Azure-machines.
Met Update Manager in Azure kunt u de Azure REST API programmatisch gebruiken voor toegang. Daarnaast kunt u de juiste REST-opdrachten van Azure PowerShell en Azure CLI gebruiken.
Ondersteuning voor Azure REST API voor het beheren van servers met Azure Arc is beschikbaar via de extensie voor virtuele machines van Update Manager.
Update-evaluatie
Als u een update-evaluatie wilt activeren op uw Server met Azure Arc, geeft u de volgende POST-aanvraag op:
POST on `subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/machineName/assessPatches?api-version=2020-08-15-preview`
{
}
Als u de POST-aanvraag wilt opgeven, kunt u de Azure CLI az rest-opdracht gebruiken.
az rest --method post --url https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/machineName/assessPatches?api-version=2020-08-15-preview --body @body.json
De indeling van de aanvraagbody voor versie 2020-08-15 is als volgt:
{
}
Update-implementatie
Als u een update-implementatie wilt activeren voor uw Server met Azure Arc, geeft u de volgende POST-aanvraag op:
POST on `subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/machineName/installPatches?api-version=2020-08-15-preview`
Aanvraagtekst
In de volgende tabel worden de elementen van de aanvraagbody beschreven:
Eigenschappen | Beschrijving |
---|---|
maximumDuration |
De maximale tijdsduur in minuten die de updatebewerking van het besturingssysteem kan duren. Het moet een iso 8601-compatibele duurtekenreeks zijn, zoals PT100M . |
rebootSetting |
Vlag aan status als u de computer opnieuw moet opstarten en als de installatie van de gastbesturingssystemen-update deze nodig heeft voor voltooiing. Acceptabele waarden zijn: IfRequired, NeverReboot, AlwaysReboot . |
windowsParameters |
Parameteropties voor update van gastbesturingssysteem op computer waarop een ondersteund Microsoft Windows Server-besturingssysteem wordt uitgevoerd. |
windowsParameters - classificationsToInclude |
Lijst met categorieën of classificaties van besturingssysteemupdates die moeten worden toegepast, zoals ondersteund en geleverd door het Windows Server-besturingssysteem. Acceptabele waarden zijn: Critical, Security, UpdateRollUp, FeaturePack, ServicePack, Definition, Tools, Update |
windowsParameters - kbNumbersToInclude |
Lijst met WINDOWS Update KB-id's die beschikbaar zijn voor de computer en die u nodig hebt om te installeren. Als u 'classificationsToInclude' hebt opgenomen, worden de BESCHIKBARE KB's in de categorie geïnstalleerd. KbNumbersToInclude is een optie om een lijst met specifieke KB-id's op te geven die u wilt installeren. Bijvoorbeeld: 1234 |
windowsParameters - kbNumbersToExclude |
Lijst met WINDOWS Update KB-id's die beschikbaar zijn voor de computer en die niet mogen worden geïnstalleerd. Als u 'classificationsToInclude' hebt opgenomen, worden de beschikbare KB's in de categorie geïnstalleerd. KbNumbersToExclude is een optie voor het opgeven van een lijst met specifieke KB-id's die u wilt controleren of deze niet worden geïnstalleerd. Bijvoorbeeld: 5678 |
maxPatchPublishDate |
Dit wordt gebruikt om patches te installeren die zijn gepubliceerd op of vóór deze maximale gepubliceerde datum. |
linuxParameters |
Parameteropties voor update van gastbesturingssystemen wanneer op de computer ondersteunde Linux-distributie wordt uitgevoerd |
linuxParameters - classificationsToInclude |
Lijst met categorieën of classificaties van besturingssysteemupdates die moeten worden toegepast, zoals ondersteund en geleverd door pakketbeheer van het Linux-besturingssysteem. Acceptabele waarden zijn: Critical, Security, Others . Zie Linux-pakketbeheer en ondersteuning voor besturingssystemen voor meer informatie. |
linuxParameters - packageNameMasksToInclude |
Lijst met Linux-pakketten die beschikbaar zijn voor de computer en moet worden geïnstalleerd. Als u 'classificationsToInclude' hebt opgenomen, worden de pakketten die beschikbaar zijn in de categorie geïnstalleerd. 'packageNameMasksToInclude' is een optie voor het opgeven van een lijst met pakketten die u wilt installeren. Bijvoorbeeld: mysql, libc=1.0.1.1, kernel* |
linuxParameters - packageNameMasksToExclude |
Lijst met Linux-pakketten die beschikbaar zijn voor de computer en die niet mogen worden geïnstalleerd. Als u 'classificationsToInclude' hebt opgenomen, worden de pakketten die beschikbaar zijn in de categorie geïnstalleerd. 'packageNameMasksToExclude' is een optie voor het opgeven van een lijst met specifieke pakketten die u wilt controleren of niet wordt geïnstalleerd. Bijvoorbeeld: mysql, libc=1.0.1.1, kernel* |
Als u de POST-aanvraag wilt opgeven, kunt u de volgende Azure REST API-aanroep gebruiken met geldige parameters en waarden.
POST on 'subscriptions/subscriptionI/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/machineName/installPatches?api-version=2020-08-15-preview
{
"maximumDuration": "PT120M",
"rebootSetting": "IfRequired",
"windowsParameters": {
"classificationsToInclude": [
"Security",
"UpdateRollup",
"FeaturePack",
"ServicePack"
],
"kbNumbersToInclude": [
"11111111111",
"22222222222222"
],
"kbNumbersToExclude": [
"333333333333",
"55555555555"
]
}
}'
Een onderhoudsconfiguratieschema maken
Als u een onderhoudsconfiguratieschema wilt maken, geeft u de volgende PUT-aanvraag op:
PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Maintenance/maintenanceConfigurations/<maintenanceConfigurationsName>?api-version=2021-09-01-preview`
Aanvraagtekst
In de volgende tabel worden de elementen van de aanvraagbody beschreven:
Eigenschappen | Beschrijving |
---|---|
id |
Volledig gekwalificeerde id van de resource |
location |
Hiermee haalt u de locatie van de resource op of stelt u deze in |
name |
Naam van de resource |
properties.extensionProperties |
Hiermee haalt u extensionProperties van de maintenanceConfiguration op of stelt u deze in |
properties.maintenanceScope |
Hiermee haalt u maintenanceScope van de configuratie op of stelt u deze in |
properties.maintenanceWindow.duration |
Duur van het onderhoudsvenster in HH:mm-formaat. Indien niet opgegeven, wordt de standaardwaarde gebruikt op basis van het opgegeven onderhoudsbereik. Voorbeeld: 05:00. |
properties.maintenanceWindow.expirationDateTime |
Effectieve vervaldatum van het onderhoudsvenster in de notatie JJJJ-MM-DD uu:MM. Het venster wordt gemaakt in de tijdzone die wordt geleverd aan zomertijd op basis van die tijdzone. U moet de vervaldatum instellen op een toekomstige datum. Indien niet opgegeven, wordt deze ingesteld op de maximale datum/tijd 9999-12-31 23:59:59. |
properties.maintenanceWindow.recurEvery |
Snelheid waarmee een onderhoudsvenster naar verwachting opnieuw zal optreden. Het tarief kan worden uitgedrukt als dagelijkse, wekelijkse of maandelijkse schema's. U kunt dagelijkse planningen opmaken als recurEvery: [Frequentie als geheel getal][Dag(en)]. Als er geen frequentie wordt opgegeven, is de standaardfrequentie 1. Voorbeelden van dagelijkse planningen zijn recurEvery: Day, recurEvery: 3Days. Wekelijkse planning wordt opgemaakt als recurEvery: [Frequentie als geheel getal][Week(en)] [Optionele door komma's gescheiden lijst met weekdagen maandag-zondag]. Wekelijkse planningsvoorbeelden zijn recurEvery: 3Weeks, recurEvery: Week zaterdag, zondag. U kunt maandelijkse planningen opmaken als [Frequentie als geheel getal][Maand(en)] [Door komma's gescheiden lijst met maanddagen] of [Frequentie als geheel getal][Maand(en)] [Week van maand (eerste, tweede, derde, vierde, laatste)] [weekdag maandag-zondag]. Maandelijkse schemavoorbeelden zijn recurEvery: Month, recurEvery: 2Months, recurEvery: Month day23, day24, recurEvery: Month Last Sunday, recurEvery: Month Fourth Monday. |
properties.maintenanceWindow.startDateTime |
Effectieve begindatum van het onderhoudsvenster in de notatie JJJJ-MM-DD uu:mm. U kunt de begindatum instellen op de huidige of toekomstige datum. Het venster wordt gemaakt in de opgegeven tijdzone en aangepast aan zomertijd op basis van die tijdzone. |
properties.maintenanceWindow.timeZone |
Naam van de tijdzone. U kunt de lijst met tijdzones verkrijgen door [System.TimeZoneInfo]:GetSystemTimeZones() uit te voeren in PowerShell. Voorbeeld: Pacific Standard Time, UTC, W. Europe Standard Time, Korea Standard Time, Cen. Australië Standaardtijd. |
properties.namespace |
Hiermee haalt u de naamruimte van de resource op of stelt u deze in |
properties.visibility |
Hiermee haalt u de zichtbaarheid van de configuratie op of stelt u deze in. De standaardwaarde is 'Aangepast' |
systemData |
Azure Resource Manager-metagegevens met createdBy- en modifiedBy-gegevens. |
tags |
Hiermee haalt u tags van de resource op of stelt u deze in |
type |
Type resource |
Als u de POST-aanvraag wilt opgeven, kunt u de volgende Azure REST API-aanroep gebruiken met geldige parameters en waarden.
PUT on '/subscriptions/0f55bb56-6089-4c7e-9306-41fb78fc5844/resourceGroups/atscalepatching/providers/Microsoft.Maintenance/maintenanceConfigurations/TestAzureInGuestAdv2?api-version=2021-09-01-preview
{
"location": "eastus2euap",
"properties": {
"namespace": null,
"extensionProperties": {
"InGuestPatchMode" : "User"
},
"maintenanceScope": "InGuestPatch",
"maintenanceWindow": {
"startDateTime": "2021-08-21 01:18",
"expirationDateTime": "2221-05-19 03:30",
"duration": "01:30",
"timeZone": "India Standard Time",
"recurEvery": "Day"
},
"visibility": "Custom",
"installPatches": {
"rebootSetting": "IfRequired",
"windowsParameters": {
"classificationsToInclude": [
"Security",
"Critical",
"UpdateRollup"
]
},
"linuxParameters": {
"classificationsToInclude": [
"Other"
]
}
}
}
}'
Een VIRTUELE machine koppelen aan een planning
Als u een VIRTUELE machine wilt koppelen aan een onderhoudsconfiguratieschema, geeft u de volgende PUT-aanvraag op:
PUT on `<ARC or Azure VM resourceId>/providers/Microsoft.Maintenance/configurationAssignments/<configurationAssignment name>?api-version=2021-09-01-preview`
Als u de PUT-aanvraag wilt opgeven, kunt u de volgende Azure REST API-aanroep gebruiken met geldige parameters en waarden.
PUT on '/subscriptions/0f55bb56-6089-4c7e-9306-41fb78fc5844/resourceGroups/atscalepatching/providers/Microsoft.Compute/virtualMachines/win-atscalepatching-1/providers/Microsoft.Maintenance/configurationAssignments/TestAzureInGuestAdv?api-version=2021-09-01-preview
{
"properties": {
"maintenanceConfigurationId": "/subscriptions/0f55bb56-6089-4c7e-9306-41fb78fc5844/resourcegroups/atscalepatching/providers/Microsoft.Maintenance/maintenanceConfigurations/TestAzureInGuestIntermediate2"
},
"location": "eastus2euap"
}'
Machine uit de planning verwijderen
Als u een machine uit de planning wilt verwijderen, haalt u alle configuratietoewijzingsnamen op voor de computer die u hebt gemaakt om de machine te koppelen aan de huidige planning uit Azure Resource Graph, zoals vermeld:
maintenanceresources
| where type =~ "microsoft.maintenance/configurationassignments"
| where properties.maintenanceConfigurationId =~ "<maintenance configuration Resource ID>"
| where properties.resourceId =~ "<Machine Resource Id>"
| project name, id
Nadat u de bovenstaande naam hebt verkregen, verwijdert u de configuratietoewijzing door de DELETE-aanvraag te volgen -
DELETE on `<ARC or Azure VM resourceId>/providers/Microsoft.Maintenance/configurationAssignments/<configurationAssignment name>?api-version=2021-09-01-preview`
Volgende stappen
- Zie querylogboeken om de update-evaluatie- en implementatielogboeken weer te geven die zijn gegenereerd door Update Manager.
- Zie Updatebeheer oplossen om problemen op te lossen.