I've installed Puppet! Now what?

17
I’ve Installed Puppet! Now What?

description

After 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

Transcript of I've installed Puppet! Now what?

Page 1: I've installed Puppet! Now what?

I’ve Installed Puppet!Now What?

Page 2: I've installed Puppet! Now what?

Hour 1

You’ve run the puppet installer,You’ve installed agents on your nodes...

Now what?

Version Control, Workflow, Organization

Page 3: I've installed Puppet! Now what?

Version ControlHave 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?

Page 4: I've installed Puppet! Now what?

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

Page 5: I've installed Puppet! Now what?

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

Page 6: I've installed Puppet! Now what?

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

Page 7: I've installed Puppet! Now what?

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.

Page 8: I've installed Puppet! Now what?

Organization - Hiera● Allows you to use modules directly

from the Forge:

1. Download the module (or use r10k)2. Add data to Hiera3. Classify on a node4. ???5. Profit

Page 9: I've installed Puppet! Now what?

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

Page 10: I've installed Puppet! Now what?

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

Page 11: I've installed Puppet! Now what?

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

Page 12: I've installed Puppet! Now what?

Hour 2

You’ve decided on a version control system,You’ve decided on a workflow,You’ve decided on an overall architecture...

Now what?

Setup R10K, Configure NTP, Configure Minecraft

Page 13: I've installed Puppet! Now what?

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!

Page 14: I've installed Puppet! Now what?

Minecraft - A more fun, but less practical exampleStep 1 - Install the module via r10k

Step 2 - Add the key(s) to hiera

Step 3 - Classify the node

DEMO!

Page 15: I've installed Puppet! Now what?

Hour 3 - Light reading● R10k

○ http://bit.ly/puppetr10k

● Git Workflow and Dynamic Environments○ http://bit.ly/puppetgit

● “DevOps. It’s 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/

Page 16: I've installed Puppet! Now what?

Adam Crews@1_adam_12

irc: [email protected]

Terri HaberProfessional Services

@[email protected]

http://puppetlabs.com

Page 17: I've installed Puppet! Now what?

Thank You!Learn More:

http://puppetlabs.comhttp://puppetlabs.com/community

http://puppetlabs.com/puppet/puppet-enterprise