You are on page 1of 34

OpenStack

at Korea Community Day


2011.12.03 / OpenStack
bluejay.ahn@gmail.com
11 12 5
2011 Korea Community Day
...

OpenStack ()


11 12 5
2011 Korea Community Day
...

.
11 12 5
2011 Korea Community Day
...

OpenStack = {Cloud Operating System}


{Open Source SW} {Community}

OpenStack {Nova, Swift, Glance,


Keystone, Dashboard}

www.openstack.or.kr
11 12 5
2011 Korea Community Day
...

OpenStack Compute ()

Nova

Public/Private Cloud Infra Service



11 12 5
2011 Korea Community Day
?
Compute Pool Network Pool Storage Pool
Virtualized
Servers
Virtualized
Networks
Virtualized
Storage
APPS
USERS ADMINS
Connects to apps via APIs Self-service Portals for users

CLOUD OPERATING SYSTEM
Control & Automates
Pools of Resources
Eciently allocate resources
11 12 5
2011 Korea Community Day
...

OpenStack Compute

OpenStack Compute Architecture

OpenStack Compute Deployment

OpenStack Compute
11 12 5
2011 Korea Community Day
...

OpenStack Nova

OpenStack Nova Architecture

OpenStack Nova Deployment

OpenStack Nova
11 12 5
2011 Korea Community Day
OpenStack Nova
Pluggable
- simple (least-load)
- chance (random)
- distributed scheduler (zone-
aware)
* host-lter
* least-cost function
- resource (capability) aware
scheduler
- WSGI middleware
- EC2/OpenStack API
- Keystone/standalone auth
- Local LVM volume groups
- iSCSI
- Sheepdog
- HP/Lefthand SANs
- Sqlite
- MySQL
- Postgres
Pluggable
- chance
- zone-aware
Pluggable
- chance
- zone-aware
- Flat, FlatDHCP, Vlan
- IPv4 / IPv6
- QEMU, KVM, UML, LXC
- Xen and XenServer
- Hyper-V
- VMware vSphere
11 12 5
2011 Korea Community Day
System Architecture
User
(CLI, REST)
API
EC2 API
OpenStack
API
Queue
Identity
(keystone)
middleware
Image
Service
(Glance)
Volume
Worker
Network
Worker
Scheduler
Compute
Worker
REST
local
method
Web UI
(Dashboard)
REST
Image Store
(Local, Swift,
AWS S3 etc)
REST
Volume
Storage
(iSCSI
D,J,h,,q
(,qliJq,
y,Q} _)
11 12 5
2011 Korea Community Day
OpenStack Glance (Image)
2. REST-based API
1. Store & retrieve VM images
3. Compatible with all common image formats
4. Storage agnostic: Store images locally, or use
OpenStack Object Storage, HTTP, or S3
1. VM image /
2. REST API
3.
4.
-
- Http, AWS S3, OpenStack Swift
11 12 5
2011 Korea Community Day
nova-api

Client
Client HTTP
/servers/create
API create_instance() ,
parameter, DB entry
scheduler
scheduler
RETURN
nova-api
scheduler instance compute node
, node queue
.
(API data return)
compute
response
to client
queue message
>> rpc.cast method run_instance
network
compute
(volume)
hypervisor/
libvert
Compute
RETURN
compute node network node
instance

(allocate_xed_ip)
queue message .
compute node instance data
DB , block device
hypervisor API
hypervisor API
VM spawning;
VM
.
compute node volume
volume
attach
iptables network
ltering (rewall),
image creation.
queue message >> rpc.call
queue message
11 12 5
2011 Korea Community Day
Network (Overview)

Flat Mode
instance bridge IP .

Flat DHCP Mode


Flat Mode .
Ethernet device (eth0) bridge Instance dhcpdiscover
dnsmasq IP

VLAN DHCP mode


instance public , VPN .
VLAN bridge ( private ip )
Instance private ip .
11 12 5
2011 Korea Community Day
Network (VLAN)
11 12 5
2011 Korea Community Day

!

OpenStack Nova Deployment

OpenStack Nova
11 12 5
2011 Korea Community Day
Nova Deployment

, Nova ,
INSTALLATION
Nova , Glance
CONFIGURATIONS
nova.conf , Path ,

, , , Volume

Nova
11 12 5
2011 Korea Community Day
Nova
1 Package
2 Script
3 Source Code & Manual Configuration
# add-apt-repository ppa:nova-core/trunk
# apt-get install nova-common nova-api nova-network nova-scheduler nova-compute
http://devstack.org/
# git clone git://github.com/cloudbuilders/devstack.git
# cd devstack
# ./stack.sh
http://wiki.openstack.or.kr
OpenStack , Nova
Glance, Keystone
: Nova
# git clone https://github.com/openstack/nova.git
# ./nova/contrib/nova.sh
11 12 5
2011 Korea Community Day
Nova deployment
on Virtual Environment

