SlideShare uma empresa Scribd logo
1 de 44
Expanded
Introduction
  to Puppet
          LOAD
          Garrett Honeycutt
   Professional Services Consultant
       garrett@puppetlabs.com
http://linkedin.com/in/garretthoneycutt
The one-off myth



                 Your systems are not
                 beautiful snowflakes

photo from http://
The one-off myth

•   Only temporary
The one-off myth

•   Only temporary

•   Replicas for pre-production environments
The one-off myth

•   Only temporary

•   Replicas for pre-production environments

•   Disaster recovery
Why?
Why?

• reduce   entropy
Why?

• reduce   entropy
• disaster   recovery
Why?

• reduce   entropy
• disaster   recovery
• change   management
Why?

• reduce   entropy
• disaster   recovery
• change   management
• infrastructure   as code
Puppet Open Source Ecosystem

                                    Puppet Distribution

                                    Bundled with major OS
                                    !




   
    3,000 person mailing list

    2,000 messages a month
         Puppet Community

  300 people at all times in IRC    Active participation
                                    !

   (#puppet on freenode.net)

 100+ people       100+ modules
                                    Puppet Contributors

contributing to    contributed to
                                    Framework
documentation      Puppet Module
                                    enhancements
   and code 
          Forge 
      !
Puppet is
            Pervasive
  Web         Entertainment   Technology




Financial
                               Defense
Puppet Enterprise
What it is:
•   Puppet and related components packaged and
    integrated in one install:
     •   Puppet
     •   Puppet Master
     •   Dashboard
     •   Facter
     •   Ruby
     •   Apache
     •   Passenger, etc.
Puppet Enterprise
•   Fully QA’d stack of Puppet and dependencies
•   Simplified installation
•   Ease of maintenance
•   Pre-configured for scalability and performance
•   Predictable enhancement delivery
•   Enhanced enterprise class Support
How Puppet Works

                                                                                            1   Define: With Puppet's declarative
                                                                                                  language you design a graph of
                                                                                           relationships between resources within
                                                                                           reusable modules. These modules define
                                                                                           your infrastructure in its desired state.

                                                                                      GE
                                                                             E   RA
                                                                      C   OV
                                                                 SE


                                                            EA
                                                       CR
                                                       IN
                                                  ND
                                              E A
                                          I T E R AT




4    Report: Puppet Dashboard reports                                                                                   2    Simulate:    With this resource
     track relationships between                                                                                              graph, Puppet is unique in its
components and all changes, allowing                                                                                   ability to simulate deployments, enabling
you to keep up with security and                                                                                       you to test changes without disruption
compliance mandates. And with the                                                                                      to your infrastructure.
open API you can integrate Puppet with
third party monitoring tools.




                                CURRENT                                                    3    Enforce: Puppet compares your
                                STATE                                                             system to the desired state as you
                                                                                           define it, and automatically enforces it
                                                                      DESIRED
                                                                      STATE                to the desired state ensuring your system
                                                                                           is in compliance.
Use Puppet to create composable configurations
Modules   and manage the enterprise infrastructure

                                                                        1   Define Your Resources in Modules.
                                                                       !      "#$%!&'(()$*!+,'!-).#/)!+,'0!1,-'2)3!4+!/,-)!
            9GHGAG7D    "DA!7DEFDE      G&&!7DEFDE         7D?MEJH =   52633#.#56$#,/3*!3'5%!63!")4!7)08)0!,0!96$6463)*!622,:#/;!
                                                                       +,'!$,!-).#/)!0)26$#,/3%#(3!4)$:))/!0)3,'05)3!6/-!
                                                                       5,/.#;'0)!$%,'36/-3!,.!3)08)03!6$!,/5)<!
                Via                          Custom                         Assign resource relationships automatically.!
          Puppet Dashboard               External Source
                                            (CMDB, LDAP, etc.)
                                                                       2
                                                                       !     =,'!56/!$%)/!633#;/!6/-!-)(2,+!5,/.#;'06$#,/3!
                                                                       8#6!&'(()$!963%4,60-*!,0!:#$%!+,'0!,:/!5'3$,1#>)-!
                                                                       ?@9A!$,,23<
          "DA!7DEFDE7     9GHGAG7D!7DEFDE7      G&&IJ?GHJKL!7DEFDE7




             LK9D               LK9D                    LK9D
                                                                       3    Reusable, composable configurations. !
                                                                       !     "#$%!&'(()$!+,'!56/!0)B'3)!1,-'2)3!650,33!1'2$#(2)!
                                                                       /,-)3*!#/!:%6$)8)0!5,14#/6$#,/!+,'!/))-*!0)-'5#/;!
                                                                       0)()$#$#8)!$63C3!6/-!)2#1#/6$#/;!)00,0B(0,/)!350#($3<!




             LK9D               LK9D                    LK9D                                    Multi Node
