Os Kanies

1,198 views

Published on

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,198
On SlideShare
0
From Embeds
0
Number of Embeds
35
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Os Kanies

  1. 1. Using Puppet to Manage Your Network Luke Kanies Founder, Reductive Labs Nashville, Tennessee USA
  2. 2. Puppet is a server automation tool ...because SSH and a for loop just don’t cut it any more
  3. 3. Some things Puppet is doing • Allowing people to manage machines without ever connecting directly • Creating multiple identical machines very quickly • Deploying new applications and applications instances across people’s networks
  4. 4. Puppet’s not like the other kids
  5. 5. Everything’s replaceable and reusable Server Certificate Report Compiler Fileserver Authority Handler Networking (XMLRPC over HTTPS) Client Resource Abstraction Resource Transactions Layer Server
  6. 6. Everything’s replaceable and reusable Server Certificate Report Compiler Fileserver Authority Handler Networking (XMLRPC over HTTPS) Client Resource Abstraction Resource Transactions Layer Server
  7. 7. Everything’s replaceable and reusable Server Certificate Report Compiler Fileserver Authority Handler Networking (XMLRPC over HTTPS) Client Resource Abstraction Resource Transactions Layer Server
  8. 8. Everything’s replaceable and reusable Server Certificate Report Compiler Fileserver Authority Handler Networking (XMLRPC over HTTPS) Client Resource Abstraction Resource Transactions Layer Server
  9. 9. Resource Abstraction Layer Resource Types Package User Service apt dpkg useradd init.d SMF yum ports netinfo Providers
  10. 10. Puppet is mostly about specifying and applying configurations
  11. 11. Specification Client Facter Facts The Puppet Server Compiler Configuration Configuration Process Resources Transaction Operating System Application
  12. 12. Applying Configurations
  13. 13. Configurations Just a list of resources (users, groups, packages, etc.) with their desired state
  14. 14. Configurations are idempotent
  15. 15. Configurations are idempotent
  16. 16. Transactions do the actual work • Retrieve current state • Compare to desired state • Make any necessary changes • log and report those changes
  17. 17. A Simple Transaction
  18. 18. A Simple Transaction
  19. 19. Specifying Configurations
  20. 20. Resources are simple ...and there’s a very good reference
  21. 21. Classes: Collections of resources
  22. 22. Resource Relationships
  23. 23. Resource Relationships
  24. 24. Portability and Naming
  25. 25. Portability and Naming
  26. 26. Portability and Naming
  27. 27. The Whole Service
  28. 28. Defined Types
  29. 29. Defined Types
  30. 30. Defined Types
  31. 31. Defined Types
  32. 32. Using Defined Types
  33. 33. Using Modules
  34. 34. Bringing It Together
  35. 35. Not Just Centralized
  36. 36. Thinking About the Future • Moving parts of Puppet into stand-alone tools (e.g., nodes) • Building a site to facilitate sharing of modules • Formalizing best practice
  37. 37. Reductive Labs • Open Source Software Startup • Other projects planned, e.g., Runnels and Kinial • My full-time job, one other employee • Consulting, training, custom development, and support
  38. 38. Questions?

×