SlideShare a Scribd company logo
1 of 76
Download to read offline
Automated Deployment
of OpenStack with Chef
        SCALE 9x
   February 25-27, 2011
Introductions

            Matt Ray
            Senior Technical Evangelist
            matt@opscode.com
            @mattray
            GitHub:mattray
What is OpenStack?
Founders
 operate at
massive scale
                 NASA
OpenStack: The Mission

           "To produce the ubiquitous Open Source
           cloud computing platform that will meet
           the needs of public and private cloud
           providers regardless of size, by being
           simple to implement and massively
           scalable."
OpenStack Founding Principles

          Apache 2.0 license (OSI), open development process
          Open design process, 2x year public Design
          Summits
          Publicly available open source code repositories
          Open community processes documented and
          transparent
          Commitment to drive and adopt open standards
          Modular design for deployment flexibility via APIs
Community with Broad Support
Software to provision virtual machines on
                    standard hardware at massive scale

OpenStack Compute


creating open source software
  to build public and private
            clouds
                    Software to reliably store billions of objects
                    distributed across standard hardware

 OpenStack
Object Storage
OpenStack Compute Key Features

                                             ReST-based API
       Asynchronous
 eventually consistent
      communication



                                                        Horizontally and
                                                        massively scalable



        Hypervisor agnostic:
      support for Xen ,XenServer, Hyper-V,
            KVM, UML and ESX is coming
                                                 Hardware agnostic:
                                                 standard hardware, RAID not required
User Manager




Cloud Controller: Global state of
system, talks to LDAP, OpenStack
Object Storage, and node/storage
workers through a queue
                                                            ATAoE / iSCSI




API: Receives HTTP requests,
converts commands to/from API
format, and sends requests to cloud
controller

                                                              Host Machines: workers
                                                              that spawn instances

                                        Glance: HTTP + OpenStack Object
OpenStack Compute                       Storage for server images
Hardware Requirements

           OpenStack is designed to run on industry
           standard hardware, with flexible configurations

         Compute
         x86 Server (Hardware Virt. recommended)
         Storage flexible (Local, SAN, NAS)

         Object Storage
         x86 Server (other architectures possible)
         Do not deploy with RAID (can use controller for cache)
Why is OpenStack important?



         Open eliminates vendor lock-in
         Working together, we all go faster
         Freedom to federate, or move
          between clouds
What is Chef?
Chef enables Infrastructure as Code


           Manage configuration as idempotent
           Resources.
           Put them together in Recipes.
           Track it like Source Code.
           Configure your servers.
At a High Level


           A library for configuration management
           A configuration management system
           A systems integration platform
           An API for your entire Infrastructure
Fully automated
 Infrastructure
Principles


             Idempotent
             Data-driven
             Sane defaults
             Hackability
             TMTOWTDI
Open Source and Community


          Apache licensed
          Large and active community
          Over 280 individual contributors (60+
          corporate)
          Community is Important!
How does it Work?
How does it Work?
     Magic!
How does it Work?
     Magic!
   (no really)
Chef Client runs on
  your System
Chef Client runs on
  your System
       ohai!
Clients talk to the
   Chef Server
The Opscode Platform
is a hosted Chef Server
We call each system
you configure a Node
Nodes have Attributes
{
  "kernel": {
     "machine": "x86_64",
     "name": "Darwin",
                                       Kernel info!
     "os": "Darwin",
     "version": "Darwin Kernel Version 10.4.0: Fri Apr 23 18:28:53 PDT 2010;
root:xnu-1504.7.4~1/RELEASE_I386",

  },
     "release": "10.4.0"                               Platform info!
  "platform_version": "10.6.4",
  "platform": "mac_os_x",
  "platform_build": "10F569",
  "domain": "local",
  "os": "darwin",
  "current_user": "mray",
  "ohai_time": 1278602661.60043,
  "os_version": "10.4.0",
                                                       Hostname and IP!
  "uptime": "18 days 17 hours 49 minutes 18 seconds",
  "ipaddress": "10.13.37.116",
  "hostname": "morbo",
  "fqdn": "morbomorbo.local",
  "uptime_seconds": 1619358
}
Nodes have a Run List
  What Roles and Recipes
    to Apply in Order
Nodes have Roles
Nodes have Roles
webserver, database, monitoring, etc.
Roles have a Run List
  What Roles and Recipes
    to Apply in Order
name "webserver"
description "Systems that serve HTTP traffic"

run_list(
  "role[base]",
                                 Can include
  "recipe[apache2]",             other roles!
  "recipe[apache2::mod_ssl]"
)

default_attributes(
  "apache" => {
    "listen_ports" => [ "80", "443" ]
  }
)

override_attributes(
  "apache" => {
    "max_children" => "50"
  }
)
                                                33
Chef manages
Resources on Nodes
Resources

 ‣ Have a type                  package "apache2" do
                                  version "2.2.11-2ubuntu2.6"
                                  action :install
 ‣ Have a name                  end

                                template "/etc/apache2/apache2.conf" do
 ‣ Have parameters                source "apache2.conf.erb"
                                  owner "root"
 ‣ Take action to put the         group "root"
                                  mode 0644
   resource in the                action :create
   declared state               end


    Declare a description of the state a part of the node should be in
Resources take action
  through Providers
Recipes are lists of
   Resources
Recipes

                                           1
                           package "apache2" do
                             version "2.2.11-2ubuntu2.6"
                             action :install
                           end

  Evaluate and apply       template "/etc/apache2/apache2.conf" do
  Resources in the order     source "apache2.conf.erb"
                             owner "root"
  they appear                group "root"
                             mode 0644
                             action :create2
                           end
Order Matters
Recipes are just Ruby!
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
  end
end
Cookbooks are
packages for Recipes
Cookbooks


            Distributable
            cookbooks.opscode.com
            Infrastructure as Code
            Versioned
Cookbooks


            Recipes
            Files
            Templates
            Attributes
            Metadata
Data bags store
 arbitrary data
