Your SlideShare is downloading. ×
Lifecycle Management with Foreman
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Lifecycle Management with Foreman

4,687
views

Published on

Slides from my conference at CentOS Dojo Brussels 2014 at IBM

Slides from my conference at CentOS Dojo Brussels 2014 at IBM

Published in: Technology, Spiritual

0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,687
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
109
Comments
0
Likes
5
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Julien Pivotto CentOS Dojo, Brussels January 31, 2014
  • 2. whoami sysadmin @ inuits • open-source defender for 7+ years • devops believer • @roidelapluie on twitter/github • Julien Pivotto Foreman
  • 3. Introduction Julien Pivotto Foreman
  • 4. Lifecycle management • Provisioning • Automation • Reporting Julien Pivotto Foreman
  • 5. We had tools!? • Provisioning using Cobbler • Automation using Puppet/Chef/. . . • Puppet reporting with Puppet Dashboard Julien Pivotto Foreman
  • 6. Then came virtualisation • Cobbler was not enough • Using virt-install to automate VM creation • One shot command line, decentralized • Cobbler does not cluster Julien Pivotto Foreman
  • 7. Then came cloud • Where is my machine? • Bare-Metal? Bare-what? • Dynamic environments • Change quickly and often Julien Pivotto Foreman
  • 8. Cobbler • Not intuitive or reactive • Support for Xen • TFTP on the local machine • Direct control of DHCP configuration • Basic yumrepo support Julien Pivotto Foreman
  • 9. Puppet-dashboard • Puppet web frontend • It was the reference • Until the arrival of Foreman • Puppetlabs abandoned it for PuppetDB Julien Pivotto Foreman
  • 10. Provisioning • Bare metal and virtual • Multiple backends • Decentralized (control remote TFTP, DNS, DHCP) Julien Pivotto Foreman
  • 11. Automation • (puppet) ENC • Trigger puppet runs • Advanced use: parameters,. . . • History of changes • ENC is optional Julien Pivotto Foreman
  • 12. Reporting • Visualise changes • See the full logs • View the facts Julien Pivotto Foreman
  • 13. Foreman Julien Pivotto Foreman
  • 14. Foreman 101 • Foreman was used for one thing • Viewing puppet reports • Having cool statistics gathering, facts Julien Pivotto Foreman
  • 15. Meanwhile • More and more features • More than a fact/reports viewer • Interacts deeply with puppet Julien Pivotto Foreman
  • 16. Foreman 201 • Puppet reports viewer • Machine provisioning • Puppet ENC • Extendable with plugins Julien Pivotto Foreman
  • 17. Architecture Julien Pivotto Foreman
  • 18. Smart Proxies • Provides Restful API • Connect to Bind, DHCP, TFTP, . . . • Also puppet-ca, mcollective, . . . • Allow foreman to talk with services Julien Pivotto Foreman
  • 19. From the Foreman documentation
  • 20. Foreman installer • kafo • a rubygem • Command line installer • Using puppet modules • Generic Project Julien Pivotto Foreman
  • 21. Foreman installer • a lot of options • interactive installation: -i • enables/disables stuff • sets up git repositories • creates a puppet tree skeleton Julien Pivotto Foreman
  • 22. Provisioning Julien Pivotto Foreman
  • 23. Provisioning • Install any distribution • Configure almost everything • Generate snippets, kickstarts,. . . • ERB Scripting Julien Pivotto Foreman
  • 24. Providers • Libvirt • EC2 • OpenStack • Google Compute Engine • oVirt • VMWare Julien Pivotto Foreman
  • 25. OS • CentOS/RHEL • Fedora • Ubuntu/Debian • Suse • Solaris Julien Pivotto Foreman
  • 26. Features of providers • Depending on the provider • Unattended installation • Image-based install • Power management • Console (noVNC) Julien Pivotto Foreman
  • 27. Automation Julien Pivotto Foreman
  • 28. Puppet ENC • Support classes • Parametrized classes • Smart variables Julien Pivotto Foreman
  • 29. Configuration • Environments • Host groups • Classes + params • Global parameters Julien Pivotto Foreman
  • 30. Certificates • Puppet-ca proxy • Takes care of signing certificates • Trigger first puppet run • Run first puppet run in noop mode (before reboot). Julien Pivotto Foreman
  • 31. Reporting Julien Pivotto Foreman
  • 32. Puppet reports • Very detailed • History • Time per ressource • Overview of the last reports Julien Pivotto Foreman
  • 33. Host groups • Default provisioning parameters • Puppet classes • Network configuration Julien Pivotto Foreman
  • 34. Integration Julien Pivotto Foreman
  • 35. Queries • Advanced queries • Query by facts, by last report time • Create custom shorcut in the ui Julien Pivotto Foreman
  • 36. RESTful API • Complete and well documented • Everything is possible • Integrate foreman with anything Julien Pivotto Foreman
  • 37. Hammer • Command line to foreman • Scripting • Automation • Without browser (e.g no http(s) access) Julien Pivotto Foreman
  • 38. Scale Julien Pivotto Foreman
  • 39. Large infrastructure • Fine-grained roles (ACL) • LDAP authentication • Organisation/location support Julien Pivotto Foreman
  • 40. Scaling up • Multiple Puppet Masters • Multiple Smart Proxies • Foreman talks with the CA • Multiple compute resources Julien Pivotto Foreman
  • 41. Use cases Julien Pivotto Foreman
  • 42. Puppet logs reader • Why are my puppet runs taking so long? • When does that node report the last time • Quickly view facter facts • Just ignoring the provision part of foreman Julien Pivotto Foreman
  • 43. Giving access • Allow developers to create VM’s • Easy, secure, less risks • NoVNC access in browser • Usage of ACL Julien Pivotto Foreman
  • 44. Phoenix tests • Really easy to rebuild a VM • Re-provisioning • Puppet certs managed across foreman • Integrate with Jenkins (REST) Julien Pivotto Foreman
  • 45. Conclusion Julien Pivotto Foreman
  • 46. Conclusion • From small labs to larger environments • Interactions with RESTful API • Complete puppet management • Bare Metal and virtual machines Julien Pivotto Foreman
  • 47. Foreman meetings in the next days • Configuration management devroom at FOSDEM • Config Management Camp in Ghent (no tickets left) Julien Pivotto Foreman
  • 48. Thank you Any question? Julien Pivotto Foreman
  • 49. Contact Julien Pivotto julien@inuits.eu @roidelapluie INUITS bvba INUITS bvba Belgium Belgium +32 473 441 636 +32 473 441 636 https://inuits.eu https://inuits.eu Julien Pivotto Foreman

×