introduction to puppet
TRANSCRIPT
![Page 1: Introduction to puppet](https://reader030.vdocuments.us/reader030/viewer/2022020306/554f8965b4c905d25b8b4e33/html5/thumbnails/1.jpg)
Introduction to PuppetHabeeb Rahman | [email protected] | [email protected]
![Page 2: Introduction to puppet](https://reader030.vdocuments.us/reader030/viewer/2022020306/554f8965b4c905d25b8b4e33/html5/thumbnails/2.jpg)
pre puppet/config management era
manual Installationlogin and perform installation/config changesad hoc scripts/toolsnot scalableeveryone solving same problems their own wayboring
![Page 3: Introduction to puppet](https://reader030.vdocuments.us/reader030/viewer/2022020306/554f8965b4c905d25b8b4e33/html5/thumbnails/3.jpg)
puppet era
mature toolssharingopensourceinfrastructure as a codeversion controlled
![Page 4: Introduction to puppet](https://reader030.vdocuments.us/reader030/viewer/2022020306/554f8965b4c905d25b8b4e33/html5/thumbnails/4.jpg)
what?Vanilla Server
vanilla server apply puppet Your desired application
server
Before AfterTransformation
![Page 5: Introduction to puppet](https://reader030.vdocuments.us/reader030/viewer/2022020306/554f8965b4c905d25b8b4e33/html5/thumbnails/5.jpg)
how?(1/2)
master-agent modepuppet master
puppet agent(server 1)
puppet agent(server 2)
puppet agent(server 3)
puppet agent(server 'n')
![Page 6: Introduction to puppet](https://reader030.vdocuments.us/reader030/viewer/2022020306/554f8965b4c905d25b8b4e33/html5/thumbnails/6.jpg)
how?(2/2)
standalone mode
puppet apply
puppet (server 1)
![Page 7: Introduction to puppet](https://reader030.vdocuments.us/reader030/viewer/2022020306/554f8965b4c905d25b8b4e33/html5/thumbnails/7.jpg)
components
facter & factspuppet languageresourcesmanifestsclassestemplates
![Page 8: Introduction to puppet](https://reader030.vdocuments.us/reader030/viewer/2022020306/554f8965b4c905d25b8b4e33/html5/thumbnails/8.jpg)
facter & facts
puppet uses facter to gather information about the host system
![Page 9: Introduction to puppet](https://reader030.vdocuments.us/reader030/viewer/2022020306/554f8965b4c905d25b8b4e33/html5/thumbnails/9.jpg)
puppet language
● DSL● ruby
![Page 10: Introduction to puppet](https://reader030.vdocuments.us/reader030/viewer/2022020306/554f8965b4c905d25b8b4e33/html5/thumbnails/10.jpg)
resources
● the building blocks● model system configurations● built-in resources
user { 'dave':
ensure => 'present',
home => '/home/dave',
shell => '/bin/zsh'
}
● puppet describe -s user
![Page 11: Introduction to puppet](https://reader030.vdocuments.us/reader030/viewer/2022020306/554f8965b4c905d25b8b4e33/html5/thumbnails/11.jpg)
manifests
puppet programs are called “manifests” file extension: .pp
![Page 12: Introduction to puppet](https://reader030.vdocuments.us/reader030/viewer/2022020306/554f8965b4c905d25b8b4e33/html5/thumbnails/12.jpg)
classes
● describe one part of what makes up a system’s identity
● not object-oriented programming 'class'
![Page 13: Introduction to puppet](https://reader030.vdocuments.us/reader030/viewer/2022020306/554f8965b4c905d25b8b4e33/html5/thumbnails/13.jpg)
templates
puppet uses ruby erb templating system
file {'/etc/foo.conf':
ensure => file, require => Package['foo'], content => template('foo/foo.conf.erb'), }
![Page 14: Introduction to puppet](https://reader030.vdocuments.us/reader030/viewer/2022020306/554f8965b4c905d25b8b4e33/html5/thumbnails/14.jpg)
how does it all fit together?
![Page 15: Introduction to puppet](https://reader030.vdocuments.us/reader030/viewer/2022020306/554f8965b4c905d25b8b4e33/html5/thumbnails/15.jpg)
catalog
![Page 16: Introduction to puppet](https://reader030.vdocuments.us/reader030/viewer/2022020306/554f8965b4c905d25b8b4e33/html5/thumbnails/16.jpg)
puppet help
puppet describeprints help about puppet resource types, providers, and metaparameters
puppet help <subcommand>help about puppet commands
![Page 17: Introduction to puppet](https://reader030.vdocuments.us/reader030/viewer/2022020306/554f8965b4c905d25b8b4e33/html5/thumbnails/17.jpg)
learning
http://docs.puppetlabs.com/learning/