A user data bag item...
% knife data bag show users mray
{
  "comment": "Matt Ray",
  "groups": "sysadmin",
  "ssh_keys": "ssh-rsa SUPERSEKRATS mray@morbo",
  "files": {
     ".bashrc": {
        "mode": "0644",
        "source": "dot-bashrc"
     },
     ".emacs": {
        "mode": "0644",
        "source": "dot-emacs"
     }
  },
  "id": "mray",
  "uid": 7004,
  "shell": "/usr/bin/bash"
  }
Environments manage
versioned infrastructure
Command-line API
  utility, Knife


       http://www.flickr.com/photos/myklroventine/3474391066/
     Copyright © 2011 Opscode, Inc - All Rights Reserved       47
Search
                         $ knife search node 'platform:ubuntu'
‣ CLI or in Ruby
                         search(:node, ‘platform:centos’)
‣ Nodes are searchable   $ knife search role 'max_children:50'

‣ Roles are searchable   search(:role, ‘max_children:50’)

‣ Recipes are            $ knife search node ‘role:webserver’

 searchable              search(:node, ‘role:webserver’)

‣ Data bags are          $ knife users ‘shell:/bin/bash’

 searchable              search (:users, ‘group:sysadmins’)
HOW TO: Turn Racks of
Standard Hardware Into a
  Cloud with OpenStack
What Works Today?
Compute (Nova)

          Single machine installation
         ‣ MySQL, RabbitMQ, OpenLDAP
         ‣ Nova-(api|scheduler|network|objectstore|compute)
         ‣ Role: nova-single-machine-install
          Multi-machine
         ‣ Role: nova-multi-controller (1)
         ‣ Role: nova-multi-compute (N)
Role: nova-single-machine-install
name "nova-single-machine-install"
description "Installs everything required to run Nova on a single
machine"
run_list(
          "recipe[apt]",
          "recipe[nova::mysql]",
          "recipe[nova::openldap]",
          "recipe[nova::rabbit]",
          "recipe[nova::common]",
          "recipe[nova::api]",
          "recipe[nova::scheduler]",
          "recipe[nova::network]",
          "recipe[nova::objectstore]",
          "recipe[nova::compute]",
          "recipe[nova::setup]",
          "recipe[nova::creds]",
          "recipe[nova::finalize]"
          )
Role: nova-multi-controller
name "nova-multi-controller"

description "Installs requirements to run the Controller node in a
Nova cluster"
run_list(
          "recipe[apt]",
          "recipe[nova::mysql]",
          "recipe[nova::openldap]",
          "recipe[nova::rabbit]",
          "recipe[nova::common]",
          "recipe[nova::api]",
          "recipe[nova::objectstore]",
          "recipe[nova::compute]",
          "recipe[nova::setup]",
          "recipe[nova::creds]",
          "recipe[nova::finalize]"
          )
Role: nova-multi-compute
name "nova-multi-compute"

description "Installs requirements to run a Compute node in a Nova
cluster"
run_list(
          "recipe[apt]",
          "recipe[nova::network]",
          "recipe[nova::compute]",
          )
Starting with a provisioned server
‣ Ubuntu 10.10
 (preseed)
  ‣ openssh-server
  ‣ virtual-machine-host
 knife bootstrap crushinator.localdomain ~/.ssh/id_rsa -x mray 
 --sudo -d ubuntu10.04-gems
Installation



‣ Cookbooks uploaded   $
                       $
                           knife cookbook upload -a
                           knife cookbook list
                       $   rake roles
‣ Roles uploaded       $   knife role list
                       $   knife node list
‣ Nodes ready
AMIs
name "nova-ami-urls"
description "Feed in a list URLs for AMIs to download"
default_attributes(
  "nova" => {
    "images" =>
["http://192.168.11.7/ubuntu1010-UEC-localuser-image.tar.gz”]
      }
  )

$ knife role from file roles/nova-ami-urls.rb


‣ Use an existing AMI
‣ Update URL to your own
Assign the Roles
$ knife node run_list add crushinator.localdomain "role[nova-ami-
urls]"
{
  "run_list": [
    "role[nova-ami-urls]"
  ]
}

$ knife node run_list add crushinator.localdomain "role[nova-single-
machine-install]"
{
  "run_list": [
    "role[nova-ami-urls]"
    "role[nova-single-machine-install]",
  ]
}
chef-client
mray@ubuntu1010:~$ sudo chef-client
[Fri, 25 Feb 2011 11:52:59 -0800] INFO:   Starting Chef Run (Version
0.9.12)
...
[Fri, 25 Feb 2011 11:56:05 -0800] INFO:   Chef Run complete in
5.911955 seconds
[Fri, 25 Feb 2011 11:56:05 -0800] INFO:   cleaning the checksum cache
[Fri, 25 Feb 2011 11:56:05 -0800] INFO:   Running report handlers
[Fri, 25 Feb 2011 11:56:05 -0800] INFO:   Report handlers complete
sudo su - nova
nova@$ nova-manage   service list
h00-26-6c-f4-1e-a0   nova-scheduler enabled :-) 2011-02-25 18:30:45
h00-26-6c-f4-1e-a0   nova-network enabled :-) 2011-02-25 18:30:48
h00-26-6c-f4-1e-a0   nova-compute enabled :-) 2011-02-25 18:30:50

nova@$ euca-describe-images
IMAGE! ami-90hgmwai!nova_amis/maverick-server-uec-amd64-vmlinuz-
virtual.manifest.xml! admin! available! private i386!kernel!
                                                           true!
IMAGE! ami-h8wh0j17!nova_amis/maverick-server-uec-
amd64.img.manifest.xml!admin! untarring!private i386!machine
! ami-90hgmwai!

nova@$ euca-run-instances ami-h8wh0j17 -k mykey -t m1.tiny
RESERVATION! r-uur39109! admin! default
INSTANCE! i-00000001! ami-h8wh0j17!! ! scheduling! mykey (admin,
None)! 0! ! m1.tiny! 2011-02-25 18:34:01! nknown zone!!
                                         u
sudo su - nova (page 2)
nova@$ euca-describe-instances
RESERVATION! r-uur39109! admin! default
INSTANCE! i-00000001! ami-h8wh0j17!10.0.0.2! 10.0.0.2! running
! mykey (admin, h00-26-6c-f4-1e-a0)! 0! ! m1.tiny! 2011-02-25
18:34:01! nova!

nova@$ ssh -i mykey.priv ubuntu@10.0.0.2
The authenticity of host '10.0.0.2 (10.0.0.2)' can't be established.
RSA key fingerprint is 91:21:ef:5d:33:17:24:cb:f6:65:dd:27:1d:1c:
50:ad.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.0.2' (RSA) to the list of known
hosts.
The Moment of Truth
Linux i-00000001 2.6.35-24-virtual #42-Ubuntu SMP Thu Dec 2 05:15:26
UTC 2010 x86_64 GNU/Linux
Ubuntu 10.10

Welcome to Ubuntu!
<SNIP>
See "man sudo_root" for details.

ubuntu@i-00000001:~$
How Did We Get Here?
Forked from Anso Labs’ Cookbooks



        Bootstrapped by Opscode

        Chef Solo/Vagrant installs for Developers

        http://github.com/ansolabs/openstack-cookbooks
Who’s involved
so far?
What’s Next?
Nova needed enhancements

         Happy Path-only!
         KVM-only
         MySQL-only
         Flat DHCP network-only
         Swift and Glance integration
         More Roles
Dashboard

            Graphical interface for managing
            instantiation of AMIs
            Django application
            dashboard.rb recipe already exists in
            nova cookbook
Knife

        ‣ Nova has same API as Amazon
         ‣ knife ec2 server create ‘role[base]’ -I ~/.ssh/my.pem -x
           ubuntu -G default -i ami-a403f6xd -f m1.micro


        ‣ Fog reportedly supports OpenStack already
        ‣ Simply need to pass URL of nova-api server and
         credentials

        ‣ http://tickets.opscode.com/browse/CHEF-1757
         ‣ knife openstack server create ‘role[base]’ -I ~/.ssh/my.pem
           -x ubuntu -G default -i ami-a403f6xd -f m1.micro
Object Storage (Swift)



           ‣ Recipes originated from Anso Labs’ repository
            ‣ https://github.com/ansolabs/openstack-cookbooks

           ‣ Included in the ‘bexar’ branch
           ‣ Untested so far
Image Registry (Glance)



          ‣ Recipes originated from Anso Labs’ repository
           ‣ https://github.com/ansolabs/openstack-cookbooks

          ‣ Included in the ‘bexar’ branch
          ‣ Untested so far
Scaling changes how
we deploy OpenStack!
Deployment Scenarios

         ‣ Single machine is relatively simple
         ‣ Controller + Compute nodes is a known quantity
          for small installations

         ‣ Nova + Swift + Glance in large installations
         ‣ Services separated and HA configurations
          supported

         ‣ Documentation and Chef Roles will be the
          solution
Cactus, Diablo, ...


            Development continues...
            Branches for each stable release
            Design Summit in April
            Design Summit in the Fall
Get Involved!

    https://github.com/mattray/openstack-cookbooks/tree/bexar
    http://lists.openstack.org
    http://lists.opscode.com
    #chef on irc.freenode.net
    #openstack on irc.freenode.net
    matt@opscode.com
    jordan@openstack.com

More Related Content

What's hot

Startup Containers in Lightning Speed with Lazy Image Distribution
Startup Containers in Lightning Speed with Lazy Image DistributionStartup Containers in Lightning Speed with Lazy Image Distribution
Startup Containers in Lightning Speed with Lazy Image DistributionKohei Tokunaga
 
Rootless Containers & Unresolved issues
Rootless Containers & Unresolved issuesRootless Containers & Unresolved issues
Rootless Containers & Unresolved issuesAkihiro Suda
 
Usernetes: Kubernetes as a non-root user
Usernetes: Kubernetes as a non-root userUsernetes: Kubernetes as a non-root user
Usernetes: Kubernetes as a non-root userAkihiro Suda
 
DockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるDockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるKohei Tokunaga
 
[DockerCon 2019] Hardening Docker daemon with Rootless mode
[DockerCon 2019] Hardening Docker daemon with Rootless mode[DockerCon 2019] Hardening Docker daemon with Rootless mode
[DockerCon 2019] Hardening Docker daemon with Rootless modeAkihiro Suda
 
P2P Container Image Distribution on IPFS With containerd and nerdctl
P2P Container Image Distribution on IPFS With containerd and nerdctlP2P Container Image Distribution on IPFS With containerd and nerdctl
P2P Container Image Distribution on IPFS With containerd and nerdctlKohei Tokunaga
 
[Paris Container Day 2021] nerdctl: yet another Docker & Docker Compose imple...
[Paris Container Day 2021] nerdctl: yet another Docker & Docker Compose imple...[Paris Container Day 2021] nerdctl: yet another Docker & Docker Compose imple...
[Paris Container Day 2021] nerdctl: yet another Docker & Docker Compose imple...Akihiro Suda
 
Rootless Kubernetes
Rootless KubernetesRootless Kubernetes
Rootless KubernetesAkihiro Suda
 
Secure container: Kata container and gVisor
Secure container: Kata container and gVisorSecure container: Kata container and gVisor
Secure container: Kata container and gVisorChing-Hsuan Yen
 
[DockerCon 2020] Hardening Docker daemon with Rootless Mode
[DockerCon 2020] Hardening Docker daemon with Rootless Mode[DockerCon 2020] Hardening Docker daemon with Rootless Mode
[DockerCon 2020] Hardening Docker daemon with Rootless ModeAkihiro Suda
 
KVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStackKVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStackBoden Russell
 
The State of Rootless Containers
The State of Rootless ContainersThe State of Rootless Containers
The State of Rootless ContainersAkihiro Suda
 
Build and Run Containers With Lazy Pulling - Adoption status of containerd St...
Build and Run Containers With Lazy Pulling - Adoption status of containerd St...Build and Run Containers With Lazy Pulling - Adoption status of containerd St...
Build and Run Containers With Lazy Pulling - Adoption status of containerd St...Kohei Tokunaga
 
Docker engine - Indroduc
Docker engine - IndroducDocker engine - Indroduc
Docker engine - IndroducAl Gifari
 
containerdの概要と最近の機能
containerdの概要と最近の機能containerdの概要と最近の機能
containerdの概要と最近の機能Kohei Tokunaga
 
Docker - container and lightweight virtualization
Docker - container and lightweight virtualization Docker - container and lightweight virtualization
Docker - container and lightweight virtualization Sim Janghoon
 
Java applications containerized and deployed
Java applications containerized and deployedJava applications containerized and deployed
Java applications containerized and deployedAnthony Dahanne
 
Comparing Next-Generation Container Image Building Tools
 Comparing Next-Generation Container Image Building Tools Comparing Next-Generation Container Image Building Tools
Comparing Next-Generation Container Image Building ToolsAkihiro Suda
 
[KubeCon EU 2020] containerd Deep Dive
[KubeCon EU 2020] containerd Deep Dive[KubeCon EU 2020] containerd Deep Dive
[KubeCon EU 2020] containerd Deep DiveAkihiro Suda
 

What's hot (20)

Startup Containers in Lightning Speed with Lazy Image Distribution
Startup Containers in Lightning Speed with Lazy Image DistributionStartup Containers in Lightning Speed with Lazy Image Distribution
Startup Containers in Lightning Speed with Lazy Image Distribution
 
Rootless Containers & Unresolved issues
Rootless Containers & Unresolved issuesRootless Containers & Unresolved issues
Rootless Containers & Unresolved issues
 
Usernetes: Kubernetes as a non-root user
Usernetes: Kubernetes as a non-root userUsernetes: Kubernetes as a non-root user
Usernetes: Kubernetes as a non-root user
 
DockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるDockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐる
 
[DockerCon 2019] Hardening Docker daemon with Rootless mode
[DockerCon 2019] Hardening Docker daemon with Rootless mode[DockerCon 2019] Hardening Docker daemon with Rootless mode
[DockerCon 2019] Hardening Docker daemon with Rootless mode
 
P2P Container Image Distribution on IPFS With containerd and nerdctl
P2P Container Image Distribution on IPFS With containerd and nerdctlP2P Container Image Distribution on IPFS With containerd and nerdctl
P2P Container Image Distribution on IPFS With containerd and nerdctl
 
[Paris Container Day 2021] nerdctl: yet another Docker & Docker Compose imple...
[Paris Container Day 2021] nerdctl: yet another Docker & Docker Compose imple...[Paris Container Day 2021] nerdctl: yet another Docker & Docker Compose imple...
[Paris Container Day 2021] nerdctl: yet another Docker & Docker Compose imple...
 
Rootless Kubernetes
Rootless KubernetesRootless Kubernetes
Rootless Kubernetes
 
Secure container: Kata container and gVisor
Secure container: Kata container and gVisorSecure container: Kata container and gVisor
Secure container: Kata container and gVisor
 
[DockerCon 2020] Hardening Docker daemon with Rootless Mode
[DockerCon 2020] Hardening Docker daemon with Rootless Mode[DockerCon 2020] Hardening Docker daemon with Rootless Mode
[DockerCon 2020] Hardening Docker daemon with Rootless Mode
 
App container rkt
App container rktApp container rkt
App container rkt
 
KVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStackKVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStack
 
The State of Rootless Containers
The State of Rootless ContainersThe State of Rootless Containers
The State of Rootless Containers
 
Build and Run Containers With Lazy Pulling - Adoption status of containerd St...
Build and Run Containers With Lazy Pulling - Adoption status of containerd St...Build and Run Containers With Lazy Pulling - Adoption status of containerd St...
Build and Run Containers With Lazy Pulling - Adoption status of containerd St...
 
Docker engine - Indroduc
Docker engine - IndroducDocker engine - Indroduc
Docker engine - Indroduc
 
containerdの概要と最近の機能
containerdの概要と最近の機能containerdの概要と最近の機能
containerdの概要と最近の機能
 
Docker - container and lightweight virtualization
Docker - container and lightweight virtualization Docker - container and lightweight virtualization
Docker - container and lightweight virtualization
 
Java applications containerized and deployed
Java applications containerized and deployedJava applications containerized and deployed
Java applications containerized and deployed
 
Comparing Next-Generation Container Image Building Tools
 Comparing Next-Generation Container Image Building Tools Comparing Next-Generation Container Image Building Tools
Comparing Next-Generation Container Image Building Tools
 
[KubeCon EU 2020] containerd Deep Dive
[KubeCon EU 2020] containerd Deep Dive[KubeCon EU 2020] containerd Deep Dive
[KubeCon EU 2020] containerd Deep Dive
 

Similar to SCALE 2011 Deploying OpenStack with Chef

TXLF: Automated Deployment of OpenStack with Chef
TXLF: Automated Deployment of OpenStack with ChefTXLF: Automated Deployment of OpenStack with Chef
TXLF: Automated Deployment of OpenStack with ChefMatt Ray
 
Chef for OpenStack December 2012
Chef for OpenStack December 2012Chef for OpenStack December 2012
Chef for OpenStack December 2012Matt Ray
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developerPaul Czarkowski
 
Baylisa - Dive Into OpenStack
Baylisa - Dive Into OpenStackBaylisa - Dive Into OpenStack
Baylisa - Dive Into OpenStackJesse Andrews
 
Deploying OpenStack with Chef
Deploying OpenStack with ChefDeploying OpenStack with Chef
Deploying OpenStack with ChefMatt Ray
 
Develop with linux containers and docker
Develop with linux containers and dockerDevelop with linux containers and docker
Develop with linux containers and dockerFabio Fumarola
 
2 Linux Container and Docker
2 Linux Container and Docker2 Linux Container and Docker
2 Linux Container and DockerFabio Fumarola
 
Velocity 2011 Chef OpenStack Workshop
Velocity 2011 Chef OpenStack WorkshopVelocity 2011 Chef OpenStack Workshop
Velocity 2011 Chef OpenStack WorkshopChef Software, Inc.
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and dockerFabio Fumarola
 
A DevOps guide to Kubernetes
A DevOps guide to KubernetesA DevOps guide to Kubernetes
A DevOps guide to KubernetesPaul Czarkowski
 
Drupal In The Cloud
Drupal In The CloudDrupal In The Cloud
Drupal In The CloudBret Piatt
 
Whirr dev-up-puppetconf2011
Whirr dev-up-puppetconf2011Whirr dev-up-puppetconf2011
Whirr dev-up-puppetconf2011Puppet
 
Bhushan m dev_ops_engr_31june
Bhushan m dev_ops_engr_31juneBhushan m dev_ops_engr_31june
Bhushan m dev_ops_engr_31juneBhushan Mahajan
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Arun prasath
 
Serverless forwardjs
Serverless forwardjsServerless forwardjs
Serverless forwardjsUpkar Lidder
 
Bare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and ChefBare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and ChefMatt Ray
 
OpenStack Winfest2011
OpenStack Winfest2011OpenStack Winfest2011
OpenStack Winfest2011Open Stack
 
Omaha (Google Update) server
Omaha (Google Update) serverOmaha (Google Update) server
Omaha (Google Update) serverDmitry Lyfar
 

Similar to SCALE 2011 Deploying OpenStack with Chef (20)

TXLF: Automated Deployment of OpenStack with Chef
TXLF: Automated Deployment of OpenStack with ChefTXLF: Automated Deployment of OpenStack with Chef
TXLF: Automated Deployment of OpenStack with Chef
 
Chef for OpenStack December 2012
Chef for OpenStack December 2012Chef for OpenStack December 2012
Chef for OpenStack December 2012
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developer
 
Baylisa - Dive Into OpenStack
Baylisa - Dive Into OpenStackBaylisa - Dive Into OpenStack
Baylisa - Dive Into OpenStack
 
Deploying OpenStack with Chef
Deploying OpenStack with ChefDeploying OpenStack with Chef
Deploying OpenStack with Chef
 
Develop with linux containers and docker
Develop with linux containers and dockerDevelop with linux containers and docker
Develop with linux containers and docker
 
2 Linux Container and Docker
2 Linux Container and Docker2 Linux Container and Docker
2 Linux Container and Docker
 
Velocity 2011 Chef OpenStack Workshop
Velocity 2011 Chef OpenStack WorkshopVelocity 2011 Chef OpenStack Workshop
Velocity 2011 Chef OpenStack Workshop
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and docker
 
Chef For OpenStack Overview
Chef For OpenStack OverviewChef For OpenStack Overview
Chef For OpenStack Overview
 
A DevOps guide to Kubernetes
A DevOps guide to KubernetesA DevOps guide to Kubernetes
A DevOps guide to Kubernetes
 
Drupal In The Cloud
Drupal In The CloudDrupal In The Cloud
Drupal In The Cloud
 
Whirr dev-up-puppetconf2011
Whirr dev-up-puppetconf2011Whirr dev-up-puppetconf2011
Whirr dev-up-puppetconf2011
 
Bhushan m dev_ops_engr_31june
Bhushan m dev_ops_engr_31juneBhushan m dev_ops_engr_31june
Bhushan m dev_ops_engr_31june
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment
 
Dockers zero to hero
Dockers zero to heroDockers zero to hero
Dockers zero to hero
 
Serverless forwardjs
Serverless forwardjsServerless forwardjs
Serverless forwardjs
 
Bare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and ChefBare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and Chef
 
OpenStack Winfest2011
OpenStack Winfest2011OpenStack Winfest2011
OpenStack Winfest2011
 
Omaha (Google Update) server
Omaha (Google Update) serverOmaha (Google Update) server
Omaha (Google Update) server
 

More from Matt Ray

Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...
SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...
SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...Matt Ray
 
HashiTalks 2020 - Chef Tools & Terraform: Better Together
HashiTalks 2020 - Chef Tools & Terraform: Better TogetherHashiTalks 2020 - Chef Tools & Terraform: Better Together
HashiTalks 2020 - Chef Tools & Terraform: Better TogetherMatt Ray
 
EmacsConf 2019: Interactive Remote Debugging and Development with TRAMP Mode
EmacsConf 2019: Interactive Remote Debugging and Development with TRAMP ModeEmacsConf 2019: Interactive Remote Debugging and Development with TRAMP Mode
EmacsConf 2019: Interactive Remote Debugging and Development with TRAMP ModeMatt Ray
 
Wellington DevOps: Bringing Your Applications into the Future with Habitat
Wellington DevOps: Bringing Your Applications into the Future with HabitatWellington DevOps: Bringing Your Applications into the Future with Habitat
Wellington DevOps: Bringing Your Applications into the Future with HabitatMatt Ray
 
DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...
DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...
DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...Matt Ray
 
Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...
Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...
Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...Matt Ray
 
Compliance as Code Everywhere
Compliance as Code EverywhereCompliance as Code Everywhere
Compliance as Code EverywhereMatt Ray
 
DevOpsDays Jakarta: State of DevOps 2018
DevOpsDays Jakarta: State of DevOps 2018DevOpsDays Jakarta: State of DevOps 2018
DevOpsDays Jakarta: State of DevOps 2018Matt Ray
 
DevOps Talks Melbourne 2018: Whales, Cats and Kubernetes
DevOps Talks Melbourne 2018: Whales, Cats and KubernetesDevOps Talks Melbourne 2018: Whales, Cats and Kubernetes
DevOps Talks Melbourne 2018: Whales, Cats and KubernetesMatt Ray
 
Infrastructure and Compliance Delight with Chef Automate
Infrastructure and Compliance Delight with Chef AutomateInfrastructure and Compliance Delight with Chef Automate
Infrastructure and Compliance Delight with Chef AutomateMatt Ray
 
Cooking Up Windows with Chef Automate
Cooking Up Windows with Chef AutomateCooking Up Windows with Chef Automate
Cooking Up Windows with Chef AutomateMatt Ray
 
DevOpsDays Singapore - Continuous Auditing with Compliance as Code
DevOpsDays Singapore - Continuous Auditing with Compliance as CodeDevOpsDays Singapore - Continuous Auditing with Compliance as Code
DevOpsDays Singapore - Continuous Auditing with Compliance as CodeMatt Ray
 
