'

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

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





Слайд 0

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


Слайд 1

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


Слайд 2

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


Слайд 3

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


Слайд 4

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


Слайд 5

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


Слайд 6


Слайд 7

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


Слайд 8

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


Слайд 9

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


Слайд 10


Слайд 11

libvirt


Слайд 12

<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>


Слайд 13

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


Слайд 14

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


Слайд 15

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


Слайд 16

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


Слайд 17

<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>


Слайд 18

libguestfs


Слайд 19

Client program libguestfs Service VM with Linux Disk image RPC


Слайд 20

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


Слайд 21

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


Слайд 22

shell + virsh + guestfish =


Слайд 23

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


Слайд 24

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


Слайд 25

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


Слайд 26


Слайд 27

Q &A


Слайд 28


Слайд 29

Облака


×

HTML:





Ссылка: