Post on 27-Jan-2015
description
transcript
Deploying OpenStack with Opscode Chef
sarah@opscode.comwww.opscode.com
Thursday, October 20, 2011
Who am I?
• Sarah Novotny
• Senior Field Architect
• Opscode, Inc.
• @sarahnovotny
• irc: senk
!"#$#%&'$()#)*$+),*-./$
Thursday, October 20, 2011
Deploying OpenStack is not simple.
Thursday, October 20, 2011
Chef makes it easier.
Thursday, October 20, 2011
Infrastructure as Code
Thursday, October 20, 2011
Enable the reconstruction of the business from
nothing but a source code repository, an application
data backup, and bare metal resources.
Thursday, October 20, 2011
Configuration Management
Thursday, October 20, 2011
System Integration
http://www.flickr.com/photos/opalsson/3773629074/
Thursday, October 20, 2011
Thursday, October 20, 2011
The Chef Framework
• Reasonability
• Flexibility
• Library & Primitives
• TIMTOWTDI
Thursday, October 20, 2011
The Chef Tool(s)
• ohai
• chef-client
• knife
• shef
Thursday, October 20, 2011
The Chef API
• Client/Server
• RESTful API w/ JSON
• Search Service
Thursday, October 20, 2011
Chef Nodes
• Each system you manage is called a node.
• The chef-client runs on nodes.
• The ohai discovery agent runs on nodes.
• Nodes have a run list.
• Searchable
Thursday, October 20, 2011
Chef Resources
• Have a type.
• Have a name.
• Have parameters.
• Take action to put the resource in the declared state.
• Can send notifications to other resources.
• Take action through Providers
package "haproxy" do action :installend
template "/etc/haproxy/haproxy.cfg" do source "haproxy.cfg.erb" owner "root" group "root" mode 0644 notifies :restart, "service[haproxy]"end
service "haproxy" do supports :restart => true action [:enable, :start]end
Thursday, October 20, 2011
extra_packages = case node[:platform] when "ubuntu","debian" %w{ ruby1.8 ruby1.8-dev rdoc1.8 ri1.8 libopenssl-ruby } end
extra_packages.each do |pkg| package pkg do action :install endend
Chef Recipes
• Ordered list of Resources
• Idempotent execution
• Ruby
Thursday, October 20, 2011
Chef Cookbooks
• Cookbooks are packages for Recipes
• Recipes
• Assets (files/templates)
• Attributes
• Metadata
• Distributable and managed as Source
• community.opscode.com
Thursday, October 20, 2011
Chef Roles
• Roles describe the node.
• Roles have run lists.
• Roles have attributes.
• Roles may contain other roles.
• Searchable.
• Webserver, database, Hadoop-worker, etc.
Thursday, October 20, 2011
Chef Data Bags
• Data bags store arbitrary data
• JSON
• Searchable
Thursday, October 20, 2011
The Chef Community
• Apache License, Version 2.0
• 400+ Individual contributors
• 90+ Corporate contributors
• Dell, Rackspace,VMware, RightScale, Heroku, and many more
• 300+ cookbooks
• http://community.opscode.com
Thursday, October 20, 2011
Resourcesopenstack-cookbooks
Thursday, October 20, 2011
github.com/opscode/openstack-chef-repo
• Chef repository
• cookbooks
• roles
• data bags
• diablo & essex milestones
• issues
Thursday, October 20, 2011
OpenStack Cookbooks
• Included
• glance
• nova
• swift
• Future
• dashboard
• keystone
Thursday, October 20, 2011
OpenStack Roles
• nova-single-machine
• nova-db
• nova-rabbitmq-server
• glance-single-machine
• nova-multi-controller
• nova-multi-compute
• bit.ly/OSChef will receive a major update at or before the OpenStack dev conference
Thursday, October 20, 2011
Thursday, October 20, 2011
OpenStack Data Bags
knife data bag create openstack
knife data bag from file openstack defaults.jsonknife data bag from file openstack glance.jsonknife data bag from file openstack images.json
knife data bag show openstack imagesid: imagesimages: http://uec-images.ubuntu.com/lucid/current/ubuntu-10.04-server-uec-amd64.tar.gz: arch: x86_64 distro: Ubuntu image: lucid-server-uec-amd64.img kernel: lucid-server-uec-amd64-vmlinuz-virtual version: 10.04
Thursday, October 20, 2011
Deploying OpenStack
• Scaling changes how we deploy
• Nova installation with Glance, Keystone & Dashboard
• Production-ready Swift soon
• Lightweight HA
• Upgradeable
• Configurations will be supported, shared & documented
Thursday, October 20, 2011
Spiceweasel
• yaml/json for describing infrastructure
• generates knife commands
• shareable "best practices"
• infrastructure.yml included
• bit.ly/spcwsl
Thursday, October 20, 2011
Testing OpenStack
• bare-metal to OpenStack
• ~15 minutes
• pxe_dust cookbook
• 2 networks
• admin
• public
Thursday, October 20, 2011
Crowbar
• OpenStack installer from Dell
• Components are "barclamps"
• Dell released this under the Apache 2 license
• Extension of the Chef server
• Developed by Dell, Rackspace & Opscode
• https://github.com/dellcloudedge/crowbar
Thursday, October 20, 2011
knife openstack
Thursday, October 20, 2011
knife openstack
$ gem install knife-openstack
$ knife openstack** OPENSTACK COMMANDS **knife openstack server list (options)knife openstack flavor list (options)knife openstack server create (options)knife openstack server delete SERVER [SERVER] (options)knife openstack image list (options)
Thursday, October 20, 2011
knife.rb
knife[:openstack_access_key_id] = "MeMpLexdnjmXeXGMx:admin"knife[:openstack_secret_access_key] = "nFjXAKl5G6VaXE3bVuwi"knife[:openstack_api_endpoint] = "http://192.168.11.9:8773/services/Cloud"
Thursday, October 20, 2011
knife openstack server create -S mykey -x ubuntu -I ami-4b0ff834 -f m1.tiny -r 'role[webserver]'
Thursday, October 20, 2011
What's Next?
http://www.flickr.com/photos/felixmorgner/4347750467/
Thursday, October 20, 2011
Nova Roadmap
• Diablo support is under active development
• Network Types
• Flat, FlatDHCP, VLANs, HA DHCP
• Multiple Hypervisors
• KVM, Xen, LXC, Hyper-V
• Databases
• PostgreSQL, Drizzle
Thursday, October 20, 2011
Swift Roadmap
• Diablo support is next for active development
• Rackspace has a lot of operational experience to incorporate
• Other vendors will collaborate
• Ceph?
Thursday, October 20, 2011
OpenStack Roadmap
• Diablo release (RCB patches)
• Reference Architectures
• Essex milestones (RCB patches)
• More collaborators
• RHEL 6 & Fedora
• Windows
Thursday, October 20, 2011
Get Involved!
• https://github.com/opscode/openstack-chef-repo
• https://github.com/dellcloudedge
• http://wiki.opscode.com/display/chef/Deploying+OpenStack+with+Chef
• irc.freenode.net #chef #openstack
• Twitter/GitHub/Launchpad/IRC:mattray
• matt@openstack.org/matt@opscode.com
Thursday, October 20, 2011
Questions?
http://www.flickr.com/photos/mrchippy/443960682/
Questions?
Thursday, October 20, 2011
Thanks!
http://www.opscode.com
Thursday, October 20, 2011