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

From Federal Burro of Information
Jump to navigationJump to search
No edit summary
No edit summary
 
(11 intermediate revisions by the same user not shown)
Line 4: Line 4:
time goal: 40 minutes.
time goal: 40 minutes.


== Abstract ==


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.


Puppet is a tool for doing configuration management. This talk will go over what pupet is, what it can do and how to do it. There is more than one way to do it . and some lessons have been learned in the field and from the community.
== Slides / Notes ==
Slides / Notes


1. What is Puppet
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 82: Line 91:
30. Inline documentation on types
30. Inline documentation on types


31. Managing packages EXAMPLE
'''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


32. Managing services EXAMPLE
66. Where to define parameters


33. Managing files EXAMPLE
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


To be spliced in:
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.
A. work flow. day to day work.
Line 95: Line 196:
B. Puppet file / Librarian, module management , r10k.
B. Puppet file / Librarian, module management , r10k.


C.  
C. Do it yourself or modules?


Future talks:
== Future talks ==


I. Configuration management
I. Configuration management


II. Ansible
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