Chef for OpenStack- Fall 2012.pdf
Upcoming SlideShare
Loading in...5
×
 

Chef for OpenStack- Fall 2012.pdf

on

  • 1,151 views

true

true

Statistics

Views

Total Views
1,151
Slideshare-icon Views on SlideShare
1,151
Embed Views
0

Actions

Likes
1
Downloads
41
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Chef for OpenStack- Fall 2012.pdf Chef for OpenStack- Fall 2012.pdf Presentation Transcript

    • Chef for OpenStack Matt Ray matt@opscode.com IRC/Twitter/GitHub: mattray www.opscode.com/openstack
    • Deploying and ManagingOpenStack is not simple.
    • Chef makes it easier.
    • See NodeApplication Server
    • See NodesApplication ServerApplication Database
    • See Nodes GrowApplication ServerApplication Databases
    • See Nodes GrowApplication ServersApplication Databases
    • See Nodes GrowLoad BalancerApplication ServersApplication Databases
    • See Nodes GrowLoad Balancers Application ServersApplication Databases
    • See Nodes GrowLoad Balancers Application ServersApplication Database CacheApplication Databases
    • Tied together with ConfigLoad Balancers Application ServersApplication Database CacheApplication Databases
    • Infrastructure is a SnowflakeLoad Balancers Application ServersApplication Database CacheFloating IP?Application Databases
    • Evolving Complexity Load Balancers ApplicationCache Application ServersNoSQL Database Cache Database Slaves Database
    • Complexity Grows Quickly DC2DC1 DC3
    • And it Continues to EvolveTell me about Chef! http://www.flickr.com/photos/16339684@N00/2681435235/
    • Chef is Infrastructure as Code • Programmatically provision and configure • Treat like any other code base • Reconstruct business from code repository, data backup, and bare metal resources. http://www.flickr.com/photos/louisb/4555295187/
    • Nodes • Chef-Client generates configurations directly on nodes from their run list • Reduce management complexity through abstraction • Store the configuration of your programs in version controlhttp://www.flickr.com/photos/ssoosay/5126146763/
    • Collections of Resources• Networking • Routes • Users• Files • Groups• Directories • Tasks• Symlinks • Packages• Mounts • Software • Services • Configurations • Other Stuff http://www.flickr.com/photos/stevekeys/3123167585/
    • Declarative Interface to Resources• Define policy• Say what, not how• Pull not Pushhttp://www.flickr.com/photos/bixentro/2591838509/
    • Recipes and Cookbooks• Recipes are collections of Resources• Cookbooks contain recipes, templates, files, custom resources, etc• Code re-use and modularity• Hundreds already on Community.opscode.com http://www.flickr.com/photos/shutterhacks/4474421855/
    • Ruby!extra_packages = case node[platform] when "ubuntu","debian" %w{ ruby1.8 ruby1.8-dev rdoc1.8 ri1.8 libopenssl-ruby } endextra_packages.each do |pkg| package pkg do action :install endend
    • Search• Search for nodes with Roles• Find configuration data• IP addresses• Hostnames• FQDNs http://www.flickr.com/photos/kathycsus/2686772625
    • Pass Results to Templatespool_members = search("node","role:webserver”)template "/etc/haproxy/haproxy.cfg" do source "haproxy-app_lb.cfg.erb" owner "root" group "root" mode 0644 variables :pool_members => pool_members.uniq notifies :restart, "service[haproxy]"end
    • Pass Results to Templates# Set up application listeners here.listen application 0.0.0.0:80 balance roundrobin <% @pool_members.each do |member| -%> server <%= member[:hostname] %> <%= member[:ipaddress] %>:> weight 1 maxconn 1 check <% end -%><% if node["haproxy"]["enable_admin"] -%>listen admin 0.0.0.0:22002 mode http stats uri /<% end -%>
    • So when thisGraphite Nagios Jboss App Memcache Postgres Slaves Postgres Master
    • Becomes thisGraphite Nagios Jboss App Memcache Postgres Slaves Postgres Master
    • Updates can be automaticGraphite Nagios Jboss App Memcache Postgres Slaves Postgres Master
    • Count the resources • Load balancer config Graphite Nagios • Nagios host ping • Nagios host ssh Jboss App • Nagios host HTTP • Nagios host app health Memcache • Graphite CPU • Graphite Memory Postgres Slaves • Graphite Disk • Graphite SNMP • Memcache firewall• 12+ resource changes for 1 node addition • Postgres firewall Postgres authZ config
    • Build anything • Simple internal applications • Complex external applications • Workstations • Hadoop clusters • IaaS infrastructure • PaaS infrastructure • SaaS applications • Storage systems • You name ithttp://www.flickr.com/photos/hyku/245010680/
    • And manage it simply• Automatically reconfigure everything• Linux, Windows, Unixes, BSDs• Load balancers• Metrics collection systems• Monitoring systems• Cloud migrations become trivial http://www.flickr.com/photos/helico/404640681/
    • The Chef Community• Apache License, Version 2.0• 900+ Individual contributors• 160+ Corporate contributors • HP, Dell, Rackspace, VMware, Calxeda, SUSE and many more• 600+ cookbooks• http://community.opscode.com
    • Whats Out There?Chef for OpenStack Resources
    • Chef for OpenStack: Why• Community for the automated deployment and management of OpenStack• Reduce fragmentation and encourage collaboration• Deploying OpenStack is not "secret sauce"• Project not a product• Apache 2 license
    • Chef for OpenStack: What• Chef Repository for Deploying OpenStack• Documentation for Chef for OpenStack• Cookbooks • Keystone • Glance • Nova • Horizon • Swift• Knife OpenStack
    • Chef for OpenStack: Where• opscode.com/openstack• groups.google.com/group/opscode-chef- openstack• #openstack-chef on irc.freenode.net• github.com/opscode/openstack-chef-repo• github.com/mattray/openstack-chef-docs• github.com/opscode-cookbooks/ • keystone, glance, nova, horizon, swift• github.com/opscode/knife-openstack
    • Chef for OpenStack: Who
    • Rackspace Private Cloud: Alamo• Initial fork of current cookbooks• github.com/rcbops/chef-cookbooks• www.rackspace.com/cloud/private/
    • Chef for OpenStack: When• Essex is working • KVM • Ubuntu 12.04• Folsom has already started • LXC • Red Hat• Grizzly and forward
    • Chef for OpenStack: Howgithub.com/mattray/openstack-chef-docs
    • Deploying OpenStack• Chef ties it all together automatically• Scaling changes how we deploy• Interchangeable components• Configurations shared, supported & documented• Licensing makes it available to everyone
    • knife openstack
    • knife openstack$ knife openstackAvailable openstack subcommands: (for details, knife SUB-COMMAND --help)** OPENSTACK COMMANDS **knife openstack flavor list (options)knife openstack image list (options)knife openstack server create (options)knife openstack server delete SERVER [SERVER] (options)knife openstack server list (options)
    • knife openstack flavor list$ knife openstack flavor listID Name Virtual CPUs RAM Disk1 m1.tiny 1 512 MB 0 GB2 m1.small 2 2048 MB 20 GB3 m1.medium 2 4096 MB 40 GB4 m1.large 2 8192 MB 80 GB5 m1.xlarge 4 16384 MB 160 GB
    • knife openstack image list$ knife openstack image listID Name13 natty-server-cloudimg-amd6412 natty-server-cloudimg-amd64-kernel15 oneiric-server-cloudimg-amd6414 oneiric-server-cloudimg-amd64-kernel
    • knife openstack server createknife openstack server create --node-name ko1 --flavor 1 --image 13 -S trystack
    • $ ssh -i ~/.ssh/trystack.pem ubuntu@8.21.28.24The authenticity of host 8.21.28.24 (8.21.28.24) cant be established.RSA key fingerprint is 0c:d8:3e:34:d1:de:c4:ee:5f:bc:b5:89:11:0d:73:e0.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added 8.21.28.24 (RSA) to the list of known hosts.Welcome to Ubuntu 11.04 (GNU/Linux 2.6.38-13-virtual x86_64) * Documentation: https://help.ubuntu.com/ System information as of Thu Feb 16 23:43:29 UTC 2012 System load: 0.08 Processes: 63 Usage of /: 40.8% of 1.35GB Users logged in: 0 Memory usage: 6% IP address for eth0: 8.21.28.24 Swap usage: 0%---------------------------------------------------------------------<snip>Get cloud support with Ubuntu Advantage Cloud Guest http://www.ubuntu.com/business/services/cloudThe programs included with the Ubuntu system are free software;the exact distribution terms for each program are described in theindividual files in /usr/share/doc/*/copyright.Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted byapplicable law.To run a command as administrator (user "root"), use "sudo <command>".See "man sudo_root" for details.ubuntu@ko1:~$
    • Chef for Infrastructure Portability• knife openstack• knife hp• knife rackspace• knife ec2• ... and many others
    • Chef for OpenStack Roadmap• Documentation• Hypervisors (LXC, Hyper-V)• Databases (PostgreSQL)• Operating Systems (RHEL, Debian, SUSE)• HA Configurations• Quantum (pluggable)• Cinder (pluggable)• Community Events (NYC Nov 13)
    • Chef for OpenStack Ecosystem• Cookbooks reusable outside of OpenStack• TestKitchen• Librarian• Spiceweasel• pxe_dust• knife-rackspace/hp/dreamhost• Crowbar
    • Chef for OpenStack TL;DL• Opscode.com/openstack• Project, not a product• Lots of contributors with real deployments• Essex works, Folsom started• Features driven by demand (show up for what you want)• Documentation with examples
    • Thanks! Matt Ray matt@opscode.com IRC/Twitter/GitHub: mattray www.opscode.com/openstack