POWERSHELL Desired State Configuration (DSC) Lukáš Brázda MCT, MCSA, MCSE lukas@brazda.org
Obsah přednášky Úvod Základní komponenty DSC Demo
Úvod
Desired State Configuration? S DSC se nestaráte o konfiguraci serveru, ale o definování konfigurace. V některých ohledech DSC eliminuje potřebu administrátorů učit se PowerShell. DSC bude do budoucna primárním rozhraním pro správu MS produktů a služeb.
Co je DSC? Nová platforma pro správu systémů, služeb, atd. Založená na PowerShellu 4.0 a jeho syntaxi Používá konfigurační soubory Tyto následně aplikuje na cílové systémy
Pomocí DSC lze Povolovat / zakazovat role nebo fíčury Konfigurovat nastavení v registrech Spravovat soubory, adresáře nebo archivy Konfigurovat služby Spravovat uživatele a skupiny Spravovat procesy Atp.
DSC ale umí i Konfigurovat Microsoft Azure Spravovat Microsoft Exchange Server Konfigurovat WordPress Spravovat SQL Server Pracovat s SCOM Spravovat Windows role: Hyper-V a VM Active Directory IIS atp.
Základní komponenty DSC
DSC Requirements Windows Management Framework 4.0.NET Framework 4.5 KB2883200 (pro WS2012 R2 a Windows 8.1) PowerShell Remoting
PowerShell + Remoting DSC je založeno na PowerShellu v4.0 Ten je nativně pouze ve WS2012 R2 a W8.1 Do starších systému nutno doinstalovat: WS2008 R2 Windows 7 Remoting je povolen defaultně na W8+ a WS2012+ Na starších systémech povolit: WinRM quickconfig Enable-PSRemoting
Klíčové slovo Configuration DSC představilo nové klíčové slovo PowerShellu Toto slovo uvozuje blok PowerShell skriptu Tento skript (PS1 soubor) definuje konfiguraci
Modul PSDesiredStateConfiguration Ideálním nástrojem je PowerShell ISE
DSC Resource Get-DSCResource Defaultně k dispozici 12 zdrojů Další zdroje lze získat: Od MS (experimentální, písmeno x ) Od komunity (např. na Githubu, písmeno c ) Poslední MS Wave 9 = 160 zdrojů! C:\Program Files\WindowsPowerShell\Modules https://gallery.technet.microsoft.com/scriptcenter/dsc-resource-kit-all-c449312d https://github.com/powershellorg/dsc
DSC Konfigurační soubor (*.PS1)
MOF soubor DSC je založeno na standardech MOF: Management File Object Standard napříč různými platformami MOF soubor je výsledkem autorizační fáze V zásadě jde o textový soubor Obsahuje konfigurační data Teprve pomocí něj, se konfigurace může aplikovat MOF soubor nemusí být vyprodukován v PS Naopak PS může vyprodukovat MOF pro ne-ms systém
DSC Local Configuration Manager (LSC) Komponenta, která má na starosti aplikování změn Běží na všech cílových nodech
Aplikování DSC konfigurace PUSH model Konfigurace v MOF souboru je tlačena na klienta Většinou ruční spouštění Start-DSCConfiguration ComputerName Používá PowerShell Remoting PULL model Konfigurační MOF soubory jsou uloženy na jednom místě Servery si samy odtud konfiguraci aplikují Defaultní interval 30 minut Obtížnější na nasazení SMB nebo HTTP(s)
DEMO
PULL model
Jak nakonfigurovat PULL model? Defaultní X
Nepřipomíná to něco? Srovnání s GPO Feature Group Policy DSC Configuration stored in Target nodes by means of Configuration implemented by Extensible by means of Primary configuration target GPO file AD links to OUs, sites, etc. Client-side OS components Complex native programming Windows registry Configuration script / MOF file Configuration specifies node names Client-side shell scripts (resources) Windows PowerShell scripts Anything Windows PowerShell can touch Persistence Settings reapply each time Settings are persistent Number of configurations per node As many GPOs as you want to link One
DSC Resources Defaultní X experimentální C komunitní Můžete si psát svoje vlastní They re Script Modules A DSC resource is just a Windows PowerShell script module (.psm1) that implements three pre-defined functions. You deploy resources by file copy or via a pull server. Yeah, you can write your own, and it s easy. http://github.com/powershellorg/dsc even has some communityauthored examples (many of which come from StackExchange s production environment!) Microsoft s DSC Resource Kit provides around a dozen additional resources on top of the ones built into the operating system.
POWERSHELL Desired State Configuration (DSC) Lukáš Brázda MCT, MCSA, MCSE lukas@brazda.org