Fuel - czyli jak stworzyć chmurę w ciągu godziny

49
PyCon PL, 2013 Łukasz Oleś <[email protected]> ® Fuel – czyli jak stworzyć własną chmurę w ciągu godziny

Transcript of Fuel - czyli jak stworzyć chmurę w ciągu godziny

Page 1: 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

Page 2: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

http://www.everystockphoto.com/photo.php?imageId=2964735&searchId=27dee4501f5da0e12be7ef16eb743e56&npos=60

Page 3: Fuel - czyli jak stworzyć chmurę w ciągu godziny
Page 4: Fuel - czyli jak stworzyć chmurę w ciągu godziny

IaaS

SaaS

PaaS

NaaS

Page 5: Fuel - czyli jak stworzyć chmurę w ciągu godziny

http://vector-magz.com/symbols/camera-vector-item-1/

Page 6: Fuel - czyli jak stworzyć chmurę w ciągu godziny

http://vector-magz.com/objects/cell-phone-clipart-item-3/http://vector-magz.com/nature/cloud-clipart-item-5/

GD

T

A

Page 7: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

http://www.everystockphoto.com/photo.php?imageId=2964735&searchId=27dee4501f5da0e12be7ef16eb743e56&npos=60

Page 8: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

http://www.openstack.org/https://github.com/openstack

Page 9: Fuel - czyli jak stworzyć chmurę w ciągu godziny

Horizon

NovaSwift Glance Cinder

Keystone

Neutron

Page 10: Fuel - czyli jak stworzyć chmurę w ciągu godziny
Page 11: Fuel - czyli jak stworzyć chmurę w ciągu godziny

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

Page 12: Fuel - czyli jak stworzyć chmurę w ciągu godziny

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

Page 13: Fuel - czyli jak stworzyć chmurę w ciągu godziny

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

Page 14: Fuel - czyli jak stworzyć chmurę w ciągu godziny

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

Page 15: Fuel - czyli jak stworzyć chmurę w ciągu godziny

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

Page 16: Fuel - czyli jak stworzyć chmurę w ciągu godziny

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

Page 17: Fuel - czyli jak stworzyć chmurę w ciągu godziny

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

Page 18: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

http://www.everystockphoto.com/photo.php?imageId=2964735&searchId=27dee4501f5da0e12be7ef16eb743e56&npos=60

Page 19: Fuel - czyli jak stworzyć chmurę w ciągu godziny

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

Page 20: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

Page 21: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

http://www.everystockphoto.com/photo.php?imageId=2964735&searchId=27dee4501f5da0e12be7ef16eb743e56&npos=60

Page 22: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

Page 23: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

Page 24: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

Page 25: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

puppetmaster

slave slave slave

Page 26: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

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

Page 27: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

Przykładowy manifest 2

file { $config: ensure => file, owner => 0, group => 0, mode => '0644', content => template($config_template), }

https://forge.puppetlabs.com/puppetlabs/ntp

Page 28: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

Przykładowy szablon

<% [@servers].flatten.each do |server| -%>server <%= server %><% end -%>

https://forge.puppetlabs.com/puppetlabs/ntp

Page 29: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

puppetmaster

slave slave slave

Page 30: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

PXE, DHCP, TFTP

Page 31: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

Slave

DHCP request DHCP request

DHCP request

Page 32: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

Slave

DHCPserver TFTP server

IP

Page 33: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

Slave

DHCPserver

TFTPserver

Page 34: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

Slave

DHCPserver

TFTPserver

img

Page 35: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

http://www.cobblerd.org/https://github.com/cobbler/cobbler

DHCPserver

TFTPserver

DNSserver

Page 36: Fuel - czyli jak stworzyć chmurę w ciągu godziny

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

Page 37: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

Page 38: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

https://fuel.mirantis.com/

https://github.com/stackforge/fuel-web

Page 39: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

Page 40: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

Slave

DHCPserver

TFTPserver

imgFuel server IP:10.20.0.2

Page 41: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

Slave

DHCPserver

TFTPserver

FuelPOST /api/nodes

Page 42: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

Page 43: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

Page 44: Fuel - czyli jak stworzyć chmurę w ciągu godziny

®

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/

Page 45: Fuel - czyli jak stworzyć chmurę w ciągu godziny

DEMO

Page 46: Fuel - czyli jak stworzyć chmurę w ciągu godziny

PL

Page 47: Fuel - czyli jak stworzyć chmurę w ciągu godziny

Pytania®

?Łukasz Oleś <[email protected]>@lukas_oles

®

Page 48: Fuel - czyli jak stworzyć chmurę w ciągu godziny

Dzi kuję ę®

Łukasz Oleś <[email protected]>

@lukas_oles

Page 49: Fuel - czyli jak stworzyć chmurę w ciągu godziny