Puppet Assigns and
Maintains a Node’s
Managing Configuration
        Drift
How Puppet Manages Data Flow
        for Individual Nodes

                                              Node




                    1   Facts
                        The node sends
                        normalized data
                        about itself to the
                        Puppet Master.
                                                SSL secure               2    Catalog
                                                                              Puppet uses the Facts to
                                                encryption                    compile a Catalog that
                                                on all data                   specifies how the node
                                                transport                     should be configured.
Report    3
The node
reports back
to Puppet
indicating the
configuration is
complete, which
is visible in the                             Puppet
Puppet Dashboard.                             Master             4                    Report Collector
                                                                                      (Puppet or 3rd party tool)
                                                              Report
                                                              can also send data
                                                              to third party tools.
Facts

 Automatically
Maintained Asset
   Inventory
domain => local
facterversion => 1.5.8
fqdn => sliver.local
hardwaremodel => i386
hostname => sliver
interfaces => lo0,gif0,stf0,en0,en1,fw0,vmnet1,vboxnet0
ipaddress => 192.168.174.1
ipaddress_lo0 => 127.0.0.1
ipaddress_vmnet1 => 192.168.174.1
kernel => Darwin
kernelmajversion => 10.6
kernelrelease => 10.6.0
macosx_productname => Mac OS X
macosx_productversion => 10.6.6
netmask => 255.255.255.0
netmask_lo0 => 255.0.0.0
netmask_vmnet1 => 255.255.255.0
network_lo0 => 127.0.0.0
network_vmnet1 => 192.168.174.0
operatingsystem => Darwin
operatingsystemrelease => 10.6.0
path => /opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/
usr/X11/bin:/Users/gh/bin:/Users/gh/.gem/ruby/1.8/bin/
ps => ps auxwww
puppetversion => 2.6.4
rubysitedir => /opt/local/lib/ruby/site_ruby/1.8
timezone => PST
uptime => 1 day
rubyversion => 1.8.7
sp_bus_speed => 1.07 GHz
Custom Facts
How Puppet Manages Data Flow
        for Individual Nodes

                                              Node




                    1   Facts
                        The node sends
                        normalized data
                        about itself to the
                        Puppet Master.
                                                SSL secure               2    Catalog
                                                                              Puppet uses the Facts to
                                                encryption                    compile a Catalog that
                                                on all data                   specifies how the node
                                                transport                     should be configured.
Report    3
The node
reports back
to Puppet
indicating the
configuration is
complete, which
is visible in the                             Puppet
Puppet Dashboard.                             Master             4                    Report Collector
                                                                                      (Puppet or 3rd party tool)
                                                              Report
                                                              can also send data
                                                              to third party tools.
Catalog

• Automatically
             maintained
 comprehensive resource list
• Easilyvalidated against
 compliance requirements prior
 to client configuration
How Puppet Manages Data Flow
        for Individual Nodes

                                              Node




                    1   Facts
                        The node sends
                        normalized data
                        about itself to the
                        Puppet Master.
                                                SSL secure               2    Catalog
                                                                              Puppet uses the Facts to
                                                encryption                    compile a Catalog that
                                                on all data                   specifies how the node
                                                transport                     should be configured.
Report    3
The node
reports back
to Puppet
indicating the
configuration is
complete, which
is visible in the                             Puppet
Puppet Dashboard.                             Master             4                    Report Collector
                                                                                      (Puppet or 3rd party tool)
                                                              Report
                                                              can also send data
                                                              to third party tools.
Report

• Comprehensive report of every
 change ever made, correlated to every
 resource being managed
• Easily
       validated against compliance
 requirements after reach run
Report

•http
•log
•store
•tagmail
Report
What not How
What not how
Example Resource
•   cron
         Types
•   exec
•   file
•   group
•   host
•   zfs
•   mount
•   package
•   service
•   sshkey
Package-File-
   Service
File Serving
Templates
Templates -
 Advanced
Syntax Checking
Storeconfigs
Ability to pass data between nodes, via
a database acting as a proxy
Storeconfigs
Ability to pass data between nodes, via
a database acting as a proxy

 •   MySQL
 •   SQLite3
 •   PostgreSQL
 •   Oracle
Storeconfigs
External Node
     Classifier

•Puppet Dashboard

•Your own CMDB
External Node
      Classifier

A script that takes $certname as
an argument and outputs YAML to
STDOUT
External Node
  Classifier
External Node
  Classifier
Expanded
Introduction
  to Puppet
          LOAD
          Garrett Honeycutt
   Professional Services Consultant
       garrett@puppetlabs.com
http://linkedin.com/in/garretthoneycutt

Mais conteúdo relacionado

Destaque

Lessons I Learned While Scaling to 5000 Puppet Agents
Lessons I Learned While Scaling to 5000 Puppet AgentsLessons I Learned While Scaling to 5000 Puppet Agents
Lessons I Learned While Scaling to 5000 Puppet AgentsPuppet
 
