Successfully reported this slideshow.

More Related Content

Related Books

Free with a 30 day trial from Scribd

See all

PuppetCamp London 2013 - Automated OS and App deployment using Puppet and Razor - Jonas Rosland

  1. 1. Automated OS & App Deployment Using Puppet and Razor Jonas Rosland Software-Defined Specialist @virtualswede © Copyright 2012 EMC Corporation. All rights reserved. 1
  2. 2. So what’s Razor? Cloud provisioning tool Operating Systems AND Hypervisors Physical AND virtual Event-driven instead of user-driven © Copyright 2012 EMC Corporation. All rights reserved. 2
  3. 3. Why not just use templates? They get old fast Pre-packages bits are harder to maintain No easy upgrade to next distro version © Copyright 2012 EMC Corporation. All rights reserved. 3
  4. 4. So how does it work? © Copyright 2012 EMC Corporation. All rights reserved. 4
  5. 5. Auto-Discovered Real-Time Inventory Data Boots a Micro-Kernel Primarily using facter For every hardware node Eliminating inefficient, error-prone manual processes Full insight into the latest, up-to-date status of your hardware inventory © Copyright 2012 EMC Corporation. All rights reserved. 5
  6. 6. Dynamic Image Selection Selects the correct operating system image Based on auto-discovered, real-time inventory data No manual intervention needed © Copyright 2012 EMC Corporation. All rights reserved. 6
  7. 7. Model-Based Provisioning Models the desired state of each hardware node and its operating system Automatically tracks provisioning progress toward this state Full control over a node’s boot sequence and a complete log of its lifecycle © Copyright 2012 EMC Corporation. All rights reserved. 7
  8. 8. Open APIs and Plug-in Architecture RESTful open APIs Full programmatic control of the rules and models that govern operating system image selection and hardware provisioning Enables the Puppet community to collaborate and share plug-ins to support any operating system and any boot sequence © Copyright 2012 EMC Corporation. All rights reserved. 8
  9. 9. Metal-to-Cloud Application Lifecycle Management No need for siloed management tools! © Copyright 2012 EMC Corporation. All rights reserved. 9
  10. 10. Puppet + Razor = Good! © Copyright 2012 EMC Corporation. All rights reserved. 10
  11. 11. Razor installation using Puppet node razor { class { 'sudo': config_file_replace => false, } include razor } © Copyright 2012 EMC Corporation. All rights reserved. 11
  12. 12. Add a broker rz_broker { 'puppet_broker': ensure => present, plugin => 'puppet', metadata => { broker_version => '2.7.18', server => 'puppet.purevirtual.lab', } } © Copyright 2012 EMC Corporation. All rights reserved. 12
  13. 13. Add an image to deploy rz_image { "ubuntu_precise_image": ensure => present, type => 'os', version => '12.04.1', source => "http://ftp.sunet.se/pub/os/Linux/distributions/ubunt u/ubuntu-cd/12.04.1/ubuntu-12.04.1-server- amd64.iso", } © Copyright 2012 EMC Corporation. All rights reserved. 13
  14. 14. Add a model for deployment rz_model { 'install_ubuntu_precise': ensure => present, description => 'Ubuntu Precise', image => 'ubuntu_precise_image', metadata => {'domainname' => 'purevirtual.lab', 'hostname_prefix' => 'ubuntu-', 'root_password' => 'password'}, template => 'ubuntu_precise', } © Copyright 2012 EMC Corporation. All rights reserved. 14
  15. 15. Finally, create a policy to tie it all together rz_policy { 'ubuntu_precise_policy': ensure => present, broker => 'puppet_broker', model => 'install_ubuntu_precise', enabled => 'true', tags => ['memsize_1GiB'], template => 'linux_deploy', maximum => 10, } © Copyright 2012 EMC Corporation. All rights reserved. 15
  16. 16. DEMOTIME! © Copyright 2012 EMC Corporation. All rights reserved. 16
  17. 17. Wanna get started? How to and best practices on my blog: http://purevirtual.eu/category/automation/puppet/ http://purevirtual.eu/category/automation/razor/ Send me an email/tweet! jonas.rosland@emc.com @virtualswede © Copyright 2012 EMC Corporation. All rights reserved. 17

Editor's Notes

  • Ockham’s Razor = Simpler explanations is better than complex ones
  • Show:FacterRazor policyBoot up ESXi serverRazor nodeShow ESXibeing installed
  • Templates cancurrently be ”linux_deploy” or ”vmware_hypervisor”
  • Show:FacterRazor policyBoot up ESXi serverRazor nodeShow ESXibeing installed
  • ×