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