14. Language: Easy to Get Started
class ssh {
!
package { 'openssh-server':
ensure => present,
}
!
file { 'sshd_config':
path => '/etc/ssh/sshd_config',
source => ‘puppet:///modules/ssh/sshd_config',
require => Package['openssh-server'],
notify => Service['sshd'],
}
!
service { 'sshd':
ensure => running,
enable => true,
require => File['sshd_config'],
}
!
}
15. Facts
The node sends
normalized data
about itself to the
Puppet Master.
1
Catalog
Puppet uses the Facts to
compile a Catalog that
specifies how the node
should be configured.
2
Report
Puppetʼs open API
can also send data
to third party tools.
4
Report
The node
reports back
to Puppet
indicating the
configuration is
complete, which
is visible in the
Puppet Dashboard.
3
Report Collector
(Puppet or 3rd party tool)
Node
Puppet
Master
SSL secure
encryption
on all data
transport
Lifecycle of a Puppet Run
16. Puppet
Architecture
Web Server Database ServerApplication Server
Reporting
GUI &
Workflows
Content
Admin &
Security
Virtual Machine CloudHardware
PUPPET MASTER SERVER
PUPPET
AGENT
PUPPET FORGE CONTENT MARKETPLACE
PUPPET
AGENT
PUPPET
AGENT
PUPPET OPEN SOURCE PLATFORM
32. Puppet
• Core language for specifying
infrastructure state
• Transactional system for enforcing it
• Resource Abstraction Layer
• Reusable modules: Puppet Forge
Puppet Enterprise built on top of Puppet
33. MCollective (mco)
• Parallel, real-time execution across
your whole network
• Real-time discovery of all nodes and
their functions
• Powerful command and control tool
Drives Orchestration Engine in Puppet Enterprise
34. PuppetDB
• Stores all configurations, facts, and
reports
• Knows everything there is to know
about your infrastructure
• Foundation for nearly all reporting
and analysis
Foundation for Puppet / Puppet Enterprise data storage
35. Facter
• Facts: bits of data that you care about
• Core inputs for customizing Puppet
configurations per host
• Easily pluggable to collect new data
or store it in existing databases
• Supports rich data structures
Foundation for Puppet / Puppet Enterprise Inventory
36. Hiera
• Separate site configuration data from
reusable code
• Iterate and promote code quickly
without having to manage dev/test
configuration differences
Foundation for Puppet / Puppet Enterprise Hierarchical Data
37. Razor
• Rules-based provisioning for bare
metal hardware and virtual servers
• Feeds directly into your Puppet
Infrastructure
• Physical machines as easy to
provision as VMs
Provision servers, then use Puppet / Puppet Enterprise
42. Join the Community
• Learn from others
• Ask/Answer questions
• http://ask.puppetlabs.com
• mailing lists
• IRC
• Help with bug triage
• Contribute code
• Contribute modules on the Forge
puppetlabs.com/community
44. People Love our
Worldwide Training!
I liked being with other sharp admins in an environment where
"cross-pollination" and experimentation were encouraged.
“
“A brilliant course to jump into using puppet fast and effectively.
“
Very useful information, a good start for our Puppet team, and
would highly recommend it.