User:David/GTALUG July 14th puppet: Difference between revisions
(Created page with " based on http://www.example42.com/tutorials/PuppetTutorial/#slide-0 time goal: 40 minutes. Slides / Notes 1. What is Puppet 2. Configuration Management advantages 3. Re...") |
No edit summary |
||
(18 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
time goal: 40 minutes. | time goal: 40 minutes. | ||
== Abstract == | |||
Puppet is a tool for doing configuration management. This talk will go over what puppet is, what it can do and how to do it. There is more than one way to do it, some lessons have been learned in the field and from the community. | |||
The talk will be based on Alessandro Franceschi's fine http://www.example42.com/tutorials/PuppetTutorial/ . Note all slides will be discussed (developer oriented slides) , and some topics not mentioned in the URL will be added (work flow topics). I intend for this talk to be a dialog and support "engaged" learning, feel free to interrupt. | |||
1. What is Puppet | == Slides / Notes == | ||
0. Meta | |||
* who am I ? David Thornton, sysadmin cica 1995. | |||
* who knows what configuration management is? | |||
* who uses a tool? | |||
* who uses puppet? | |||
* who's new, who's a sifu. | |||
1. What is Puppet? | |||
2. Configuration Management advantages | 2. Configuration Management advantages | ||
Line 13: | Line 25: | ||
3. References and Ecosystem<br> | 3. References and Ecosystem<br> | ||
also see : #puppet | also see : #puppet | ||
4. Software related to Puppet: | |||
5.Installation | |||
6. Puppet Versions | |||
* why use the ditros version? | |||
* why use puppetlabs version? | |||
* PE ? Puppet enterprise. | |||
7. Puppet Language | |||
8. Resource Types (Types) <br> | |||
9. Simple samples of resources <br> | |||
10.More Complex examples of resources <br> | |||
11. Resource Abstraction Layer | |||
12. Classes | |||
13. Defines HOMEWORK | |||
14. Variables | |||
15. User Variables | |||
16. Nodes - Default classification | |||
17. Nodes - Alternative approaches | |||
* On an External Node Classifier (ENC) | |||
* With hiera_include HOMEWORK | |||
18. The Catalog | |||
19. Operational modes | |||
* Masterless - puppet apply | |||
* Master / Client - puppet agent | |||
talking topics: | |||
* push v pull | |||
* dev versus test versus prod. | |||
20. Masterless setup | |||
21. Master / Client Setup | |||
22. Certificates management | |||
23. Certificates management - First run | |||
24. Puppet configuration: puppet.conf | |||
25. Main configuration options | |||
26. Common command-line parameters | |||
27. Useful paths | |||
28. Other configuration files: HOMEWORK | |||
29. Online documentation on types | |||
30. Inline documentation on types | |||
'''EXAMPLES''' | |||
31. Managing packages <br> | |||
32. Managing services <br> | |||
33. Managing files <br> | |||
34. Executing commands <br> | |||
35. Managing users <br> | |||
36. Puppet language style | |||
37. Resource references | |||
38. Resource defaults | |||
39. Nodes inheritance (deprecated) SKIP | |||
40. Class inheritance HOMEWORK | |||
41. Run Stages SKIP | |||
42. '''Metaparameters''' <br> | |||
43. Managing dependencies <br> | |||
44. Managing dependencies EXAMPLES <br> | |||
45. '''Conditionals''' <br> | |||
46. Sample: Assign a variable value <br> | |||
47. Comparing strings ( light treatment , writing platform independent modules ) | |||
48. Exported resources - I'm not good at this. Haven't got into this. it's pretty cool. anyone done this ?<br> | |||
49. Exported resources - Configuration | |||
50. '''Modules'''<br> | |||
51. Paths of a module<br> | |||
52. Modules paths conventions | |||
'''Template''' | |||
53. Erb templates | |||
54. Principes behind a Reusable Module | |||
55. Testing Modules | |||
56. Modules documentation with Puppet Doc | |||
57. '''Introduction to Hiera''' <br> | |||
58. Hiera configuration: hiera.yaml <br> | |||
59. Hiera Backends <br> | |||
60. Hierarchies <br> | |||
61. Using Hiera in Puppet <br> | |||
62. Puppet 3 data bindings <br> | |||
63. Using hiera from the command line <br> | |||
64. Components of a Puppet architecture | |||
65. Where to define classes | |||
66. Where to define parameters | |||
67. Where to define files | |||
68. Anatomy of a Puppet Run - Part 1: Catalog compilation | |||
69. Anatomy of a Puppet Run - Part 2: Catalog application | |||
70. Code workflow management | |||
71. Puppet Security considerations | |||
72. '''Introduction to PuppetDB''' - advanced topic probably no time, I've also not set it up or used it.<br> | |||
73. this page left intentionally blank.<br> | |||
74. PuppetDB console and tools.<br> | |||
75. PuppetDB API <br> | |||
76. Using Puppetdbquery module.<br> | |||
77. Using Puppetdbquery module II | |||
78. '''MCollective essentials''' - skip advanced, no exp. <br> | |||
79. Installation<br> | |||
80. Configuration<br> | |||
81. Using the mco command<br> | |||
82. Reporting | |||
83. Understanding Puppet runs output | |||
'''Development''' - skip, haven't done this much at all. | |||
84. Developing Facts | |||
85. Developing Types | |||
86. Developing Providers - vcsrepo is a good example. to go over. - don't skip this one bit. it 's a good example of abstraction. | |||
87. Developing Functions | |||
88. Optimize code for performance IMPORTANT | |||
89. Reduce PuppetMaster(s) load IMPORTANT | |||
== Reference material == | |||
* https://forge.puppetlabs.com/ ( CPAN for puppet, Danger lurks here. ) | |||
* Type Reference https://docs.puppetlabs.com/references/latest/type.html | |||
== To be spliced in == | |||
(missing in the borrowed talk) | |||
A. work flow. day to day work. | |||
B. Puppet file / Librarian, module management , r10k. | |||
C. Do it yourself or modules? | |||
== Future talks == | |||
I. Configuration management | |||
II. Ansible | |||
== Also See == | |||
* [[Puppet Notes]] |
Latest revision as of 19:14, 29 October 2015
based on http://www.example42.com/tutorials/PuppetTutorial/#slide-0
time goal: 40 minutes.
Abstract
Puppet is a tool for doing configuration management. This talk will go over what puppet is, what it can do and how to do it. There is more than one way to do it, some lessons have been learned in the field and from the community. The talk will be based on Alessandro Franceschi's fine http://www.example42.com/tutorials/PuppetTutorial/ . Note all slides will be discussed (developer oriented slides) , and some topics not mentioned in the URL will be added (work flow topics). I intend for this talk to be a dialog and support "engaged" learning, feel free to interrupt.
Slides / Notes
0. Meta
- who am I ? David Thornton, sysadmin cica 1995.
- who knows what configuration management is?
- who uses a tool?
- who uses puppet?
- who's new, who's a sifu.
1. What is Puppet?
2. Configuration Management advantages
3. References and Ecosystem
also see : #puppet
4. Software related to Puppet:
5.Installation
6. Puppet Versions
- why use the ditros version?
- why use puppetlabs version?
- PE ? Puppet enterprise.
7. Puppet Language
8. Resource Types (Types)
9. Simple samples of resources
10.More Complex examples of resources
11. Resource Abstraction Layer
12. Classes
13. Defines HOMEWORK
14. Variables
15. User Variables
16. Nodes - Default classification
17. Nodes - Alternative approaches
- On an External Node Classifier (ENC)
- With hiera_include HOMEWORK
18. The Catalog
19. Operational modes
- Masterless - puppet apply
- Master / Client - puppet agent
talking topics:
- push v pull
- dev versus test versus prod.
20. Masterless setup
21. Master / Client Setup
22. Certificates management
23. Certificates management - First run
24. Puppet configuration: puppet.conf
25. Main configuration options
26. Common command-line parameters
27. Useful paths
28. Other configuration files: HOMEWORK
29. Online documentation on types
30. Inline documentation on types
EXAMPLES
31. Managing packages
32. Managing services
33. Managing files
34. Executing commands
35. Managing users
36. Puppet language style
37. Resource references
38. Resource defaults
39. Nodes inheritance (deprecated) SKIP
40. Class inheritance HOMEWORK
41. Run Stages SKIP
42. Metaparameters
43. Managing dependencies
44. Managing dependencies EXAMPLES
45. Conditionals
46. Sample: Assign a variable value
47. Comparing strings ( light treatment , writing platform independent modules )
48. Exported resources - I'm not good at this. Haven't got into this. it's pretty cool. anyone done this ?
49. Exported resources - Configuration
50. Modules
51. Paths of a module
52. Modules paths conventions
Template 53. Erb templates
54. Principes behind a Reusable Module 55. Testing Modules 56. Modules documentation with Puppet Doc
57. Introduction to Hiera
58. Hiera configuration: hiera.yaml
59. Hiera Backends
60. Hierarchies
61. Using Hiera in Puppet
62. Puppet 3 data bindings
63. Using hiera from the command line
64. Components of a Puppet architecture
65. Where to define classes
66. Where to define parameters
67. Where to define files
68. Anatomy of a Puppet Run - Part 1: Catalog compilation 69. Anatomy of a Puppet Run - Part 2: Catalog application
70. Code workflow management
71. Puppet Security considerations
72. Introduction to PuppetDB - advanced topic probably no time, I've also not set it up or used it.
73. this page left intentionally blank.
74. PuppetDB console and tools.
75. PuppetDB API
76. Using Puppetdbquery module.
77. Using Puppetdbquery module II
78. MCollective essentials - skip advanced, no exp.
79. Installation
80. Configuration
81. Using the mco command
82. Reporting
83. Understanding Puppet runs output
Development - skip, haven't done this much at all. 84. Developing Facts 85. Developing Types 86. Developing Providers - vcsrepo is a good example. to go over. - don't skip this one bit. it 's a good example of abstraction. 87. Developing Functions
88. Optimize code for performance IMPORTANT
89. Reduce PuppetMaster(s) load IMPORTANT
Reference material
- https://forge.puppetlabs.com/ ( CPAN for puppet, Danger lurks here. )
- Type Reference https://docs.puppetlabs.com/references/latest/type.html
To be spliced in
(missing in the borrowed talk)
A. work flow. day to day work.
B. Puppet file / Librarian, module management , r10k.
C. Do it yourself or modules?
Future talks
I. Configuration management
II. Ansible