DevOpsDays Singapore Habitat Ignite
DevOpsDays Singapore Habitat IgniteDevOpsDays Singapore Habitat Ignite
DevOpsDays Singapore Habitat IgniteMatt Ray
 
Chef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User GroupChef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User GroupMatt Ray
 
Automating Compliance with InSpec - AWS North Sydney
Automating Compliance with InSpec - AWS North SydneyAutomating Compliance with InSpec - AWS North Sydney
Automating Compliance with InSpec - AWS North SydneyMatt Ray
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupMatt Ray
 
Automating AWS Compliance with InSpec
Automating AWS Compliance with InSpec Automating AWS Compliance with InSpec
Automating AWS Compliance with InSpec Matt Ray
 
Chef Automate - Infracoders Canberra August 8, 2017
Chef Automate - Infracoders Canberra August 8, 2017Chef Automate - Infracoders Canberra August 8, 2017
Chef Automate - Infracoders Canberra August 8, 2017Matt Ray
 

More from Matt Ray (20)

Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...
SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...
SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...
 
HashiTalks 2020 - Chef Tools & Terraform: Better Together
HashiTalks 2020 - Chef Tools & Terraform: Better TogetherHashiTalks 2020 - Chef Tools & Terraform: Better Together
HashiTalks 2020 - Chef Tools & Terraform: Better Together
 
EmacsConf 2019: Interactive Remote Debugging and Development with TRAMP Mode
EmacsConf 2019: Interactive Remote Debugging and Development with TRAMP ModeEmacsConf 2019: Interactive Remote Debugging and Development with TRAMP Mode
EmacsConf 2019: Interactive Remote Debugging and Development with TRAMP Mode
 
Wellington DevOps: Bringing Your Applications into the Future with Habitat
Wellington DevOps: Bringing Your Applications into the Future with HabitatWellington DevOps: Bringing Your Applications into the Future with Habitat
Wellington DevOps: Bringing Your Applications into the Future with Habitat
 
DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...
DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...
DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...
 
Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...
Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...
Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...
 
Compliance as Code Everywhere
Compliance as Code EverywhereCompliance as Code Everywhere
Compliance as Code Everywhere
 
DevOpsDays Jakarta: State of DevOps 2018
DevOpsDays Jakarta: State of DevOps 2018DevOpsDays Jakarta: State of DevOps 2018
DevOpsDays Jakarta: State of DevOps 2018
 
DevOps Talks Melbourne 2018: Whales, Cats and Kubernetes
DevOps Talks Melbourne 2018: Whales, Cats and KubernetesDevOps Talks Melbourne 2018: Whales, Cats and Kubernetes
DevOps Talks Melbourne 2018: Whales, Cats and Kubernetes
 
Infrastructure and Compliance Delight with Chef Automate
Infrastructure and Compliance Delight with Chef AutomateInfrastructure and Compliance Delight with Chef Automate
Infrastructure and Compliance Delight with Chef Automate
 
Cooking Up Windows with Chef Automate
Cooking Up Windows with Chef AutomateCooking Up Windows with Chef Automate
Cooking Up Windows with Chef Automate
 
DevOpsDays Singapore - Continuous Auditing with Compliance as Code
DevOpsDays Singapore - Continuous Auditing with Compliance as CodeDevOpsDays Singapore - Continuous Auditing with Compliance as Code
DevOpsDays Singapore - Continuous Auditing with Compliance as Code
 
DevOpsDays Singapore Habitat Ignite
DevOpsDays Singapore Habitat IgniteDevOpsDays Singapore Habitat Ignite
DevOpsDays Singapore Habitat Ignite
 
Chef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User GroupChef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User Group
 
Automating Compliance with InSpec - AWS North Sydney
Automating Compliance with InSpec - AWS North SydneyAutomating Compliance with InSpec - AWS North Sydney
Automating Compliance with InSpec - AWS North Sydney
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native Meetup
 
Automating AWS Compliance with InSpec
Automating AWS Compliance with InSpec Automating AWS Compliance with InSpec
Automating AWS Compliance with InSpec
 
Chef Automate - Infracoders Canberra August 8, 2017
Chef Automate - Infracoders Canberra August 8, 2017Chef Automate - Infracoders Canberra August 8, 2017
Chef Automate - Infracoders Canberra August 8, 2017
 

Recently uploaded

The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 

Recently uploaded (20)

The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 

