i've installed puppet! now what?
Post on 10-May-2015
Embed Size (px)
DESCRIPTIONAfter getting Puppet installed, what are the things you need to consider to make use of your environment? This presentation talks about using version control, a strong workflow, and methods to organize your modules. A git repo with the example module module setup is available at https://github.com/adamcrews/pug-environments
- 1.Ive Installed Puppet! Now What?
2. Hour 1 Youve run the puppet installer, Youve installed agents on your nodes... Now what? Version Control, Workflow, Organization 3. Version Control Have you ever: Made a change to code, realised it was a mistake and wanted to revert? Lost code or had a backup that was too old? Wanted to see the difference between various versions of your code? Wanted to prove that a particular change broke or fixed a piece of code? Wanted to review the history of some code? Wanted to submit a change to someone else's code? Wanted to share your code, or let other people work on your code? Wanted to see how much work is being done, where, when, and by whom? Wanted to experiment with a new feature without interfering with working code? 4. Workflow R10K Deployment tool for Puppet Leverages git for quick and reliable updates As many environments as you want Test your code before production Robust error handling 5. Organization Multiple Masters Pros Separate out Production from Development Complete separation of all aspects of the environment. Security separation so pre-release code cannot leak into production. Upgrade/downgrade components without causing disruption 6. Organization Multiple Masters Cons You must ensure you have a good code flow between masters Risk of environment drift between the silos Data is not shared between silos 7. Organization Hiera Hiera allows data separation Data is separate from code logic Easy task delegation Single source of truth for data Ability to collect data from external sources, but present in a consistent way. 8. Organization Hiera Allows you to use modules directly from the Forge: 1. 2. 3. 4. 5.Download the module (or use r10k) Add data to Hiera Classify on a node ??? Profit 9. Organization Roles and Profiles Glue between nodes, Hiera, and modules Avoids magic Hiera data Separate business logic from technology stack Modules stay generic Nodes can be classified using one include 10. Organization Roles and Profiles Profiles Configuration of generic modules Business logic on how to utilize modules Examples: apache::dev - Configure apache for dev hosts, perhaps disable ssl apache::prod - Configure apache for prod hosts, require ssl 11. Organization Roles and Profiles Roles A collection of profiles A group of modules/profiles that make up a single server role, for example a WordPress website Each node should only have a single role 12. Hour 2 Youve decided on a version control system, Youve decided on a workflow, Youve decided on an overall architecture... Now what? Setup R10K, Configure NTP, Configure Minecraft 13. NTP - A practical Example Step 1 - Install the module via r10k Step 2 - Add the key(s) to hiera Step 3 - Classify the node DEMO! 14. Minecraft - A more fun, but less practical example Step 1 - Install the module via r10k Step 2 - Add the key(s) to hiera Step 3 - Classify the node DEMO! 15. Hour 3 Light reading R10k http://bit.ly/puppetr10k Git Workflow and Dynamic Environments http://bit.ly/puppetgit DevOps. Its about culture, stupid! http://slidesha.re/18vbP8U Separating Data from Code http://bit.ly/puppetdata Beer Finding App (Because you deserve it now) https://untappd.com/ 16. Terri Haber Professional Services @baconqurlyq firstname.lastname@example.org://puppetlabs.comAdam Crews @1_adam_12 irc: doo email@example.com 17. Thank You! Learn More: http://puppetlabs.com http://puppetlabs.com/community http://puppetlabs.com/puppet/puppet-enterprise