Bonetics: Mastering Puppet Workshop

6,053 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
6,053
On SlideShare
0
From Embeds
0
Number of Embeds
85
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Bonetics: Mastering Puppet Workshop

  1. 1. Your ultimate walkthroughMastering puppets
  2. 2. Menu de jour1. Intro2. Puppet overview3. Environment setup4. Implementation5. Review6. Happy end
  3. 3. Intro• Why configuration provisioning?• Available solutions• Which one to select, why?• How to implement it?
  4. 4. Why configuration provisioning?• It’s DRY• Law enforcement• Easier change management• Easier system scaling• Better mission control
  5. 5. Available solutions• puppetlabs.com (Ruby)• cfengine.com (C)• quattor.org (Perl, Python)• opscode.com/chef (Ruby)• … and many others
  6. 6. Which one to select, why?• Puppet– nicely designed– straightforward– Integrations with AWS, Openstack, …– backed by Google Ventures, Cisco, Vmware– And it’s Ruby of course
  7. 7. How to implement it?• Install prebuilt packages• Make it version controlled• Integrate with project management tool
  8. 8. Puppet overview• client/server software• They call it agent/master
  9. 9. Master directory structure• /etc/puppet– /etc/puppet/puppet.conf– /etc/puppet/manifests– /etc/puppet/modules– /etc/puppet/autosign.conf
  10. 10. Agent configuration• /etc/puppet/puppet.confserver=[hostname/ip]report=[true/false]runinterval=[n]s
  11. 11. Manifests syntaxclass cms::sudo {## /etc/sudoers configuration file#file { /etc/sudoers:source => puppet:///modules/cms/etc/sudoers,owner => root,group => root,mode => 440,}}
  12. 12. Manifests syntax vol. #2service { apache2:ensure => running,enable => true,hasstatus => true,hasrestart => true,require => [Mount[/mnt/www-data],Mount[/mnt/archive],File[/etc/apache2],File[/opt/cache],File[/tmp/huste],File[/tmp/topstar],File[/tmp/hcslovan],File[/usr/local/lib/php5/php-cgi-wrapper],]}
  13. 13. Some resource types• package• file• service• cron• mount• exec
  14. 14. Online docs• Reference manualhttp://docs.puppetlabs.com/references/3.1.latest/• Resource typeshttp://docs.puppetlabs.com/references/3.1.latest/type.html
  15. 15. Environment setup• Groups of three• Sys admin (lead)• Web admin• Db admin
  16. 16. Implementation• required packages: vim, tcpdump, mtr• Web server: apache2 + php (mod/cgi)• Mysql server: mysql5
  17. 17. Go ahead …• Ask for help when neededhttp://192.168.122.100/a.txthttp://192.168.122.100/b.txthttp://192.168.122.100/c.txt…
  18. 18. Review
  19. 19. Happy end• Real-world implementation show off
  20. 20. Questions?
  21. 21. More questions?Matúš Bursamatus.bursa@websupport.skPeter Mihálikpeter.mihalik@bonet.sk

×