Fuel - czyli jak stworzyć chmurę w ciągu godziny
-
Upload
lukasz-oles -
Category
Documents
-
view
640 -
download
0
Transcript of Fuel - czyli jak stworzyć chmurę w ciągu godziny
PyCon PL, 2013Łukasz Oleś <[email protected]>
®
Fuel – czyli jak stworzyć własną chmurę w ciągu godziny
®
http://www.everystockphoto.com/photo.php?imageId=2964735&searchId=27dee4501f5da0e12be7ef16eb743e56&npos=60
IaaS
SaaS
PaaS
NaaS
http://vector-magz.com/symbols/camera-vector-item-1/
http://vector-magz.com/objects/cell-phone-clipart-item-3/http://vector-magz.com/nature/cloud-clipart-item-5/
GD
T
A
®
http://www.everystockphoto.com/photo.php?imageId=2964735&searchId=27dee4501f5da0e12be7ef16eb743e56&npos=60
Horizon
NovaSwift Glance Cinder
Keystone
Neutron
Controller
Cinder
Controller Controller
Swift
HAProxy
Galera(mysql)
Corosync/pacemaker
Swift Compute
Compute
Cinder
5-10 węzłów 1000 węzłów 1-2 węzły
Controller
Cinder
Controller Controller
Swift
HAProxy
Galera(mysql)
Corosync/pacemaker
Swift Compute
Compute
Cinder
5-10 węzłów 1000 węzłów 1-2 węzły
27
Controller
Cinder
Controller Controller
Swift
HAProxy
Galera(mysql)
Corosync/pacemaker
Swift Compute
Compute
Cinder
5-10 węzłów 1000 węzłów 1-2 węzły
27 43
Controller
Cinder
Controller Controller
Swift
HAProxy
Galera(mysql)
Corosync/pacemaker
Swift Compute
Compute
Cinder
5-10 węzłów 1000 węzłów 1-2 węzły
27 43
7
9
Controller
Cinder
Controller Controller
Swift
HAProxy
Galera(mysql)
Corosync/pacemaker
Swift Compute
Compute
Cinder
5-10 węzłów 1000 węzłów 1-2 węzły
27 43
7
43
7
9
Controller
Cinder
Controller Controller
Swift
HAProxy
Galera(mysql)
Corosync/pacemaker
Swift Compute
Compute
Cinder
5-10 węzłów 1000 węzłów 1-2 węzły
27 43
7
43
2
2
4310
Controller
Cinder
Controller Controller
Swift
HAProxy
Galera(mysql)
Corosync/pacemaker
Swift Compute
Compute
Cinder
5-10 węzłów 1000 węzłów 1-2 węzły
27 43
7
43
2
2
4310
43000
®
http://www.everystockphoto.com/photo.php?imageId=2964735&searchId=27dee4501f5da0e12be7ef16eb743e56&npos=60
Controller
Cinder
Controller Controller
Swift
HAProxy
Galera(mysql)
Corosync/pacemaker
Swift Compute
Compute
Cinder
5-10 węzłów 1000 węzłów 1-2 węzły
27 43
7
43
2
2
4310
43000
®
®
http://www.everystockphoto.com/photo.php?imageId=2964735&searchId=27dee4501f5da0e12be7ef16eb743e56&npos=60
®
®
®
®
puppetmaster
slave slave slave
®
Przykładowy manifest 1
'Debian': { $config = '/etc/ntp.conf' $package_name = [ 'ntp' ] $service_name = 'ntp' $servers = [ '0.debian.pool.ntp.org iburst', '1.debian.pool.ntp.org iburst', '2.debian.pool.ntp.org iburst', '3.debian.pool.ntp.org iburst', ] }
https://forge.puppetlabs.com/puppetlabs/ntp
®
Przykładowy manifest 2
file { $config: ensure => file, owner => 0, group => 0, mode => '0644', content => template($config_template), }
https://forge.puppetlabs.com/puppetlabs/ntp
®
Przykładowy szablon
<% [@servers].flatten.each do |server| -%>server <%= server %><% end -%>
https://forge.puppetlabs.com/puppetlabs/ntp
®
puppetmaster
slave slave slave
®
PXE, DHCP, TFTP
®
Slave
DHCP request DHCP request
DHCP request
®
Slave
DHCPserver TFTP server
IP
®
Slave
DHCPserver
TFTPserver
®
Slave
DHCPserver
TFTPserver
img
®
http://www.cobblerd.org/https://github.com/cobbler/cobbler
DHCPserver
TFTPserver
DNSserver
Controller
Cinder
Controller Controller
Swift
HAProxy
Galera(mysql)
Corosync/pacemaker
Swift Compute
Compute
Cinder
5-10 węzłów 1000 węzłów 1-2 węzły
®
®
https://fuel.mirantis.com/
https://github.com/stackforge/fuel-web
®
®
Slave
DHCPserver
TFTPserver
imgFuel server IP:10.20.0.2
®
Slave
DHCPserver
TFTPserver
FuelPOST /api/nodes
®
®
®
http://jquery.com/
http://backbonejs.org/
http://getbootstrap.com/2.3.2/
http://lodash.com/
http://webpy.org/
http://www.sqlalchemy.org/
http://kombu.readthedocs.org/en/latest/
http://nose.readthedocs.org/en/latest/
http://www.voidspace.org.uk/python/mock/
DEMO
PL