Een wijziging plannen van de Desired State Configuration-extensie naar de Azure-machineconfiguratie
Machineconfiguratie is de nieuwste implementatie van functionaliteit die is geleverd door de PowerShell DSC-extensie (Desired State Configuration) voor virtuele machines in Azure. Indien mogelijk maakt u een planning om uw inhoud en machines naar de nieuwe service te verplaatsen. Dit artikel bevat richtlijnen voor het ontwikkelen van een migratiestrategie.
Nieuwe functies in machineconfiguratie:
- Geavanceerde rapportage via Azure Resource Graph, inclusief resource-id en status
- Meerdere configuraties voor dezelfde machine beheren
- Wanneer machines van de gewenste status afdrijven, bepaalt u wanneer herstel plaatsvindt
Voordat u begint, is het een goed idee om de conceptuele overzichtsinformatie te lezen op de pagina met de machineconfiguratie van Azure Policy.
Belangrijke verschillen
Machineconfiguratie maakt gebruik van DSC-versie 2. DSC-extensie maakt gebruik van DSC-versie 1. De implementaties zijn gescheiden. Er is echter geen conflictdetectie. Het is niet raadzaam om beide platforms te gebruiken om dezelfde configuratie te beheren.
Configuraties worden geïmplementeerd via de DSC-extensie in een push-model, waarbij de bewerking asynchroon wordt voltooid. De implementatie wordt pas geretourneerd als de configuratie is voltooid op de virtuele machine. Na de implementatie wordt er geen verdere informatie geretourneerd naar Resource Manager. De bewaking en drift worden beheerd binnen de machine.
Machineconfiguratie verwerkt configuraties in een pull-model. De extensie wordt geïmplementeerd op een virtuele machine en vervolgens worden taken uitgevoerd op basis van de details van de configuratietoewijzing van de machine. Het is niet mogelijk om de status weer te geven terwijl de configuratie in realtime wordt toegepast op de computer. Het is mogelijk om drift van Azure Resource Manager te bekijken en te corrigeren nadat de configuratie is toegepast.
De DSC-extensie bevat privateSettings waar geheimen kunnen worden doorgegeven aan de configuratie, zoals wachtwoorden of gedeelde sleutels. Geheimenbeheer is nog niet geïmplementeerd voor machineconfiguratie.
De computerconfiguratie wordt uitgevoerd in PowerShell versie 7.2, terwijl de DSC-extensie wordt uitgevoerd in Windows PowerShell 5.1. Hoewel de meeste resources naar verwachting werken vanwege impliciete externe communicatie , is het een goed idee om bestaande resources te testen voordat ze worden gebruikt.
Omdat de DSC-extensie de Lokale Configuration Manager-service in Windows beheert, kunt u bepalen of opnieuw opstarten is toegestaan in eigenschappen van de extensie. Als onderdeel van de overstap naar machineconfiguratie wilt u opnieuw opstarten beheren met Behulp van Azure Resource Manager.
Het zip-bestandartefact dat door de DSC-extensie wordt gebruikt, is niet compatibel met de azure-machineconfiguratie. Plan het gebruik van de hulpprogramma's voor het ontwerpen van machineconfiguraties om de configuratie en de vereiste PowerShell-modules opnieuw te verpakken en opnieuw te publiceren naar Azure Storage.
Inzicht in migratie
De beste methode voor migratie is om eerst inhoud opnieuw te maken, te testen en opnieuw te implementeren en vervolgens de nieuwe oplossing voor nieuwe machines te gebruiken.
De verwachte migratiestappen zijn:
- Download en vouw het
.zip
pakket uit dat wordt gebruikt voor de DSC-extensie. - Bekijk het MOF-bestand (Managed Object Format) en de resources om inzicht te krijgen in het scenario.
- Breng de vereiste wijzigingen aan in de configuratie of resources.
- Gebruik de ontwerpmodule voor machineconfiguratie om een nieuw pakket te maken, testen en publiceren.
- Computerconfiguratie gebruiken voor toekomstige implementaties in plaats van DSC-extensie.
Overweeg complexe configuratiebestanden op te vouwen
Machineconfiguratie kan meerdere configuraties per machine beheren. Veel configuraties die zijn geschreven voor de DSC-extensie, hebben ervan uitgegaan dat de beperking van het beheren van één configuratie per machine. Om te profiteren van de uitgebreide mogelijkheden die worden geboden door computerconfiguratie, kunnen grote configuratiebestanden worden onderverdeeld in veel kleinere configuraties waarbij elk een specifiek scenario afhandelt.
Er is geen indeling in de machineconfiguratie om de volgorde van de sortering van configuraties te bepalen. Bewaar stappen in een configuratie samen in één pakket als ze opeenvolgend moeten plaatsvinden.
Inhoud testen in azure-machineconfiguratie
Lees de pagina Aangepaste machineconfiguratiepakketartefacten maken om te evalueren of uw inhoud van de DSC-extensie kan worden gebruikt met computerconfiguratie.
Wanneer u bij de stap Een configuratie maakt, gebruikt u het MOF-bestand van het DSC-extensiepakket als basis voor het maken van een nieuw MOF-bestand en aangepaste DSC-resources. U moet de aangepaste PowerShell-modules beschikbaar hebben voordat $env:PSModulePath
u een machineconfiguratiepakket kunt maken.
Implementatiesjablonen bijwerken
Als uw implementatiesjablonen de DSC-extensie bevatten (zie voorbeelden), zijn er twee wijzigingen vereist.
Vervang eerst de DSC-extensie door de extensie voor de machineconfiguratiefunctie.
Voeg vervolgens een machineconfiguratietoewijzing toe die het nieuwe configuratiepakket (en hash-waarde) koppelt aan de machine.
Moet ik de eigenschap Redenen toevoegen aan aangepaste resources?
Het implementeren van de eigenschap Redenen biedt een betere ervaring bij het weergeven van de resultaten van een configuratietoewijzing vanuit Azure Portal. Als de Get
methode in een module geen redenen bevat, wordt algemene uitvoer geretourneerd met details van de eigenschappen die door de Get
methode worden geretourneerd. Daarom is het optioneel voor migratie.
Een configuratie verwijderen waaraan de DSC-extensie is toegewezen
In eerdere versies van DSC heeft de DSC-extensie een configuratie toegewezen via Local Configuration Manager (LCM). Het is raadzaam om de DSC-extensie te verwijderen en de LCM opnieuw in te stellen.
Belangrijk
Als u een configuratie verwijdert in Local Configuration Manager, worden de instellingen die door de configuratie zijn ingesteld, niet teruggedraaid. De actie van het verwijderen van de configuratie zorgt ervoor dat de LCM stopt met het beheren van de toegewezen configuratie. De instellingen blijven aanwezig.
Gebruik de Remove-DscConfigurationDocument
opdracht zoals beschreven in Remove-DscConfigurationDocument
Volgende stappen
- Een aangepast machineconfiguratiepakket ontwikkelen.
- Gebruik de GuestConfiguration-module om een Azure Policy-definitie te maken voor beheer op schaal van uw omgeving.
- Wijs de aangepaste beleidsdefinitie toe met behulp Azure Portal.