SCALE 2011 Deploying OpenStack with Chef

  • 1. Automated Deployment of OpenStack with Chef SCALE 9x February 25-27, 2011
  • 2. Introductions Matt Ray Senior Technical Evangelist matt@opscode.com @mattray GitHub:mattray
  • 5. OpenStack: The Mission "To produce the ubiquitous Open Source cloud computing platform that will meet the needs of public and private cloud providers regardless of size, by being simple to implement and massively scalable."
  • 6. OpenStack Founding Principles Apache 2.0 license (OSI), open development process Open design process, 2x year public Design Summits Publicly available open source code repositories Open community processes documented and transparent Commitment to drive and adopt open standards Modular design for deployment flexibility via APIs
  • 8. Software to provision virtual machines on standard hardware at massive scale OpenStack Compute creating open source software to build public and private clouds Software to reliably store billions of objects distributed across standard hardware OpenStack Object Storage
  • 9. OpenStack Compute Key Features ReST-based API Asynchronous eventually consistent communication Horizontally and massively scalable Hypervisor agnostic: support for Xen ,XenServer, Hyper-V, KVM, UML and ESX is coming Hardware agnostic: standard hardware, RAID not required
  • 10. User Manager Cloud Controller: Global state of system, talks to LDAP, OpenStack Object Storage, and node/storage workers through a queue ATAoE / iSCSI API: Receives HTTP requests, converts commands to/from API format, and sends requests to cloud controller Host Machines: workers that spawn instances Glance: HTTP + OpenStack Object OpenStack Compute Storage for server images
  • 11. Hardware Requirements OpenStack is designed to run on industry standard hardware, with flexible configurations Compute x86 Server (Hardware Virt. recommended) Storage flexible (Local, SAN, NAS) Object Storage x86 Server (other architectures possible) Do not deploy with RAID (can use controller for cache)
  • 12. Why is OpenStack important? Open eliminates vendor lock-in Working together, we all go faster Freedom to federate, or move between clouds
  • 14. Chef enables Infrastructure as Code Manage configuration as idempotent Resources. Put them together in Recipes. Track it like Source Code. Configure your servers.
  • 15. At a High Level A library for configuration management A configuration management system A systems integration platform An API for your entire Infrastructure
  • 17. Principles Idempotent Data-driven Sane defaults Hackability TMTOWTDI
  • 18. Open Source and Community Apache licensed Large and active community Over 280 individual contributors (60+ corporate) Community is Important!
  • 19.
  • 20. How does it Work?
  • 21. How does it Work? Magic!
  • 22. How does it Work? Magic! (no really)
  • 23. Chef Client runs on your System
  • 24. Chef Client runs on your System ohai!
  • 25. Clients talk to the Chef Server
  • 26. The Opscode Platform is a hosted Chef Server
  • 27. We call each system you configure a Node
  • 28. Nodes have Attributes { "kernel": { "machine": "x86_64", "name": "Darwin", Kernel info! "os": "Darwin", "version": "Darwin Kernel Version 10.4.0: Fri Apr 23 18:28:53 PDT 2010; root:xnu-1504.7.4~1/RELEASE_I386", }, "release": "10.4.0" Platform info! "platform_version": "10.6.4", "platform": "mac_os_x", "platform_build": "10F569", "domain": "local", "os": "darwin", "current_user": "mray", "ohai_time": 1278602661.60043, "os_version": "10.4.0", Hostname and IP! "uptime": "18 days 17 hours 49 minutes 18 seconds", "ipaddress": "10.13.37.116", "hostname": "morbo", "fqdn": "morbomorbo.local", "uptime_seconds": 1619358 }
  • 29. Nodes have a Run List What Roles and Recipes to Apply in Order
  • 31. Nodes have Roles webserver, database, monitoring, etc.
  • 32. Roles have a Run List What Roles and Recipes to Apply in Order
  • 33. name "webserver" description "Systems that serve HTTP traffic" run_list( "role[base]", Can include "recipe[apache2]", other roles! "recipe[apache2::mod_ssl]" ) default_attributes( "apache" => { "listen_ports" => [ "80", "443" ] } ) override_attributes( "apache" => { "max_children" => "50" } ) 33
  • 35. Resources ‣ Have a type package "apache2" do version "2.2.11-2ubuntu2.6" action :install ‣ Have a name end template "/etc/apache2/apache2.conf" do ‣ Have parameters source "apache2.conf.erb" owner "root" ‣ Take action to put the group "root" mode 0644 resource in the action :create declared state end Declare a description of the state a part of the node should be in
  • 36. Resources take action through Providers
  • 37. Recipes are lists of Resources
  • 38. Recipes 1 package "apache2" do version "2.2.11-2ubuntu2.6" action :install end Evaluate and apply template "/etc/apache2/apache2.conf" do Resources in the order source "apache2.conf.erb" owner "root" they appear group "root" mode 0644 action :create2 end
  • 40. Recipes are just Ruby! 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 end end
  • 42. Cookbooks Distributable cookbooks.opscode.com Infrastructure as Code Versioned
  • 43. Cookbooks Recipes Files Templates Attributes Metadata
  • 44. Data bags store arbitrary data
  • 45. A user data bag item... % knife data bag show users mray { "comment": "Matt Ray", "groups": "sysadmin", "ssh_keys": "ssh-rsa SUPERSEKRATS mray@morbo", "files": { ".bashrc": { "mode": "0644", "source": "dot-bashrc" }, ".emacs": { "mode": "0644", "source": "dot-emacs" } }, "id": "mray", "uid": 7004, "shell": "/usr/bin/bash" }
  • 47. Command-line API utility, Knife http://www.flickr.com/photos/myklroventine/3474391066/ Copyright © 2011 Opscode, Inc - All Rights Reserved 47
  • 48. Search $ knife search node 'platform:ubuntu' ‣ CLI or in Ruby search(:node, ‘platform:centos’) ‣ Nodes are searchable $ knife search role 'max_children:50' ‣ Roles are searchable search(:role, ‘max_children:50’) ‣ Recipes are $ knife search node ‘role:webserver’ searchable search(:node, ‘role:webserver’) ‣ Data bags are $ knife users ‘shell:/bin/bash’ searchable search (:users, ‘group:sysadmins’)
  • 49.
  • 50. HOW TO: Turn Racks of Standard Hardware Into a Cloud with OpenStack
  • 52. Compute (Nova) Single machine installation ‣ MySQL, RabbitMQ, OpenLDAP ‣ Nova-(api|scheduler|network|objectstore|compute) ‣ Role: nova-single-machine-install Multi-machine ‣ Role: nova-multi-controller (1) ‣ Role: nova-multi-compute (N)
  • 53. Role: nova-single-machine-install name "nova-single-machine-install" description "Installs everything required to run Nova on a single machine" run_list( "recipe[apt]", "recipe[nova::mysql]", "recipe[nova::openldap]", "recipe[nova::rabbit]", "recipe[nova::common]", "recipe[nova::api]", "recipe[nova::scheduler]", "recipe[nova::network]", "recipe[nova::objectstore]", "recipe[nova::compute]", "recipe[nova::setup]", "recipe[nova::creds]", "recipe[nova::finalize]" )
  • 54. Role: nova-multi-controller name "nova-multi-controller" description "Installs requirements to run the Controller node in a Nova cluster" run_list( "recipe[apt]", "recipe[nova::mysql]", "recipe[nova::openldap]", "recipe[nova::rabbit]", "recipe[nova::common]", "recipe[nova::api]", "recipe[nova::objectstore]", "recipe[nova::compute]", "recipe[nova::setup]", "recipe[nova::creds]", "recipe[nova::finalize]" )
  • 55. Role: nova-multi-compute name "nova-multi-compute" description "Installs requirements to run a Compute node in a Nova cluster" run_list( "recipe[apt]", "recipe[nova::network]", "recipe[nova::compute]", )
  • 56. Starting with a provisioned server ‣ Ubuntu 10.10 (preseed) ‣ openssh-server ‣ virtual-machine-host knife bootstrap crushinator.localdomain ~/.ssh/id_rsa -x mray --sudo -d ubuntu10.04-gems
  • 57. Installation ‣ Cookbooks uploaded $ $ knife cookbook upload -a knife cookbook list $ rake roles ‣ Roles uploaded $ knife role list $ knife node list ‣ Nodes ready
  • 58. AMIs name "nova-ami-urls" description "Feed in a list URLs for AMIs to download" default_attributes( "nova" => { "images" => ["http://192.168.11.7/ubuntu1010-UEC-localuser-image.tar.gz”] } ) $ knife role from file roles/nova-ami-urls.rb ‣ Use an existing AMI ‣ Update URL to your own
  • 59. Assign the Roles $ knife node run_list add crushinator.localdomain "role[nova-ami- urls]" { "run_list": [ "role[nova-ami-urls]" ] } $ knife node run_list add crushinator.localdomain "role[nova-single- machine-install]" { "run_list": [ "role[nova-ami-urls]" "role[nova-single-machine-install]", ] }
  • 60. chef-client mray@ubuntu1010:~$ sudo chef-client [Fri, 25 Feb 2011 11:52:59 -0800] INFO: Starting Chef Run (Version 0.9.12) ... [Fri, 25 Feb 2011 11:56:05 -0800] INFO: Chef Run complete in 5.911955 seconds [Fri, 25 Feb 2011 11:56:05 -0800] INFO: cleaning the checksum cache [Fri, 25 Feb 2011 11:56:05 -0800] INFO: Running report handlers [Fri, 25 Feb 2011 11:56:05 -0800] INFO: Report handlers complete
  • 61. sudo su - nova nova@$ nova-manage service list h00-26-6c-f4-1e-a0 nova-scheduler enabled :-) 2011-02-25 18:30:45 h00-26-6c-f4-1e-a0 nova-network enabled :-) 2011-02-25 18:30:48 h00-26-6c-f4-1e-a0 nova-compute enabled :-) 2011-02-25 18:30:50 nova@$ euca-describe-images IMAGE! ami-90hgmwai!nova_amis/maverick-server-uec-amd64-vmlinuz- virtual.manifest.xml! admin! available! private i386!kernel! true! IMAGE! ami-h8wh0j17!nova_amis/maverick-server-uec- amd64.img.manifest.xml!admin! untarring!private i386!machine ! ami-90hgmwai! nova@$ euca-run-instances ami-h8wh0j17 -k mykey -t m1.tiny RESERVATION! r-uur39109! admin! default INSTANCE! i-00000001! ami-h8wh0j17!! ! scheduling! mykey (admin, None)! 0! ! m1.tiny! 2011-02-25 18:34:01! nknown zone!! u
  • 62. sudo su - nova (page 2) nova@$ euca-describe-instances RESERVATION! r-uur39109! admin! default INSTANCE! i-00000001! ami-h8wh0j17!10.0.0.2! 10.0.0.2! running ! mykey (admin, h00-26-6c-f4-1e-a0)! 0! ! m1.tiny! 2011-02-25 18:34:01! nova! nova@$ ssh -i mykey.priv ubuntu@10.0.0.2 The authenticity of host '10.0.0.2 (10.0.0.2)' can't be established. RSA key fingerprint is 91:21:ef:5d:33:17:24:cb:f6:65:dd:27:1d:1c: 50:ad. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '10.0.0.2' (RSA) to the list of known hosts.
  • 63. The Moment of Truth Linux i-00000001 2.6.35-24-virtual #42-Ubuntu SMP Thu Dec 2 05:15:26 UTC 2010 x86_64 GNU/Linux Ubuntu 10.10 Welcome to Ubuntu! <SNIP> See "man sudo_root" for details. ubuntu@i-00000001:~$
  • 64. How Did We Get Here?
  • 65. Forked from Anso Labs’ Cookbooks Bootstrapped by Opscode Chef Solo/Vagrant installs for Developers http://github.com/ansolabs/openstack-cookbooks
  • 68. Nova needed enhancements Happy Path-only! KVM-only MySQL-only Flat DHCP network-only Swift and Glance integration More Roles
  • 69. Dashboard Graphical interface for managing instantiation of AMIs Django application dashboard.rb recipe already exists in nova cookbook
  • 70. Knife ‣ Nova has same API as Amazon ‣ knife ec2 server create ‘role[base]’ -I ~/.ssh/my.pem -x ubuntu -G default -i ami-a403f6xd -f m1.micro ‣ Fog reportedly supports OpenStack already ‣ Simply need to pass URL of nova-api server and credentials ‣ http://tickets.opscode.com/browse/CHEF-1757 ‣ knife openstack server create ‘role[base]’ -I ~/.ssh/my.pem -x ubuntu -G default -i ami-a403f6xd -f m1.micro
  • 71. Object Storage (Swift) ‣ Recipes originated from Anso Labs’ repository ‣ https://github.com/ansolabs/openstack-cookbooks ‣ Included in the ‘bexar’ branch ‣ Untested so far
  • 72. Image Registry (Glance) ‣ Recipes originated from Anso Labs’ repository ‣ https://github.com/ansolabs/openstack-cookbooks ‣ Included in the ‘bexar’ branch ‣ Untested so far
  • 73. Scaling changes how we deploy OpenStack!
  • 74. Deployment Scenarios ‣ Single machine is relatively simple ‣ Controller + Compute nodes is a known quantity for small installations ‣ Nova + Swift + Glance in large installations ‣ Services separated and HA configurations supported ‣ Documentation and Chef Roles will be the solution
  • 75. Cactus, Diablo, ... Development continues... Branches for each stable release Design Summit in April Design Summit in the Fall
  • 76. Get Involved! https://github.com/mattray/openstack-cookbooks/tree/bexar http://lists.openstack.org http://lists.opscode.com #chef on irc.freenode.net #openstack on irc.freenode.net matt@opscode.com jordan@openstack.com