Anzeige

Vagrant and Configuration Management

Puppet
2. Apr 2011
Anzeige

Más contenido relacionado

Anzeige
Anzeige

Vagrant and Configuration Management

  1. Vagrant and Configuration Management The Guardian 1st April 2011 gareth rushgrove | morethanseven.net http://www.flickr.com/photos/mundoo/313716925
  2. morethanseven.net Gareth Rushgrove gareth rushgrove | morethanseven.net
  3. freeagentcentral.com Work at FreeAgent gareth rushgrove | morethanseven.net
  4. Blog at morethanseven.net gareth rushgrove | morethanseven.net
  5. Currate devopsweekly.com gareth rushgrove | morethanseven.net
  6. - Not all developers want to be sysadmins - New employees or contractors starting - Works on my machine syndrome - Advantage to running a full stack locally - local service based architectures Problems gareth rushgrove | morethanseven.net http://www.flickr.com/photos/arttravel_nz/4178520218
  7. - Virtualisation - Configuration management - Vagrant Solutions gareth rushgrove | morethanseven.net http://www.flickr.com/photos/exalthim/3597210568
  8. Virtualisation needs powerful hardware gareth rushgrove | morethanseven.net http://www.flickr.com/photos/martinoc/477335951
  9. VirtualBox gareth rushgrove | morethanseven.net
  10. VMware gareth rushgrove | morethanseven.net
  11. vagrantup.com Vagrant gareth rushgrove | morethanseven.net
  12. - Automated virtual machine creation using Oracle’s VirtualBox - Automated provisioning of virtual environments using Chef or Puppet - Full SSH access to created environments - Assign a static IP to your VM, accessible from your machine - Forward ports to the host machine - Shared folders allows you to continue using your own editor - Package environments into distributable boxes - Completely tear down environment when you’re done - Easily rebuild a complete environment with a single command What is Vagrant? gareth rushgrove | morethanseven.net
  13. $ gem install vagrant $ vagrant box add lucid32 http://.../lucid32.box $ vagrant init $ vagrant up Vagrant up gareth rushgrove | morethanseven.net
  14. Vagrant::Config.run do |config| config.vm.box = "lucid32" end Vagrantfile gareth rushgrove | morethanseven.net
  15. Vagrant::Config.run do |config| config.vm.forward_port("web", 80, 8080) config.vm.forward_port("ftp", 21, 4567) config.vm.forward_port("ssh", 22, 2222, :auto => true) end Port forwarding gareth rushgrove | morethanseven.net
  16. Vagrant::Config.run do |config| config.vm.share_folder("folder", "/guest", "../host") end Shared folders gareth rushgrove | morethanseven.net
  17. Vagrant::Config.run do |config| config.vm.define :web do |web_config| web_config.vm.box = "web" web_config.vm.forward_port("http", 80, 8080) end config.vm.define :db do |db_config| db_config.vm.box = "db" db_config.vm.forward_port("db", 3306, 3306) end end Multiple VMs gareth rushgrove | morethanseven.net
  18. Base boxes gareth rushgrove | morethanseven.net
  19. VeeWee gareth rushgrove | morethanseven.net
  20. Chef gareth rushgrove | morethanseven.net
  21. Vagrant::Config.run do |config| config.vm.provision :chef_solo do |chef| chef.roles_path = "roles" chef.add_role("vm") end end Vagrant provisioning with Chef gareth rushgrove | morethanseven.net
  22. Vagrant::Config.run do |config| config.vm.provision :chef_server do |chef| chef.chef_server_url = "http://chefserver" chef.add_role("vm") end end Vagrant provisioning with Chef Server gareth rushgrove | morethanseven.net
  23. Vagrant::Config.run do |config| config.vm.provision :chef_solo do |chef| chef.recipe_url = "http://github.com/cookbooks.tar.gz" chef.add_recipe "garethr" chef.cookbooks_path = [:vm, "cookbooks"] chef.json.merge!({ :garethr => { :ohmyzsh => "https://github.com/.../oh-my-zsh.git", :dotvim => "https://github.com/garethr/dotvim.git" }}) end end Remote Tar File gareth rushgrove | morethanseven.net
  24. Puppet gareth rushgrove | morethanseven.net
  25. Vagrant::Config.run do |config| config.vm.provision :puppet do |puppet| puppet.manifests_path = "puppetmanifests" puppet.manifest_file = "newbox.pp" end end Vagrant provisioning with Puppet gareth rushgrove | morethanseven.net
  26. Vagrant::Config.run do |config| config.vm.provision :puppet_server do |puppet| puppet.puppet_server = "puppet.example.com" puppet.puppet_node = "vm.example.com" end end Vagrant provisioning with Puppet Server gareth rushgrove | morethanseven.net
  27. - Executable documentation - Early and often testing of configuration - Shared language between dev and ops Advantages gareth rushgrove | morethanseven.net http://www.flickr.com/photos/exalthim/1783760822 ttp://www.flickr.com/photos/moonboots/40371626
  28. Questions? gareth rushgrove | morethanseven.net http://flickr.com/photos/psd/102332391/
Anzeige