deployment Conguration
deployment . CI (Continuous
Integration) Testing .

, deployment
integration test ,
dependency .


11 12 5
2011 Korea Community Day
?

VirtualBox
(www.virtualbox.org)

Vagrants /
(vagrantup.com)

Chef Conguration
system integration
framework (www.opscode.com)
11 12 5
2011 Korea Community Day
Chef (Infrastructure as a Code)
11 12 5
2011 Korea Community Day
Chef

Chef Client .

Client Chef Server .

Node ,

Node () (webserver, database,


monitoring, etc)

Chef Node

Resources , , Action
.

Recipes .

Cookbook Recipes, Files, Templates, Attributes, Metadata


.
- ,
- community.opscode.com .
11 12 5
2011 Korea Community Day
?

Install VirtualBox & Grab the nova code

Install RubyGems & Vagrant

Get the Chef Recipes

Get the chef-solo Vagrant le


: vagrant provisioning chef-solo, chef-server,
chef, puppet . simple chef-
solo .
#curl-OLhttp://download.virtualbox.org/virtualbox/4.1.0/VirtualBox-4.1.0-73009-OSX.dmg
#openVirtualBox-4.1.0-73009-OSX.dmg
#cd~
#mkdirbzr
#cdbzr
#bzrinit-repo.
#bzrbranchlp:novatrunk
CloudBuilder Ver.
11 12 5
2011 Korea Community Day
Install RubyGems & Vagrant
Mac OSX
#sudogemupdate--system
#sudogeminstallvagrant
1) Simple & Easy Built-in Install
2) via MacPorts
> Install MacPorts (you need XCode Installed) - www.macports.org
#sudoportinstallrubyrb-rubygems
#sudogemupdate--system
#sudogeminstallvagrant
Ubuntu
#sudogeminstallvagrant
#sudoln-s/var/lib/gems/1.8/bin/vagrant/usr/local/bin/vagrant
11 12 5
2011 Korea Community Day
Get the Chef Cookbook
#exportCOOKBOOKS=~/openstack-cookbooks
#gitclonehttps://github.com/cloudbuilders/openstack-
cookbooks.git$COOKBOOKS
Setup Directories
$mkdiraptcache
$mkdir-pvagrant/dev
$cdvagrant/dev
Get chef-solo Vagrant le
$curl-oVagrantfilehttps://raw.github.com/gist/786945/
source.rb
: vagrant provisioning chef-solo, chef-server, chef, puppet
.
CloudBuilder Ver.
11 12 5
2011 Korea Community Day
Running Nova within a
Vagrant instance
$vagrantup
$./vagrant/novarc
$euca-add-keypairtest>test.pem
$chmod600test.pem
$euca-run-instance-tm1.tiny-ktestami-tty
$vagrantssh
3-10
boot ,
$ssh-itest.pemroot@10.0.0.3
Instance OpenStack Nova , Nova VirtualBox VM
.
11 12 5
2011 Korea Community Day
System
$vagrantdestroy
$rm*.pemnovarc

VirtualBox & Vagrant & Chef ,



, Continuous Integration System
Testing .
() essex milestone-1 ,
. vagrant chef
. :)
11 12 5
2011 Korea Community Day
Nova

WebUI

Dashboard


- NIPA SW
- www.openstack.or.kr
11 12 5
2011 Korea Community Day
Whats more!
11 12 5
2011 Korea Community Day
Whats more!
monitoring
- physical node
- virtual resources
- applications
automation
- automated deployment
- conguration management
- continuous integration
networking
- LB, Switch, rewall,
- L2/L3 architecture
- Service Interfaces
storage (le system)
- storage architecture
- le system
echo system
- PaaS
- Various Services
- Applications
- tools
datacenter
- datacenter
- server
11 12 5
2011 Korea Community Day
Whats more!
11 12 5
2011 Korea Community Day
Whats more!
11 12 5
2011 Korea Community Day
Whats more!
monitoring
- physical node
- virtual resources
- applications
automation
- automated deployment
- conguration management
- continuous integration
networking
- LB, Switch, rewall,
- L2/L3 architecture
- Service Interfaces
storage (le system)
- storage architecture
- le system
echo system
- PaaS
- Various Services
- Applications
- tools
datacenter
- datacenter
- server
11 12 5
2011 Korea Community Day
Whats more!
monitoring
- zabbix
- collectd
- nagios ...
automation
- opscode chef
- puppet
- crowbar (from Dell) ...
networking
- openVPN
- vSwitch, HAProxy, ...
- Open Flow ...
storage (le system)
- ZFS, GlusterFS, ...
echo system
- Apache Whirr, jclouds
- Cloud Foundry
- ...
datacenter
- open
compute
11 12 5
2011 Korea Community Day
.
11 12 5

You might also like