i've installed puppet! now what?

Post on 10-May-2015

747 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

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

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

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?

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

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

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

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.

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

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

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

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

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

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!

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!

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/

Adam Crews@1_adam_12

irc: dooadam@puppetlabs.com

Terri HaberProfessional Services

@baconqurlyqterri@puppetlabs.com

http://puppetlabs.com

Thank You!Learn More:

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

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

top related