User:David/GTALUG July 14th puppet: Difference between revisions

From Federal Burro of Information
Jump to navigationJump to search
(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 ==


Slides / Notes
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

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