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

Post on 04-Jul-2015

640 views 0 download

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

PyCon PL, 2013Łukasz Oleś <loles@mirantis.com>

®

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

®

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

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

Pytania®

?Łukasz Oleś <loles@mirantis.com>@lukas_oles

®

Dzi kuję ę®

Łukasz Oleś <loles@mirantis.com>

@lukas_oles