Getting Started With Puppet - Chad Metcalf
-
Upload
puppet-labs -
Category
Technology
-
view
947 -
download
1
description
Transcript of Getting Started With Puppet - Chad Metcalf
![Page 1: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/1.jpg)
PROJECT
DATE CLIENT01/18/13 PUPPET CAMP SILICONVALLEY
GETTING STARTED W/ PUPPETCHAD METCALF - @METCALFC
![Page 2: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/2.jpg)
INFRASTRUCTURE ENGINEER @ WIBIDATA4 YEARS USING PUPPET - BUILD AND RELEASE - HADOOP/HBASE - INFRASTRUCTURE - OPERATIONS
![Page 3: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/3.jpg)
PUPPET ECOSYSTEMGETTING BIGGER EVERYDAY
![Page 4: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/4.jpg)
LEARNING PUPPET VMSTARTING AS FAST AS YOU CAN DOWNLOAD 580 MEGS
![Page 5: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/5.jpg)
WHICH PUPPET DISTRIBUTIONIT IS A LOT LIKE SUSHI
![Page 6: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/6.jpg)
WHICH PUPPET DISTRIBUTIONYOU CAN ROLL YOUR OWN TO VARYING DEGREES OF SUCCESS
![Page 7: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/7.jpg)
WHICH PUPPET DISTRIBUTIONYOU CAN GO TO YOUR FAVORITE MEGA-MART AND GET SOME PACKAGED AWHILE AGO ALONG WITH SOME FRIED CHICKEN
![Page 8: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/8.jpg)
WHICH PUPPET DISTRIBUTIONOR YOU CAN GO TO AN ACTUAL SUSHI JOINT
![Page 9: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/9.jpg)
PUPPET OPEN SOURCE VS PUPPET ENTERPRISESAME GREAT TASTE
![Page 10: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/10.jpg)
EXTERNAL NODE CLASSIFIERFOREMAN - PUPPET DASHBOARD - PUPPET ENTERPRISE CONSOLE - ROLL YOUR OWN
![Page 11: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/11.jpg)
PUPPETDBSTORECONFIG AND INVENTORY SERVICE STORAGE
![Page 12: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/12.jpg)
HIERAHIERARCHICAL DATABASE - CONFIGURATION DETAILS OUT OF CODE
![Page 13: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/13.jpg)
CONSIDER PROVISIONINGFROM BARE METAL TO PUPPET READY
![Page 14: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/14.jpg)
PROOF OF CONCEPTPROOF OF CONCEPTS NEVER DIE - EVEN IF YOU REALLY WISHED THEY WOULD
Puppet Master PuppetDB ConsoleDashboardForeman
ENC
RazorCobbler
Foreman*
Optional
![Page 15: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/15.jpg)
SCALING PUPPETNO EASY ANSWERS
![Page 16: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/16.jpg)
MODULE TIME?WHEN ARE WE GOING TO DO SOME REAL WORK?
![Page 17: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/17.jpg)
CONFIGURATION AS CODEDOWN TO THE MODULES YOU USE
![Page 18: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/18.jpg)
/etc/puppetlabs/puppet├── modules│ ├── concat│ ├── dhcp│ ├── epel│ ├── hiera│ ├── hiera-puppet│ ├── limits│ ├── mongodb│ ├── mysql│ ├── nodejs│ ├── ntp
![Page 19: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/19.jpg)
PUPPET FORGECLEARING HOUSE FOR MODULES YOU SHOULD BE USING
![Page 20: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/20.jpg)
GITHUBNOT EVERYTHING IS ON THE FORGE... YET.
![Page 21: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/21.jpg)
FORKINGFORK TO EAT NOT TO LIVE - AKA STOP THE FORK
![Page 22: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/22.jpg)
ROLL YOUR OWNDON’T REINVENT THE WHEEL
![Page 23: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/23.jpg)
LEARNING MOREDON’T FORGET IRC #PUPPET - #PUPPET-DEV - MAILING LISTS
![Page 24: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/24.jpg)
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'], }
![Page 25: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/25.jpg)
PUPPET HAS MORE THEN A DSLSOMETIMES YOU JUST NEED TO WRITE A LITTLE RUBY
![Page 26: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/26.jpg)
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
![Page 27: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/27.jpg)
VAGRANTLEARN TO ♥ IT
node_config.vm.provision :puppet do |puppet| puppet.manifests_path = 'provision/manifests' puppet.module_path = 'provision/modules'end
![Page 28: Getting Started With Puppet - Chad Metcalf](https://reader033.fdocuments.net/reader033/viewer/2022042614/5590e3ec1a28ab09388b46dd/html5/thumbnails/28.jpg)
QUESTIONS?YOU CAN FIND ME @METCALFC