Step-by-step: Introduction to Desired State Configuration (Installing IIS with DSC)

Desired State Configuration är ett sätt för dig att definiera hur en server ska vara konfigurerad med hjälp av kod. Du kan sedan applicera den konfigurationen på dina servrar genom att skicka ut din kod till aktuella servrar (PUSH!) eller genom att dina servrar frågar en central server efter sin specifika konfiguration (PULL!).

I det här exempel ska jag visa hur du kan skriva kod som installerar de roller som krävs för att en server ska kunna agera webb-server. Jag ska också fylla en webbsida med innehåll och visa hur du med DSC sedan kan reparera en eventuell skada på servern.

Dom här stegen ska vi gå igenom:

  1. Definiera en server-konfiguration med kod
  2. Generera en mof-fil med hjälp av koden ovan
  3. Trycka ut mof-filen till en server och på så sätt säkerställa att servern konfigureras enligt vår kod
  4. Lägga till lite innehåll på vår webb med DSC
  5. Förstöra vår konfiguration och återställa den med hjälp av DSC

Definiera en server-konfiguration med kod

Vi startar Powershell och kodar ihop en IIS-konfiguration på följande vis:

Generera en mof-fil med hjälp av koden ovan

När vi kör detta script skapas en MOF-fil

Trycka ut mof-filen till en server och på så sätt säkerställa att servern konfigureras enligt vår kod

Nu när vi har en MOF-fil kan vi trycka ut vår konfiguration med följande kommando:

Vi ser här att testerna genomförs och att servern konfigureras enligt vår kod:

Lägga till lite innehåll på vår webb med DSC

Vi utökar vår kod lite och adderar lite innehåll till vår webbsida, såhär:

Det vi gjort är alltså att i vår kod med "File WebContent" säga att det ska finnas en mapp och att den mappen ska innehålla data från en viss källa.

Jag skapar en ny MOF-fil precis som ovan och trycker ut den på samma sätt.

Resultatet blev att min "WWWroot"-mapp fick en fin liten demo-sida som ser ut såhär när jag kör den:

Förstöra vår konfiguration och återställa den med hjälp av DSC

Jag förstör nu min webb genom att radera alla bilder, såhär:

Åh nej! Vad har hänt? Kolla hur det ser ut:

Ingen fara! Jag trycker ut min konfiguration på nytt:

Och 8 sekunder senare...

...så ser min webbsida ut såhär igen:

Avslutning

Hoppas att du inser hur smidigt det kan vara att jobba med konfigurering av din infrastruktur på det här sättet. Med infrastrukturen i molnet och konfigurationen i kod kan server-administrationen helautomatiseras och du kan skryta med att kalla dig för en DevOps-expert! :)

Som fördjupning rekommenderar jag den här kursen på Microsoft Virtual Academy: Advanced PowerShell Desired State Configuration (DSC) and Custom Resources