POWERSHELL Desired State Configuration (DSC)
Lukáš Brázda | MCT, MCSA, MCSE |
[email protected]
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
GPO file
Configuration script / MOF file
Target nodes by means of
AD links to OUs, sites, etc.
Configuration specifies node names
Configuration implemented Client-side OS by components
Client-side shell scripts (resources)
Extensible by means of
Complex native programming
Windows PowerShell scripts
Primary configuration target
Windows registry
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 |
[email protected]