Deployment Provisioning


Published on

Presentation by Brian Stoltz

Published in: Technology, Spiritual
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Deployment Provisioning

  1. 1. Automatic Provisioning and Configuration By Brian Stolz @tecnobrat -
  2. 2. Who am I? Developer at Articulate Creator of Proud Dad of an 8 year old son. ! Soooo .. I need automation! @tecnobrat
  3. 3. What is automatic provisioning and configuration? Benefits: • Provision new machines with a “click of a button”. • Continuous configuration from a central location, change configs once.
  4. 4. What tools do I use?
  5. 5. Why • Supports IP failover, allowing me to set up cluster pairs to ensure maximum redundancy. • Supports StackScripts to bootstrap machine. • High bandwidth limits.
  6. 6. What is • Define classes to complete automated tasks. • Same concept as “Chef”. • Can be used in standalone or in a Server/Client role using PuppetMaster. • Used in Boxen!
  7. 7. Puppet Classes • Think of it like a recipe. • Simple, yet powerful. • Accept “parameters”. • Many community provided classes available.
  8. 8. What is • WebUI for Puppet (and more). • Rails project, open source. • Basic reporting and monitoring.
  9. 9. My StackScript • Simple bash script that runs when machine first boots. • Configures hostname. • Installs puppet. • Adds puppetmaster server hostname to /etc/ puppet/puppet.conf • Runs `puppet agent --waitforcert 60 --test`
  10. 10. Spawn a New Server Use our StackScript!
  11. 11. After Creating the Server • Server boots. • Installs puppet. • Sends certificate request. Now what?
  12. 12. Use Foreman to Accept Certificate Request • Log in to Foreman. • Go to certificate requests. • Sign the certificate.
  13. 13. Add Host to Hostgroup
  14. 14. Wait, Whats a Hostgroup? • Specifies a group of puppet classes to run on that Host Group. • Can still add individual classes as well.
  15. 15. Smart Parameters Pass Host specific parameters to a puppet class Defaults: Overrides
  16. 16. Now What? • The puppet client on the new Host contacts the PuppetMaster and receives a new catalog, with the Smart Parameter settings. • Puppet runs that catalog. • Puppet reports back to foreman.
  17. 17. Wait, It Reports Back? Yuuuup!
  18. 18. What About Errors? Those are handled too!
  19. 19. What Does it Configure for MumbleBoxes? • MySQL with Master-Master replication. • Mumble daemon including SSL certs. • Heartbeat cluster with IP failover. • Static webserver to redirect web traffic to our main website. • Automatic monitoring using Icinga (Nagios port).
  20. 20. How Long Does it Take? • About 5 minutes from the time we setup the Smart Parameters. • 10 minutes or so end-to-end. • SSL authentication, Hostgroup setting, and Smart Parameters are the only “hands on” part.
  21. 21. What Could be Better? • Puppet has “facts” which we could auto configure some of the base details such as networking. • Better “sharing” of Smart parameters, we set the IP several times right now. • Requires a reboot after firsttime configuration. I am sure I could make that unneeded.
  22. 22. What Else Can I Do With Foreman? • Extremely powerful. • Automatic provisioning of EC2, VMWare, Ovirt, Rackspace Cloud, etc. • DHCP, DNS, TFTP, and PXE-based unattended installations. • Full support for portioning schemes, network configuration, multiple OS’s, etc.
  23. 23. Thanks! Email:! Twitter: @tecnobrat