Delen via


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.

Bijgewerkte evaluatie

Als u een update-evaluatie wilt activeren op uw Server met Azure Arc, geeft u de volgende POST-aanvraag op:

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

Implementatie van updates

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:

Eigenschap 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 om aan te geven of het systeem opnieuw moet worden opgestart, geeft aan of Azure Update Manager (AUM) het systeem opnieuw moet opstarten als onderdeel van de updateopdracht. 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 binnen de categorie geïnstalleerd. 'kbNumbersToInclude' is een optie om een lijst met specifieke KB-id’s op te geven die u naast de reeds geplande installaties wilt installeren. Bijvoorbeeld: 1234
windowsParameters - kbNumbersToExclude Lijst met KB-id's van Windows Update die beschikbaar zijn voor de computer en die niet moeten worden geïnstalleerd. Als u 'classificationsToInclude' hebt opgenomen, worden de KB's die in de categorie beschikbaar zijn geïnstalleerd. 'kbNumbersToExclude' is een optie voor het opgeven van een lijst met specifieke KB-id's waarvoor u wilt zorgen dat 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 om een lijst van extra pakketten aan te geven die u wilt installeren, bovenop de standaardinstallatie. 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 om ervoor te zorgen dat ze niet worden geïnstalleerd. Bijvoorbeeld: mysql, libc=1.0.1.1, kernel*

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/Test/providers/Microsoft.HybridCompute/machines/WIN-8/installPatches?api-version=2020-08-15-preview @body.json

De indeling van de aanvraagbody voor versie 2020-08-15 is als volgt:

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

Eigenschap Beschrijving
id Volledig gekwalificeerde identificatie van de bron
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 de 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 Geldige vervaldatum van het onderhoudsvenster in het formaat JJJJ-MM-DD uu:MM. Het venster wordt gemaakt binnen de tijdzone die wordt gehanteerd inclusief zomertijd volgens 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 Frequentie waarmee een onderhoudsvenster naar verwachting zal terugkeren. 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 planningen worden 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 schema voorbeelden zijn elke: maand, elke: 2 maanden, elke: maand op dag 23, dag 24, elke: maand op de laatste zondag, elke: maand op de vierde maandag.
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 van de bron
az maintenance configuration create \
   --resource-group myMaintenanceRG \
   --resource-name myConfig \
   --maintenance-scope InGuestPatch \
   --location eastus \
   --maintenance-window-duration "02:00" \
   --maintenance-window-recur-every "20days" \
   --maintenance-window-start-date-time "2022-12-30 07:00" \
   --maintenance-window-time-zone "Pacific Standard Time" \
   --install-patches-linux-parameters package-name-masks-to-exclude="ppt" package-name-masks-to-include="apt" classifications-to-include="Other" \
   --install-patches-windows-parameters kb-numbers-to-exclude="KB123456" kb-numbers-to-include="KB123456" classifications-to-include="FeaturePack" \
   --reboot-setting "IfRequired" \
   --extension-properties InGuestPatchMode="User"

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`
az maintenance assignment create \
   --resource-group myMaintenanceRG \
   --location eastus \
   --resource-name myVM \
   --resource-type virtualMachines \
   --provider-name Microsoft.Compute \
   --configuration-assignment-name myConfig \
   --maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myMaintenanceRG/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig"

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:

az maintenance configuration delete \
   --resource-group myMaintenanceRG \
   --location eastus \
   --resource-name myVM \
   --resource-type virtualMachines \
   --provider-name Microsoft.Compute \
   --configuration-assignment-name myConfig \
   --maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myMaintenanceRG/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig"

Volgende stappen