Managing Windows Systems with Puppet - PuppetConf 2013
-
Upload
puppet-labs -
Category
Technology
-
view
112 -
download
0
description
Transcript of Managing Windows Systems with Puppet - PuppetConf 2013
![Page 1: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/1.jpg)
Managing Windows Systems with PuppetJames SweenyProfessional Services | Puppet Labs [email protected] on irc.freenode.net@jsween_y
Friday, August 23, 13
![Page 2: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/2.jpg)
puppetconf.com #puppetconf
Introduction
• Windows Agent overview
• Puppet resource model overview
• Managing Linux vs. managing Windows
• Windows specific challenges and solutions
• Windows oddities that will bite you
Friday, August 23, 13
![Page 3: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/3.jpg)
puppetconf.com #puppetconf
Supported Platforms
• Server 2003 and 2003 R2
• Server 2008
• Windows 7/Server 2008 R2
• Windows Server 2012
Friday, August 23, 13
![Page 4: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/4.jpg)
puppetconf.com #puppetconf
Installation
Friday, August 23, 13
![Page 5: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/5.jpg)
puppetconf.com #puppetconf
msiexec /qn /l*v install.log /i puppet-3.2.4.msi
INSTALLDIR="C:\Program Files\Puppet Labs\Puppet Enterprise"
PUPPET_MASTER_SERVER="master.domain.com"
PUPPET_AGENT_CERTNAME="agenthost.domain.com"
Friday, August 23, 13
![Page 6: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/6.jpg)
puppetconf.com #puppetconf
Friday, August 23, 13
![Page 7: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/7.jpg)
puppetconf.com #puppetconf
• C:\Program Files (x86)\Puppet Labs\Puppet
– \sys– \bin
Friday, August 23, 13
![Page 8: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/8.jpg)
puppetconf.com #puppetconf
• C:\ProgramData\PuppetLabs
- or -
• C:\Documents and Settings\All Users\Application Data\PuppetLabs
– \puppet\var• cached data• plugins
– \puppet\etc• puppet.conf• ssl data
Friday, August 23, 13
![Page 9: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/9.jpg)
puppetconf.com #puppetconf
Anatomy of a Puppet run
Friday, August 23, 13
![Page 10: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/10.jpg)
puppetconf.com #puppetconf
ResourcesThe fundamental building block
Friday, August 23, 13
![Page 11: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/11.jpg)
puppetconf.com #puppetconf
Resource Abstraction
Friday, August 23, 13
![Page 12: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/12.jpg)
puppetconf.com #puppetconf
Providers
Friday, August 23, 13
![Page 13: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/13.jpg)
puppetconf.com #puppetconf
Linux Resources
Friday, August 23, 13
![Page 14: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/14.jpg)
puppetconf.com #puppetconf
So what makes Windows special?
Friday, August 23, 13
![Page 15: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/15.jpg)
puppetconf.com #puppetconf
Host Resource
Friday, August 23, 13
![Page 16: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/16.jpg)
puppetconf.com #puppetconf
Service Resource
Friday, August 23, 13
![Page 17: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/17.jpg)
puppetconf.com #puppetconf
Windows Service
Friday, August 23, 13
![Page 18: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/18.jpg)
puppetconf.com #puppetconf
Cron Resource
Friday, August 23, 13
![Page 19: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/19.jpg)
puppetconf.com #puppetconf
Cron Scheduled Task Resource
Friday, August 23, 13
![Page 20: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/20.jpg)
puppetconf.com #puppetconf
Files
• Line Endings
• Paths
Always ask yourself: “Where is this evaluated”?
Friday, August 23, 13
![Page 21: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/21.jpg)
puppetconf.com #puppetconf
Files - Paths
• 'C:\WINDOWS\system32'
• 'C:/WINDOWS/system32'
• "C:\\WINDOWS\\system32"
All are OK, but forward slashes are safer...
Friday, August 23, 13
![Page 22: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/22.jpg)
puppetconf.com #puppetconf
Files - Paths
. . . except when a Windows program will read them.
Friday, August 23, 13
![Page 23: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/23.jpg)
puppetconf.com #puppetconf
Files - Line Endings^M^M^M
• CRLF vs. LF^M
• Windows uses two characters for^M newlines^M
• Puppet master always runs in Linux^M
Friday, August 23, 13
![Page 24: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/24.jpg)
puppetconf.com #puppetconf
Files - Line Endings
• File resources are written in binary
• source with Windows newlines will be preserved
• content will always generate Linux newlines, unless you add them
Friday, August 23, 13
![Page 25: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/25.jpg)
puppetconf.com #puppetconf
File Resource - Permissions
• Still specified with Unix-style modes
• Mode must be specified if owner/group are
Friday, August 23, 13
![Page 26: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/26.jpg)
puppetconf.com #puppetconf
Friday, August 23, 13
![Page 27: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/27.jpg)
puppetconf.com #puppetconf
File Resource - Permissions
• Be careful of case
• Can't set SID
Friday, August 23, 13
![Page 28: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/28.jpg)
puppetconf.com #puppetconf
Exec Resource
Friday, August 23, 13
![Page 29: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/29.jpg)
puppetconf.com #puppetconf
• Execs run without a shell
Friday, August 23, 13
![Page 30: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/30.jpg)
puppetconf.com #puppetconf
32-bit Redirection
• %WINDIR%\Sysnative
• %WINDIR%\System32
Friday, August 23, 13
![Page 31: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/31.jpg)
puppetconf.com #puppetconf
Powershell Exec
Friday, August 23, 13
![Page 32: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/32.jpg)
puppetconf.com #puppetconf
Powershell Exec Provider
Friday, August 23, 13
![Page 33: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/33.jpg)
puppetconf.com #puppetconf
ModulesModules are the best way to organize your code and extend core Puppet
forge.puppetlabs.com
puppet module search <keyword>
puppet module install <author-module>
Friday, August 23, 13
![Page 34: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/34.jpg)
puppetconf.com #puppetconf
puppetlabs/registry
Friday, August 23, 13
![Page 35: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/35.jpg)
puppetconf.com #puppetconf
puppetlabs/registry
Friday, August 23, 13
![Page 36: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/36.jpg)
puppetconf.com #puppetconf
puppetlabs/registry
Friday, August 23, 13
![Page 37: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/37.jpg)
puppetconf.com #puppetconf
adenning/winntp
Friday, August 23, 13
![Page 38: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/38.jpg)
puppetconf.com #puppetconf
simondean/net_share
Friday, August 23, 13
![Page 39: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/39.jpg)
puppetconf.com #puppetconf
trlinkin/domain_membership
Friday, August 23, 13
![Page 40: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/40.jpg)
puppetconf.com #puppetconf
More Windows Modules
• puppetlabs/mssql
• simondean/iis
• adenning/winfacts
• jonnyx/msuac
Search 'windows' on forge.puppetlabs.com
Friday, August 23, 13
![Page 41: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/41.jpg)
puppetconf.com #puppetconf
MSI Package Provider
Friday, August 23, 13
![Page 42: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/42.jpg)
puppetconf.com #puppetconf
MSI Package Provider
Friday, August 23, 13
![Page 43: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/43.jpg)
puppetconf.com #puppetconf
Windows Package Provider
• Deprecates msi provider
• Available in Puppet 3.0
• Backports available for Puppet 2.7
• Supports .exe and .msi seamlessly
Friday, August 23, 13
![Page 44: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/44.jpg)
puppetconf.com #puppetconf
Centralized Packages
• Versionable and Upgradable
• Linux has it easy
• yum
• apt-get
• zypper
Friday, August 23, 13
![Page 45: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/45.jpg)
puppetconf.com #puppetconf
Chocolately
• Third party Windows package manager
• http://chocolatey.org/
cinst my_package
See Rob Reynolds tomorrow in the Fountain Room at 5:10PM!
Friday, August 23, 13
![Page 46: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/46.jpg)
puppetconf.com #puppetconf
rismoney/chocolatey
Friday, August 23, 13
![Page 47: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/47.jpg)
puppetconf.com #puppetconf
DISM
• Server 2008+ Roles and Features
• Install Windows server roles such as
• DNS Server
• DHCP Server
• IIS
Friday, August 23, 13
![Page 48: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/48.jpg)
puppetconf.com #puppetconf
puppetlabs/dism
Friday, August 23, 13
![Page 49: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/49.jpg)
puppetconf.com #puppetconf
Rebooting
Friday, August 23, 13
![Page 50: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/50.jpg)
puppetconf.com #puppetconf
Pending Reboots
Friday, August 23, 13
![Page 51: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/51.jpg)
puppetconf.com #puppetconf
Pending Reboots
Friday, August 23, 13
![Page 52: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/52.jpg)
puppetconf.com #puppetconf
Windows Reboot
Friday, August 23, 13
![Page 53: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/53.jpg)
puppetconf.com #puppetconf
Additional Resources
• http://docs.puppetlabs.com/windows
• http://docs.puppetlabs.com/references/latest/type.html
• http://puppetlabs.com/blog/part-top-questions-on-puppet-and-windows/
• Puppet Types and Providers by Dan Bode and Nan Liu
Friday, August 23, 13
![Page 54: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/54.jpg)
Thank You - Questions?James SweenyProfessional Services | Puppet Labs [email protected] on irc.freenode.net@jsween_y
Collaborate. Automate. Ship.
Friday, August 23, 13
![Page 55: Managing Windows Systems with Puppet - PuppetConf 2013](https://reader033.fdocuments.in/reader033/viewer/2022061300/54c8ceef4a7959fd6b8b4579/html5/thumbnails/55.jpg)
Follow us on Twitter @puppetlabs
youtube.com/puppetlabsinc
slideshare.net/puppetlabs
Collaborate. Automate. Ship.
Friday, August 23, 13