Puppet overview
Puppet overviewPuppet overview
Puppet overviewjoshbeard
 
Learning puppet chapter 2
Learning puppet chapter 2Learning puppet chapter 2
Learning puppet chapter 2Vishal Biyani
 
Learning Puppet Chapter 1
Learning Puppet Chapter 1Learning Puppet Chapter 1
Learning Puppet Chapter 1Vishal Biyani
 
Learning puppet chapter 3
Learning puppet chapter 3Learning puppet chapter 3
Learning puppet chapter 3Vishal Biyani
 
Getting started with Puppet
Getting started with PuppetGetting started with Puppet
Getting started with Puppetjeyg
 
Puppet for dummies - ZendCon 2011 Edition
Puppet for dummies - ZendCon 2011 EditionPuppet for dummies - ZendCon 2011 Edition
Puppet for dummies - ZendCon 2011 EditionJoshua Thijssen
 
Puppet for SysAdmins
Puppet for SysAdminsPuppet for SysAdmins
Puppet for SysAdminsPuppet
 

Destaque (9)

Puppet: From 0 to 100 in 30 minutes
Puppet: From 0 to 100 in 30 minutesPuppet: From 0 to 100 in 30 minutes
Puppet: From 0 to 100 in 30 minutes
 
Lessons I Learned While Scaling to 5000 Puppet Agents
Lessons I Learned While Scaling to 5000 Puppet AgentsLessons I Learned While Scaling to 5000 Puppet Agents
Lessons I Learned While Scaling to 5000 Puppet Agents
 
Puppet overview
Puppet overviewPuppet overview
Puppet overview
 
Learning puppet chapter 2
Learning puppet chapter 2Learning puppet chapter 2
Learning puppet chapter 2
 
Learning Puppet Chapter 1
Learning Puppet Chapter 1Learning Puppet Chapter 1
Learning Puppet Chapter 1
 
Learning puppet chapter 3
Learning puppet chapter 3Learning puppet chapter 3
Learning puppet chapter 3
 
Getting started with Puppet
Getting started with PuppetGetting started with Puppet
Getting started with Puppet
 
Puppet for dummies - ZendCon 2011 Edition
Puppet for dummies - ZendCon 2011 EditionPuppet for dummies - ZendCon 2011 Edition
Puppet for dummies - ZendCon 2011 Edition
 
Puppet for SysAdmins
Puppet for SysAdminsPuppet for SysAdmins
Puppet for SysAdmins
 

Semelhante a 20120331 - Expanded Intro to Puppet for LOAD

11 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 2012
11 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 201211 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 2012
11 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 2012Puppet
 
State of Puppet London
State of Puppet LondonState of Puppet London
State of Puppet LondonPuppet
 
Puppet talk at OSCON 2010.
Puppet talk at OSCON 2010.Puppet talk at OSCON 2010.
Puppet talk at OSCON 2010.teyotyree
 
Puppet for Developers
Puppet for DevelopersPuppet for Developers
Puppet for Developerssagarhere4u
 
Strategies for Puppet code upgrade and refactoring
Strategies for Puppet code upgrade and refactoringStrategies for Puppet code upgrade and refactoring
Strategies for Puppet code upgrade and refactoringAlessandro Franceschi
 
Introduction to Puppet - SpringPeople
Introduction to Puppet - SpringPeopleIntroduction to Puppet - SpringPeople
Introduction to Puppet - SpringPeopleSpringPeople
 
Introduction to Puppet Scripting
Introduction to Puppet ScriptingIntroduction to Puppet Scripting
Introduction to Puppet ScriptingAchieve Internet
 
Security/Auditing in Puppet
Security/Auditing in PuppetSecurity/Auditing in Puppet
Security/Auditing in Puppetrobertmaury
 
Auditing/Security with Puppet - PuppetConf 2014
Auditing/Security with Puppet - PuppetConf 2014Auditing/Security with Puppet - PuppetConf 2014
Auditing/Security with Puppet - PuppetConf 2014Puppet
 
Automation with puppet
Automation with puppetAutomation with puppet
Automation with puppetRahul Bajaj
 
Testability for developers – Fighting a mess by making it testable
Testability for developers – Fighting a mess by making it testableTestability for developers – Fighting a mess by making it testable
Testability for developers – Fighting a mess by making it testableAlexander Tarlinder
 
20110611 expanded intro-to_puppet_for_self
20110611 expanded intro-to_puppet_for_self20110611 expanded intro-to_puppet_for_self
20110611 expanded intro-to_puppet_for_selfgarrett honeycutt
 
Puppet - Configuration Management Tool
Puppet - Configuration Management ToolPuppet - Configuration Management Tool
Puppet - Configuration Management ToolAswin Barath
 
PuppetDB: Sneaking Clojure into Operations
PuppetDB: Sneaking Clojure into OperationsPuppetDB: Sneaking Clojure into Operations
PuppetDB: Sneaking Clojure into Operationsgrim_radical
 
KEY CONCEPTS FOR SCALABLE STATEFUL SERVICES
KEY CONCEPTS FOR SCALABLE STATEFUL SERVICESKEY CONCEPTS FOR SCALABLE STATEFUL SERVICES
KEY CONCEPTS FOR SCALABLE STATEFUL SERVICESMykola Novik
 
Cloud computing for agent based urban transportation system vinayss
Cloud computing for agent based urban transportation system vinayssCloud computing for agent based urban transportation system vinayss
Cloud computing for agent based urban transportation system vinayssVinay Sirivara
 
Operational Visibiliy and Analytics - BU Seminar
Operational Visibiliy and Analytics - BU SeminarOperational Visibiliy and Analytics - BU Seminar
Operational Visibiliy and Analytics - BU SeminarCanturk Isci
 
Kelly potvin nosurprises_odtug_oow12
Kelly potvin nosurprises_odtug_oow12Kelly potvin nosurprises_odtug_oow12
Kelly potvin nosurprises_odtug_oow12Enkitec
 

Semelhante a 20120331 - Expanded Intro to Puppet for LOAD (20)

11 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 2012
11 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 201211 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 2012
11 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 2012
 
State of Puppet London
State of Puppet LondonState of Puppet London
State of Puppet London
 
Puppet
PuppetPuppet
Puppet
 
Puppet talk at OSCON 2010.
Puppet talk at OSCON 2010.Puppet talk at OSCON 2010.
Puppet talk at OSCON 2010.
 
Puppet for Developers
Puppet for DevelopersPuppet for Developers
Puppet for Developers
 
Strategies for Puppet code upgrade and refactoring
Strategies for Puppet code upgrade and refactoringStrategies for Puppet code upgrade and refactoring
Strategies for Puppet code upgrade and refactoring
 
Introduction to Puppet - SpringPeople
Introduction to Puppet - SpringPeopleIntroduction to Puppet - SpringPeople
Introduction to Puppet - SpringPeople
 
Introduction to Puppet Scripting
Introduction to Puppet ScriptingIntroduction to Puppet Scripting
Introduction to Puppet Scripting
 
Security/Auditing in Puppet
Security/Auditing in PuppetSecurity/Auditing in Puppet
Security/Auditing in Puppet
 
Auditing/Security with Puppet - PuppetConf 2014
Auditing/Security with Puppet - PuppetConf 2014Auditing/Security with Puppet - PuppetConf 2014
Auditing/Security with Puppet - PuppetConf 2014
 
Automation with puppet
Automation with puppetAutomation with puppet
Automation with puppet
 
Testability for developers – Fighting a mess by making it testable
Testability for developers – Fighting a mess by making it testableTestability for developers – Fighting a mess by making it testable
Testability for developers – Fighting a mess by making it testable
 
20110611 expanded intro-to_puppet_for_self
20110611 expanded intro-to_puppet_for_self20110611 expanded intro-to_puppet_for_self
20110611 expanded intro-to_puppet_for_self
 
Puppet - Configuration Management Tool
Puppet - Configuration Management ToolPuppet - Configuration Management Tool
Puppet - Configuration Management Tool
 
PuppetDB: Sneaking Clojure into Operations
PuppetDB: Sneaking Clojure into OperationsPuppetDB: Sneaking Clojure into Operations
PuppetDB: Sneaking Clojure into Operations
 
Puppet for Junos
Puppet for JunosPuppet for Junos
Puppet for Junos
 
KEY CONCEPTS FOR SCALABLE STATEFUL SERVICES
KEY CONCEPTS FOR SCALABLE STATEFUL SERVICESKEY CONCEPTS FOR SCALABLE STATEFUL SERVICES
KEY CONCEPTS FOR SCALABLE STATEFUL SERVICES
 
Cloud computing for agent based urban transportation system vinayss
Cloud computing for agent based urban transportation system vinayssCloud computing for agent based urban transportation system vinayss
Cloud computing for agent based urban transportation system vinayss
 
Operational Visibiliy and Analytics - BU Seminar
Operational Visibiliy and Analytics - BU SeminarOperational Visibiliy and Analytics - BU Seminar
Operational Visibiliy and Analytics - BU Seminar
 
Kelly potvin nosurprises_odtug_oow12
Kelly potvin nosurprises_odtug_oow12Kelly potvin nosurprises_odtug_oow12
Kelly potvin nosurprises_odtug_oow12
 

Mais de garrett honeycutt

Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...
Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...
Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...garrett honeycutt
 
Continuous Deployment Pipeline for Systems at Cascadia IT Conference - 2017-0...
Continuous Deployment Pipeline for Systems at Cascadia IT Conference - 2017-0...Continuous Deployment Pipeline for Systems at Cascadia IT Conference - 2017-0...
Continuous Deployment Pipeline for Systems at Cascadia IT Conference - 2017-0...garrett honeycutt
 
(2016-06-11) Packer: Make Multi-Platform Images
(2016-06-11) Packer: Make Multi-Platform Images(2016-06-11) Packer: Make Multi-Platform Images
(2016-06-11) Packer: Make Multi-Platform Imagesgarrett honeycutt
 
20150613 self-puppet v4-avoiding_dragons
20150613 self-puppet v4-avoiding_dragons20150613 self-puppet v4-avoiding_dragons
20150613 self-puppet v4-avoiding_dragonsgarrett honeycutt
 
20150314 - Functional Testing for Configuration Management @ Cascadia IT Con...
20150314  - Functional Testing for Configuration Management @ Cascadia IT Con...20150314  - Functional Testing for Configuration Management @ Cascadia IT Con...
20150314 - Functional Testing for Configuration Management @ Cascadia IT Con...garrett honeycutt
 
2014-11-14 - Why Test Driven Development (TDD) Works for Sysadmins @ LISA14
2014-11-14 - Why Test Driven Development (TDD) Works for Sysadmins @ LISA142014-11-14 - Why Test Driven Development (TDD) Works for Sysadmins @ LISA14
2014-11-14 - Why Test Driven Development (TDD) Works for Sysadmins @ LISA14garrett honeycutt
 
2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle
2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle
2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattlegarrett honeycutt
 
2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicago
2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicago2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicago
2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicagogarrett honeycutt
 
20140406 loa days-tdd-with_puppet_tutorial
20140406 loa days-tdd-with_puppet_tutorial20140406 loa days-tdd-with_puppet_tutorial
20140406 loa days-tdd-with_puppet_tutorialgarrett honeycutt
 
TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07
TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07
TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07garrett honeycutt
 
20130407 load puppevtv3-and_hiera
20130407 load puppevtv3-and_hiera20130407 load puppevtv3-and_hiera
20130407 load puppevtv3-and_hieragarrett honeycutt
 
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...garrett honeycutt
 
20100425 Configuration Management With Puppet Lfnw
20100425 Configuration Management With Puppet Lfnw20100425 Configuration Management With Puppet Lfnw
20100425 Configuration Management With Puppet Lfnwgarrett honeycutt
 
Fighting Spam With A Perimeter Mail System 20071108 Sasag
Fighting Spam With A Perimeter Mail System 20071108 SasagFighting Spam With A Perimeter Mail System 20071108 Sasag
Fighting Spam With A Perimeter Mail System 20071108 Sasaggarrett honeycutt
 
20090514 Introducing Puppet To Sasag
20090514 Introducing Puppet To Sasag20090514 Introducing Puppet To Sasag
20090514 Introducing Puppet To Sasaggarrett honeycutt
 

Mais de garrett honeycutt (16)

20180823 - Sensu + Puppet
20180823 - Sensu + Puppet20180823 - Sensu + Puppet
20180823 - Sensu + Puppet
 
Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...
Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...
Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...
 
Continuous Deployment Pipeline for Systems at Cascadia IT Conference - 2017-0...
Continuous Deployment Pipeline for Systems at Cascadia IT Conference - 2017-0...Continuous Deployment Pipeline for Systems at Cascadia IT Conference - 2017-0...
Continuous Deployment Pipeline for Systems at Cascadia IT Conference - 2017-0...
 
(2016-06-11) Packer: Make Multi-Platform Images
(2016-06-11) Packer: Make Multi-Platform Images(2016-06-11) Packer: Make Multi-Platform Images
(2016-06-11) Packer: Make Multi-Platform Images
 
20150613 self-puppet v4-avoiding_dragons
20150613 self-puppet v4-avoiding_dragons20150613 self-puppet v4-avoiding_dragons
20150613 self-puppet v4-avoiding_dragons
 
20150314 - Functional Testing for Configuration Management @ Cascadia IT Con...
20150314  - Functional Testing for Configuration Management @ Cascadia IT Con...20150314  - Functional Testing for Configuration Management @ Cascadia IT Con...
20150314 - Functional Testing for Configuration Management @ Cascadia IT Con...
 
2014-11-14 - Why Test Driven Development (TDD) Works for Sysadmins @ LISA14
2014-11-14 - Why Test Driven Development (TDD) Works for Sysadmins @ LISA142014-11-14 - Why Test Driven Development (TDD) Works for Sysadmins @ LISA14
2014-11-14 - Why Test Driven Development (TDD) Works for Sysadmins @ LISA14
 
2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle
2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle
2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle
 
2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicago
2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicago2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicago
2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicago
 
20140406 loa days-tdd-with_puppet_tutorial
20140406 loa days-tdd-with_puppet_tutorial20140406 loa days-tdd-with_puppet_tutorial
20140406 loa days-tdd-with_puppet_tutorial
 
TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07
TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07
TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07
 
20130407 load puppevtv3-and_hiera
20130407 load puppevtv3-and_hiera20130407 load puppevtv3-and_hiera
20130407 load puppevtv3-and_hiera
 
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
 
20100425 Configuration Management With Puppet Lfnw
20100425 Configuration Management With Puppet Lfnw20100425 Configuration Management With Puppet Lfnw
20100425 Configuration Management With Puppet Lfnw
 
Fighting Spam With A Perimeter Mail System 20071108 Sasag
Fighting Spam With A Perimeter Mail System 20071108 SasagFighting Spam With A Perimeter Mail System 20071108 Sasag
Fighting Spam With A Perimeter Mail System 20071108 Sasag
 
20090514 Introducing Puppet To Sasag
20090514 Introducing Puppet To Sasag20090514 Introducing Puppet To Sasag
20090514 Introducing Puppet To Sasag
 

Último

南新罕布什尔大学毕业证学位证成绩单-学历认证
南新罕布什尔大学毕业证学位证成绩单-学历认证南新罕布什尔大学毕业证学位证成绩单-学历认证
南新罕布什尔大学毕业证学位证成绩单-学历认证kbdhl05e
 
integrity in personal relationship (1).pdf
integrity in personal relationship (1).pdfintegrity in personal relationship (1).pdf
integrity in personal relationship (1).pdfAmitRout25
 
Inspiring Through Words Power of Inspiration.pptx
Inspiring Through Words Power of Inspiration.pptxInspiring Through Words Power of Inspiration.pptx
Inspiring Through Words Power of Inspiration.pptxShubham Rawat
 
Module-2-Lesson-2-COMMUNICATION-AIDS-AND-STRATEGIES-USING-TOOLS-OF-TECHNOLOGY...
Module-2-Lesson-2-COMMUNICATION-AIDS-AND-STRATEGIES-USING-TOOLS-OF-TECHNOLOGY...Module-2-Lesson-2-COMMUNICATION-AIDS-AND-STRATEGIES-USING-TOOLS-OF-TECHNOLOGY...
Module-2-Lesson-2-COMMUNICATION-AIDS-AND-STRATEGIES-USING-TOOLS-OF-TECHNOLOGY...JeylaisaManabat1
 
(南达科他州立大学毕业证学位证成绩单-永久存档)
(南达科他州立大学毕业证学位证成绩单-永久存档)(南达科他州立大学毕业证学位证成绩单-永久存档)
(南达科他州立大学毕业证学位证成绩单-永久存档)oannq
 
Spiritual Life Quote from Shiva Negi
Spiritual Life Quote from Shiva Negi Spiritual Life Quote from Shiva Negi
Spiritual Life Quote from Shiva Negi OneDay18
 
Authentic No 1 Amil Baba In Pakistan Amil Baba In Faisalabad Amil Baba In Kar...
Authentic No 1 Amil Baba In Pakistan Amil Baba In Faisalabad Amil Baba In Kar...Authentic No 1 Amil Baba In Pakistan Amil Baba In Faisalabad Amil Baba In Kar...
Authentic No 1 Amil Baba In Pakistan Amil Baba In Faisalabad Amil Baba In Kar...Authentic No 1 Amil Baba In Pakistan
 
Virtue ethics & Effective Altruism: What can EA learn from virtue ethics?
Virtue ethics & Effective Altruism: What can EA learn from virtue ethics?Virtue ethics & Effective Altruism: What can EA learn from virtue ethics?
Virtue ethics & Effective Altruism: What can EA learn from virtue ethics?Mikko Kangassalo
 

Último (8)

南新罕布什尔大学毕业证学位证成绩单-学历认证
南新罕布什尔大学毕业证学位证成绩单-学历认证南新罕布什尔大学毕业证学位证成绩单-学历认证
南新罕布什尔大学毕业证学位证成绩单-学历认证
 
integrity in personal relationship (1).pdf
integrity in personal relationship (1).pdfintegrity in personal relationship (1).pdf
integrity in personal relationship (1).pdf
 
Inspiring Through Words Power of Inspiration.pptx
Inspiring Through Words Power of Inspiration.pptxInspiring Through Words Power of Inspiration.pptx
Inspiring Through Words Power of Inspiration.pptx
 
Module-2-Lesson-2-COMMUNICATION-AIDS-AND-STRATEGIES-USING-TOOLS-OF-TECHNOLOGY...
Module-2-Lesson-2-COMMUNICATION-AIDS-AND-STRATEGIES-USING-TOOLS-OF-TECHNOLOGY...Module-2-Lesson-2-COMMUNICATION-AIDS-AND-STRATEGIES-USING-TOOLS-OF-TECHNOLOGY...
Module-2-Lesson-2-COMMUNICATION-AIDS-AND-STRATEGIES-USING-TOOLS-OF-TECHNOLOGY...
 
(南达科他州立大学毕业证学位证成绩单-永久存档)
(南达科他州立大学毕业证学位证成绩单-永久存档)(南达科他州立大学毕业证学位证成绩单-永久存档)
(南达科他州立大学毕业证学位证成绩单-永久存档)
 
Spiritual Life Quote from Shiva Negi
Spiritual Life Quote from Shiva Negi Spiritual Life Quote from Shiva Negi
Spiritual Life Quote from Shiva Negi
 
Authentic No 1 Amil Baba In Pakistan Amil Baba In Faisalabad Amil Baba In Kar...
Authentic No 1 Amil Baba In Pakistan Amil Baba In Faisalabad Amil Baba In Kar...Authentic No 1 Amil Baba In Pakistan Amil Baba In Faisalabad Amil Baba In Kar...
Authentic No 1 Amil Baba In Pakistan Amil Baba In Faisalabad Amil Baba In Kar...
 
Virtue ethics & Effective Altruism: What can EA learn from virtue ethics?
Virtue ethics & Effective Altruism: What can EA learn from virtue ethics?Virtue ethics & Effective Altruism: What can EA learn from virtue ethics?
Virtue ethics & Effective Altruism: What can EA learn from virtue ethics?
 

20120331 - Expanded Intro to Puppet for LOAD

  • 1. Expanded Introduction to Puppet LOAD Garrett Honeycutt Professional Services Consultant garrett@puppetlabs.com http://linkedin.com/in/garretthoneycutt
  • 2. The one-off myth Your systems are not beautiful snowflakes photo from http://
  • 3. The one-off myth • Only temporary
  • 4. The one-off myth • Only temporary • Replicas for pre-production environments
  • 5. The one-off myth • Only temporary • Replicas for pre-production environments • Disaster recovery
  • 7. Why? • reduce entropy
  • 8. Why? • reduce entropy • disaster recovery
  • 9. Why? • reduce entropy • disaster recovery • change management
  • 10. Why? • reduce entropy • disaster recovery • change management • infrastructure as code
  • 11. Puppet Open Source Ecosystem Puppet Distribution
 Bundled with major OS ! 3,000 person mailing list
 2,000 messages a month
 Puppet Community
 300 people at all times in IRC Active participation ! (#puppet on freenode.net) 100+ people 100+ modules Puppet Contributors
 contributing to contributed to Framework documentation Puppet Module enhancements and code Forge !
  • 12. Puppet is Pervasive Web Entertainment Technology Financial Defense
  • 13. Puppet Enterprise What it is: • Puppet and related components packaged and integrated in one install: • Puppet • Puppet Master • Dashboard • Facter • Ruby • Apache • Passenger, etc.
  • 14. Puppet Enterprise • Fully QA’d stack of Puppet and dependencies • Simplified installation • Ease of maintenance • Pre-configured for scalability and performance • Predictable enhancement delivery • Enhanced enterprise class Support
  • 15. How Puppet Works 1 Define: With Puppet's declarative language you design a graph of relationships between resources within reusable modules. These modules define your infrastructure in its desired state. GE E RA C OV SE EA CR IN ND E A I T E R AT 4 Report: Puppet Dashboard reports 2 Simulate: With this resource track relationships between graph, Puppet is unique in its components and all changes, allowing ability to simulate deployments, enabling you to keep up with security and you to test changes without disruption compliance mandates. And with the to your infrastructure. open API you can integrate Puppet with third party monitoring tools. CURRENT 3 Enforce: Puppet compares your STATE system to the desired state as you define it, and automatically enforces it DESIRED STATE to the desired state ensuring your system is in compliance.
  • 16. Use Puppet to create composable configurations Modules and manage the enterprise infrastructure 1 Define Your Resources in Modules. ! "#$%!&'(()$*!+,'!-).#/)!+,'0!1,-'2)3!4+!/,-)! 9GHGAG7D "DA!7DEFDE G&&!7DEFDE 7D?MEJH = 52633#.#56$#,/3*!3'5%!63!")4!7)08)0!,0!96$6463)*!622,:#/;! +,'!$,!-).#/)!0)26$#,/3%#(3!4)$:))/!0)3,'05)3!6/-! 5,/.#;'0)!$%,'36/-3!,.!3)08)03!6$!,/5)<! Via Custom Assign resource relationships automatically.! Puppet Dashboard External Source (CMDB, LDAP, etc.) 2 ! =,'!56/!$%)/!633#;/!6/-!-)(2,+!5,/.#;'06$#,/3! 8#6!&'(()$!963%4,60-*!,0!:#$%!+,'0!,:/!5'3$,1#>)-! ?@9A!$,,23< "DA!7DEFDE7 9GHGAG7D!7DEFDE7 G&&IJ?GHJKL!7DEFDE7 LK9D LK9D LK9D 3 Reusable, composable configurations. ! ! "#$%!&'(()$!+,'!56/!0)B'3)!1,-'2)3!650,33!1'2$#(2)! /,-)3*!#/!:%6$)8)0!5,14#/6$#,/!+,'!/))-*!0)-'5#/;! 0)()$#$#8)!$63C3!6/-!)2#1#/6$#/;!)00,0B(0,/)!350#($3<! LK9D LK9D LK9D Multi Node
  • 19. How Puppet Manages Data Flow for Individual Nodes Node 1 Facts The node sends normalized data about itself to the Puppet Master. SSL secure 2 Catalog Puppet uses the Facts to encryption compile a Catalog that on all data specifies how the node transport should be configured. Report 3 The node reports back to Puppet indicating the configuration is complete, which is visible in the Puppet Puppet Dashboard. Master 4 Report Collector (Puppet or 3rd party tool) Report can also send data to third party tools.
  • 21. domain => local facterversion => 1.5.8 fqdn => sliver.local hardwaremodel => i386 hostname => sliver interfaces => lo0,gif0,stf0,en0,en1,fw0,vmnet1,vboxnet0 ipaddress => 192.168.174.1 ipaddress_lo0 => 127.0.0.1 ipaddress_vmnet1 => 192.168.174.1 kernel => Darwin kernelmajversion => 10.6 kernelrelease => 10.6.0 macosx_productname => Mac OS X macosx_productversion => 10.6.6 netmask => 255.255.255.0 netmask_lo0 => 255.0.0.0 netmask_vmnet1 => 255.255.255.0 network_lo0 => 127.0.0.0 network_vmnet1 => 192.168.174.0 operatingsystem => Darwin operatingsystemrelease => 10.6.0 path => /opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/ usr/X11/bin:/Users/gh/bin:/Users/gh/.gem/ruby/1.8/bin/ ps => ps auxwww puppetversion => 2.6.4 rubysitedir => /opt/local/lib/ruby/site_ruby/1.8 timezone => PST uptime => 1 day rubyversion => 1.8.7 sp_bus_speed => 1.07 GHz
  • 23. How Puppet Manages Data Flow for Individual Nodes Node 1 Facts The node sends normalized data about itself to the Puppet Master. SSL secure 2 Catalog Puppet uses the Facts to encryption compile a Catalog that on all data specifies how the node transport should be configured. Report 3 The node reports back to Puppet indicating the configuration is complete, which is visible in the Puppet Puppet Dashboard. Master 4 Report Collector (Puppet or 3rd party tool) Report can also send data to third party tools.
  • 24. Catalog • Automatically maintained comprehensive resource list • Easilyvalidated against compliance requirements prior to client configuration
  • 25. How Puppet Manages Data Flow for Individual Nodes Node 1 Facts The node sends normalized data about itself to the Puppet Master. SSL secure 2 Catalog Puppet uses the Facts to encryption compile a Catalog that on all data specifies how the node transport should be configured. Report 3 The node reports back to Puppet indicating the configuration is complete, which is visible in the Puppet Puppet Dashboard. Master 4 Report Collector (Puppet or 3rd party tool) Report can also send data to third party tools.
  • 26. Report • Comprehensive report of every change ever made, correlated to every resource being managed • Easily validated against compliance requirements after reach run
  • 31. Example Resource • cron Types • exec • file • group • host • zfs • mount • package • service • sshkey
  • 32. Package-File- Service
  • 37. Storeconfigs Ability to pass data between nodes, via a database acting as a proxy
  • 38. Storeconfigs Ability to pass data between nodes, via a database acting as a proxy • MySQL • SQLite3 • PostgreSQL • Oracle
  • 40. External Node Classifier •Puppet Dashboard •Your own CMDB
  • 41. External Node Classifier A script that takes $certname as an argument and outputs YAML to STDOUT
  • 42. External Node Classifier
  • 43. External Node Classifier
  • 44. Expanded Introduction to Puppet LOAD Garrett Honeycutt Professional Services Consultant garrett@puppetlabs.com http://linkedin.com/in/garretthoneycutt

Notas do Editor

  1. Audience: from not knowing why a configuration management tool is even important to those who have already implemented puppet\n
  2. \n
  3. \n
  4. \n
  5. \n
  6. you can provision tons of machines, so what?\n
  7. why is mail27 so fragile?\n
  8. quickly recreate systems in other environments\n
  9. who changed what, when, why, and how\n
  10. use proven tools and concepts\nleverage your VCS for change management\n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. Those in blue either are currently supported with Puppet Enterprise or will be soon.\n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. Audience: from not knowing why a configuration management tool is even important to those who have already implemented puppet\n