15. 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'],
}
!
}
16. New Approach: Software
Defined Infrastructure
1. DEFINE 2. SIMULATE
4. REPORT
Re-usable infrastructure-as-code Before deploying changes
Automatically and reliably
Insight into changes
DESIRED
STATE
CURRENT
STATE
3. ENFORCE
}
17. 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
18. Puppet
Architecture
Web Server Database Server
Application Server
Reporting
GUI &
Workflows
Content
Admin &
Security
Virtual Machine Cloud
Hardware
PUPPET MASTER SERVER
PUPPET
AGENT
PUPPET FORGE CONTENT MARKETPLACE
PUPPET
AGENT
PUPPET
AGENT
PUPPET OPEN SOURCE PLATFORM
33. Puppet
• Domain Specific Language (DSL) for
specifying infrastructure state
• Transactional system for enforcing it
• Resource Abstraction Layer (RAL)
• Validated version in Puppet
Enterprise
34. MCollective
• Powerful command and control tool
• Parallel,real-time execution across
your whole network
• Real-time discovery of all nodes and
their functions
• Drives the Orchestration Engine and
Live Management in Puppet
Enterprise
35. PuppetDB
• Stores all configurations,facts and
reports
• Knows everything there is to know
about your infrastructure
• Foundation for nearly all reporting
and analysis in Puppet Open Source
and Puppet Enterprise
36. 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
• Now structured and trusted facts
• Foundation for Puppet Enterprise
Node Inventory
37. 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
38. 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
• Tech preview in Puppet Enterprise
41. 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
42. 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.