Getting Started with Puppet by Chad Metcalf Wibi Data

304 views
241 views

Published on

Getting Started with Puppet by Chad Metcalf Wibi Data

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
304
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Roll your own Its more work You know the ingredients are fresh It may or may not come together Usually only make one kind Go to the local distribution (CentOS, Ubuntu, EPEL) Pre packaged for your convience Not made everyday Small variety Go to PuppetLabs Guarantee of freshness Expertly made Wide selection of menu items
  • Roll your own Its more work You know the ingredients are fresh It may or may not come together Usually only make one kind Go to the local distribution (CentOS, Ubuntu, EPEL) Pre packaged for your convience Not made everyday Small variety Go to PuppetLabs Guarantee of freshness Expertly made Wide selection of menu items
  • Roll your own Its more work You know the ingredients are fresh It may or may not come together Usually only make one kind Go to the local distribution (CentOS, Ubuntu, EPEL) Pre packaged for your convience Not made everyday Small variety Go to PuppetLabs Guarantee of freshness Expertly made Wide selection of menu items
  • Roll your own Its more work You know the ingredients are fresh It may or may not come together Usually only make one kind Go to the local distribution (CentOS, Ubuntu, EPEL) Pre packaged for your convience Not made everyday Small variety Go to PuppetLabs Guarantee of freshness Expertly made Wide selection of menu items
  • Open Source: http://yum.puppetlabs.com/ http://apt.puppetlabs.com/ Bleeding EdgePlus Ecosyste m (PuppetDB, Hiera, etc) Enterprise: http://puppetlabs.com/misc/pe-files/http://yum-enter prise.puppetlabs.com/http://apt-ente rprise.puppetlabs.com/ Wide OS Suppor tStable (slower release tempo)Ecosyst em tested as a whole
  • Manage modules like everything else puppet module rodjek/ libra rian-puppetGit Submodule s Modules should be separated
  • Getting Started with Puppet by Chad Metcalf Wibi Data

    1. 1. Getting StarteD W/ PuppetPROJECT Chad Metcalf - @METCALFCDATE CLIENT 01/18/13 PUPPET CAMP SILICON VALLEY
    2. 2. Infrastructure Engineer @ WibiDATA4 Years using Puppet - Build and RElease - Hadoop/HBase - InfraStructure - Operations
    3. 3. PUPPET ECOsystemGetting Bigger EVERYDAY
    4. 4. Learning Puppet VMStarting as fast as you can download 580 megs
    5. 5. Which Puppet DistributionIt is a lot like sushi
    6. 6. Which Puppet DistributionYou can roll your own to varying degrees of success
    7. 7. Which Puppet DistributionYou can go to your favorite mega-mart and get some packaged awhile ago along with some fried Chicken
    8. 8. Which Puppet DistributionOr you can go to an actual sushi joint
    9. 9. Puppet Open Source vs Puppet EnterpriseSame Great Taste
    10. 10. EXTERNAL NODE ClassifierFOREMAN - Puppet DASHBOARD - PUPPET ENTERPRISE CONSOLE - Roll YOUR OWN
    11. 11. PuppetDBstoreconfig and inventory service storage
    12. 12. HIERAHierarchical Database - Configuration details out of code
    13. 13. Consider ProvisioningFrom bare metal to Puppet ready
    14. 14. PROof Of ConceptProof of Concepts NEver DIE - Even if you really wished they would
    15. 15. Scaling PuppetNo Easy Answers
    16. 16. Module TIME?When are we going to do some real work?
    17. 17. Configuration AS CODEDOWN TO the MODULES you USE
    18. 18. /etc/puppetlabs/puppet├── modules│ ├── concat│ ├── dhcp│ ├── epel│ ├── hiera│ ├── hiera-puppet│ ├── limits│ ├── mongodb│ ├── mysql│ ├── nodejs
    19. 19. Puppet ForgeClearing House for modules you should be using
    20. 20. GithubNot everything is on the forge... yet.
    21. 21. ForkingFork to Eat not to LIVE - aka Stop the fork
    22. 22. Roll your ownDon’t reinvent the wheel
    23. 23. Learning moreDon’t Forget irc #puppet - #puppet-dev - Mailing lists
    24. 24. class boundary { require boundary::params require boundary::dependencies $id = $boundary::params::id $apikey = $boundary::params::apikey $collector = $boundary::params::collector $collector_port = $boundary::params::collector_port file { /etc/bprobe/: ensure => directory, mode => 0755, owner => root, group => root, } package { bprobe: ensure => latest, require => File[/etc/bprobe], }
    25. 25. Puppet has more then a DSLSometimes you just need to write a little ruby
    26. 26. class evil { define loop () { notice("${name}") } loop { [this, is, evil]:}}class{"evil":}$ puppet apply evil.ppnotice: Scope(Evil::Loop[this]): thisnotice: Scope(Evil::Loop[is]): isnotice: Scope(Evil::Loop[evil]): evil
    27. 27. node_config.vm.provision :puppet do |puppet| puppet.manifests_path = provision/manifests puppet.module_path = provision/modules endVagrantLearn to ♥ it
    28. 28. QUESTIONS?You Can find me @metcalfc

    ×