'

Библиотеки и фреймворки для построения клаудов

Понравилась презентация – покажи это...





Слайд 1

Библиотеки и фреймворки для построения клаудов Данилов Константин Mirantis koder-ua.blogspot.com


Слайд 2

Виртуализация, какие ресурсы используются напрямую None : QEMU CPU : KVM, VmWare, HyperV Host HW Drivers : Xen pvirt, KVM + VirtIO, VmWare tools, ... OS Kernel : LXC, Solaris Zones


Слайд 3

Тестирование


Слайд 4

Изолированное исполнение


Слайд 5

Использование ПО из другой среды


Слайд 6

Виртуализация


Слайд 7


Слайд 8

Виртуальные сети Управление образами


Слайд 9

Миграция Балансировка


Слайд 10

API addImage(path, …) => id setImage(id, root_passwd=“…”, …) startVM(config, …) => (id, ip, …) stopVM(id) ……….


Слайд 11


Слайд 12

libvirt


Слайд 13

<domain type='qemu'> <memory>219136</memory> <vcpu>1</vcpu> <devices> <emulator>/usr/bin/qemu</emulator> <disk type=“block” device=“disk” > <source dev=“/tmp/img.bin” /> <target dev=“had” bus=“ide” /> </disk> </devices> </domain>


Слайд 14

vm.img + "<vm>..</vm>" + url = "provider://session" conn = libvirt.open(url) conn.createXML(cfg) =


Слайд 15

libvirtbin Hypervisor VM VM VM VM VM virsh virsh My Cloud You Cloud They Cloud libvirt API Hypervisor API


Слайд 16

# virsh list # virsh create config_file.xml # virsh stop domain_id # virsh ANY_LIBVIRT_API


Слайд 17

Linux kernel : iptables, routes, etc Internel Local network VM VM VM VM dnsmasq DHCP DNS Virtual network #1 Virtual network #2 libvirtbin Network settings


Слайд 18

<network> <ip address='192.168.122.1‘ netmask='255.255.255.0'> <dhcp> <range start='192.168.122.40' end='192.168.122.254' /> </dhcp> </ip> </network>


Слайд 19

libguestfs


Слайд 20

Client program libguestfs Service VM with Linux Disk image RPC


Слайд 21

gfs = guestfs.GuestFS() gfs.add_drive_opts(disk_path, format=format) gfs.launch() gfs.mount ("/dev/sda1", "/") gfs.write(fname, …) gfs.tar_out("/", ….) hiveXXX, virt-XXX, ……. Более 400 функций в API


Слайд 22

$ guestfish << _EOF_ add disk.img run mount /dev/vg_guest/lv_root / write /etc/motd "Welcome, new users" _EOF_


Слайд 23

shell + virsh + guestfish =


Слайд 24

Другие задачи Вспомогательные сетевые функции - scapy Балансировка нагрузки Мониторинг - graphit Автодеплой - chef, fabric, … ……


Слайд 25

github.com/koder-ua/tiny_cloud локальное облако на python в ~300 строк


Слайд 26

Проблемы такого решения


Слайд 27


Слайд 28

Q &A


Слайд 29


Слайд 30

Облака


×

HTML:





Ссылка: