Step-by-step: Azure Resource Manager templates and Desired State Configuration

Jag tänkte nu ta och bygga vidare på min mall från förra blogginlägget och konfigurera min server från den mallen med hjälp av Desired State Configuration. Jag gör det mesta i Visual Studio men själva utrullningen av mallen kör jag direkt från Powershell.

Jag ska göra detta:

  1. Skapa och publicera en Desired State Configuration-fil
  2. Lägga till DSC-tilllägget på min virtuella server i min mall
  3. Pekar ut den publicerade DSC-filen och konfigurationen i min mall
  4. Rulla ut mallen
  5. Klart!

Skapa och publicera Desired State Configuration-fil

Jag gör en väldigt enkel konfiguration som ser till att IIS:en installeras på min server. Koden för det ser ut såhär:

Jag packar sedan in min ps1-fil i en zip-fil som jag publicerar på GitHub, jag tycker det är enklast, då ligger den där som en publik fil som min virtuella server i Azure kan ladda ner. Det går även att lägga filen i Azure men då krävs en ”token” för att läsa den.

När filen är på plats ute på Internet är det dags att gå vidare!

Lägga till DSC-tillägget i mallen

I Visual Studio öppnar jag mitt projekt som jag skapade i mitt tidigare blogginlägg. Jag högerklickar bland mina resurser och väljer ”Add New Resource”:

Jag väljer ”Powershell DSC Extension”, ger den ett namn och pekar ut den virtuella server som ska få tillägget:

Peka ut DSC-filen i mallen

Visual Studio lägger då till ett antal parametrar i min mall, det är parametrar som ska peka ut filen som innehåller min DSC-fil och även vilken del av filen som ska implementeras:

Visual Studio lägger även till parametrar för att ladda upp och läsa filer från Azure. Dom parametrarna plockar jag bort för att förenkla det hela lite. Här är ett exempel på hur det kan se ut när parametrarna är utrensade och fått sina korrekta värden:

Jag lägger dessutom till lite extra data på min extension-resurs för den MachineName-parameter som min DSC-konfiguration använder sig av, det såg ni på bilden ovan.

Rulla ut mallen

Jag öppnar nu Powershell ISE och rullar ut mallen, om allt går som det ska ser det ut såhär:

Klart

Jag gör inget mer nu utan surfar bara in på den publika IP-adress jag fått och ser att IIS:en är på plats!

Avslutning

Sammanfattning: Detta blogginlägg visar styrkan i att jobba med båda ARM-mallar och DSC. Du kan både rulla ut och konfigurera dina servrar i Azure på det här sättet. Med kod. Deklarativt. Enkelt. Supersnabbt.