Breaking the Kubernetes Kill Chain: Host Path Mount
20110402 expanded intro-to_puppet_texas_linuxfest
1. Expanded Introduction
to Puppet
2011-04-02
Texas Linux Fest
Austin, TX
Garrett Honeycutt
Professional Services Consultant
garrett@puppetlabs.com
http://linkedin.com/in/garretthoneycutt
2. Puppet Open Source Ecosystem
Puppet Distribution
Bundled with major OS
!
3,000 person mailing list
2,000 messages a month Puppet Community
300 people at all times in IRC Active participation
!
(#puppet on freenode.net)
100+ people 100+ modules
Puppet Contributors
contributing to contributed to
Framework
documentation Puppet Module
enhancements
and code
Forge
!
3. Operating System Support
Linux
Unix
Other
Red Hat
Solaris
Fedora
OS X
CentOS
Windows
AIX
Ubuntu
(2011)
HP-UX
Debian
SuSE
OpenBSD
4. Puppet Enterprise
What it is:
• Puppet and related components packaged and
integrated in one install:
• Puppet
• Puppet Master
• Dashboard
• Facter
• Ruby
• Apache
• Passenger, etc.
5. Puppet Enterprise
• Fully QA’d stack of Puppet and dependencies
• Simplified installation
• Ease of maintenance
• Pre-configured for scalability and performance
• Predictable enhancement delivery
• Enhanced enterprise class Support
6. Puppet Enterprise
What you can expect in the future:
• Pre-loaded set of commonly used modules
• Direct integration with public module-forge
• Support for additional platforms
• Integration with MCollective
7. MCollective adds
orchestration
Command MCollective sequences
Line Web Puppet! actions based on data
Interface interface! Dashboard! in Puppet!
(CLI)!
Scenario 1 (Complete Process)!
!
Step 1: Remove server group 3 from load balancers!
Step 2: Upgrade server on group 3!
Step 3.Verify monitoring status of group 3!
Puppet! MCollective! Step 4: Put group 3 back in load balancers!
Scenario 2 (Across Server Groups)!
!
1! 2! 3! 1! 2! 3! 1! 2! 3! Step 1: Prevent Puppet runs for machines of type 5!
Step 2: Restart Apache on all machines of type 2!
Step 3: Update machines of type 4 in batches of 50
Datacenter! Datacenter! Datacenter! every 2 hours!
Step 4: Schedule mail delivery of type 4 in batches of
50 every 2 hours!
4! 5! 6! 4! 5! 6! 4! 5! 6!
17. How Puppet Manages Data Flow
for Individual Nodes
Node
1 Facts
!"#$%&'#$(#%'($
%&)*+,-.#'$'+/+$
+0&1/$-/(#,2$/&$/"#$
3144#/$5+(/#)6
SSL secure 2 Catalog
3144#/$1(#($/"#$7+8/($/&
encryption 8&*4-,#$+$9+/+,&:$/"+/
on all data (4#8-2-#($"&;$/"#$%&'#
transport ("&1,'$0#$8&%2-:1)#'6
Report 3
!"#$%&'#$
)#4&)/($0+8=$
/&$3144#/$
-%'-8+/-%:$/"#$
8&%2-:1)+/-&%$-($
8&*4,#/#>$;"-8"$
-($?-(-0,#$-%$/"#$ Puppet
3144#/$@+("0&+)'6 Master 4 Report Collector
A3144#/$&)$B)'$4+)/<$/&&,C
Report
8+%$+,(&$(#%'$'+/+$
/&$/"-)'$4+)/<$/&&,(6
18. Catalog
• Automatically
maintained
comprehensive resource list
• Easilyvalidated against
compliance requirements prior
to client configuration
19. How Puppet Manages Data Flow
for Individual Nodes
Node
1 Facts
!"#$%&'#$(#%'($
%&)*+,-.#'$'+/+$
+0&1/$-/(#,2$/&$/"#$
3144#/$5+(/#)6
SSL secure 2 Catalog
3144#/$1(#($/"#$7+8/($/&
encryption 8&*4-,#$+$9+/+,&:$/"+/
on all data (4#8-2-#($"&;$/"#$%&'#
transport ("&1,'$0#$8&%2-:1)#'6
Report 3
!"#$%&'#$
)#4&)/($0+8=$
/&$3144#/$
-%'-8+/-%:$/"#$
8&%2-:1)+/-&%$-($
8&*4,#/#>$;"-8"$
-($?-(-0,#$-%$/"#$ Puppet
3144#/$@+("0&+)'6 Master 4 Report Collector
A3144#/$&)$B)'$4+)/<$/&&,C
Report
8+%$+,(&$(#%'$'+/+$
/&$/"-)'$4+)/<$/&&,(6
20. Report
• Comprehensive report of every
change ever made, correlated to every
resource being managed
• Easily
validated against compliance
requirements after reach run