User:David/GTALUG July 14th puppet

From Federal Burro of Information
Jump to navigationJump to search

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