SlideShare a Scribd company logo
Profit from the cloud
TM
dguryanov@parallels.com
Dmitry Guryanov
Контейнеры в Openstack – простое
решение сложных проблем
Profit from the cloudTM
Содержание
• Чем контейнеры отличаются от виртуальных машин.
• Что Parallels делает с OpenStack.
• Почему контейнеры проще поддерживать в OpenStack.
3 Profit from the cloudTMTM
Виртуальные машины или контейнеры
• Одно ядро на всех
• Общаются с хостовой ОС с
помощью системных
вызовов
• Изоляция как и у
виртуальных машин
• В каждой ВМ свое ядро ОС
• Общаются с хостовой ОС
через виртуальное “железо”
4 Profit from the cloudTMTM
Контейнер в дереве процессов
3231 /usr/sbin/httpd
3556 _ /usr/sbin/httpd
3557 _ /usr/sbin/httpd
3849 iscsid
4025 rpcbind
4722 init
4879 _ /sbin/udevd –d
5164 _ /sbin/rsyslogd
5189 _ /usr/sbin/sshd
5196 _ xinetd
5203 _ /usr/sbin/saslauthd
5204 | _ /usr/sbin/saslauthd
5240 _ /usr/sbin/httpd
5251 _ /usr/sbin/httpd
5260 bash –
5265 _ /usr/bin/vim
• Namespaces
• Cgroups
• Filesystem
Container 101
5 Profit from the cloudTMTM
Особенности контейнеров
• Из хоста мы можем:
• Влиять на процессы внутри контейнера любым способом, доступным
системе: syscalls, procfs, cgroup files.
• Запускать любые процессы внутри контейнера с такой же легкостью и
надежностью, как и в хосте.
• Настраивать любые параметры системы, например, через sysctl, proc.
• Из контейнера мы можем:
• Запускать любые процессы с привилегиями суперпользователя.
• Менять параметры своих процессов.
• Настраивать некоторые, тщательно отобранные, параметры системы.
• Что мы не можем сделать из контейнера:
• Влиять на процессы из других контейнеров и хоста.
• Выходить за рамки разрешенного потребления ресурсов.
6 Profit from the cloudTMTM
Преимущества контейнеров
• Главное преимущество – это высокая плотность. Контейнеров на
PCS можно запустить примерно в 3 раза больше, чем виртуальных
машин с такими же параметрами.
• Виртуальное железо отсутсвует – нет необходимости в
перезапусках, все операции можно делать на запущенном
контейнере.
• Есть надежный способ доступа внутрь гостевой системы.
7 Profit from the cloudTMTM
Преимущества контейнеров
• Главное преимущество – это высокая плотность. Контейнеров на
PCS можно запустить примерно в 3 раза больше, чем виртуальных
машин с такими же параметрами.
• Виртуальное железо отсутсвует – нет необходимости в
перезапусках, все операции можно делать на запущенном
контейнере.
• Есть надежный способ доступа внутрь гостевой системы.
Недостатки:
• Нельзя запускать другие ОС, такие как Windows или FreeBSD.
• Нельзя делать вообще все что угодно.
8 Profit from the cloudTMTM
Преимущества контейнеров
• Главное преимущество – это высокая плотность. Контейнеров на
PCS можно запустить примерно в 3 раза больше, чем виртуальных
машин с такими же параметрами.
• Виртуальное железо отсутсвует – нет необходимости в
перезапусках, все операции можно делать на запущенном
контейнере.
• Есть надежный способ доступа внутрь гостевой системы.
Недостатки:
• Нельзя запускать другие ОС, такие как Windows или FreeBSD.
• Нельзя делать вообще все что угодно.
Нужно ли это в облаках?
9 Profit from the cloudTMTM
Контейнеры и Openstack
Если контейнеры – такая отличная технология, почему они все еще
не поддерживаются в OpenStack?
• Openstack используется в-основном, в частных облаках, где
большая плотность контейнеров не является преимуществом.
• Контейнеры, которые есть в основной ветке ядра не могут
использоваться для публичных IaaS сервисов.
10 Profit from the cloudTMTM
Наша цель – дать возможность хостерам
использовать контейнеры через интерфейсы
Openstack.
11 Profit from the cloudTMTM
Наши планы по интеграции с Openstack.
Compute
Nova
Network
Neutron
Storage
Cinder
Image
Glance
API
Horizon
Xen
Vmware
HyperV
KVM
Swift
Ceph
Gluster
SAN
Другие сервисы, работающие через Nova API
OpenVswitch
LinuxBridge
12 Profit from the cloudTMTM
Наши планы по интеграции с Openstack.
Compute
Nova
Network
Neutron
Storage
Cinder
Image
Glance
API
Horizon
Xen
Vmware
HyperV
KVM
Swift
Ceph
Gluster
SAN
Другие сервисы, работающие через Nova API
OpenVswitch
LinuxBridge
PCS
13 Profit from the cloudTMTM
Наши планы по интеграции с Openstack.
Compute
Nova
Network
Neutron
Storage
Cinder
Image
Glance
API
Horizon
Xen
Vmware
HyperV
KVM
Swift
Ceph
Gluster
SAN
Другие сервисы, работающие через Nova API
OpenVswitch
LinuxBridge
PCS
PStorage
PStorage
14 Profit from the cloudTMTM
Наши планы по интеграции с Openstack.
Compute
Nova
Network
Neutron
Storage
Cinder
Image
Glance
API
Xen
Vmware
HyperV
KVM
Swift
Ceph
Gluster
SAN
OpenVswitch
LinuxBridge
Parallels Panels
PCS
APS Packaging
PStorage
PStorage
Billing
Parallels Automation
15 Profit from the cloudTMTM
Что уже сделано
openstack-nova-compute
libvirt xenapi hyperv vmware pcs OpenVZ
16 Profit from the cloudTMTM
Что уже сделано
libvirt API
openstack-nova-compute
libvirt xenapi hyperv vmware
kvm xen lxc parallels
pcs OpenVZ
17 Profit from the cloudTMTM
pcs-nova-driver
• Boot from image (все, что поддерживает qemu-img + наш формат).
• Boot from volume (VM only).
• Power off/power on/suspend/resume.
• Pause/unpause (VM only).
• OVS Networking.
• Neutron security groups.
• Instance snapshots.
• VNC console.
• Volume attach/detach (VM only).
• ISCSI volumes.
• Inject guest info (ssh keys, admin password, flat networking info, то же
самое, что и в kvm).
• Set admin password (CT only).
18 Profit from the cloudTMTM
Настройка сети с точки зрения nova-compute
Compute
Driver
spawn
OVS/br-int
dnsmasq
Public
network
Instance001
Instance002
Instance003
Instance003
VIF1:
type=OVS
bridge=br-int
name=tapX123
mac=01:02:04:AA:BB:CC
ip=192.168.144.12/24
gw=192.168.144.1
19 Profit from the cloudTMTM
Решение задачи для виртуальных машин
• Подготовить образ так, чтобы он всегда получал IP по dhcp для всех
своих сетевых адаптеров.
• Использовать гостевые утилиты.
• Отредактировать файлы конфигурации сети перед запуском
instance.
20 Profit from the cloudTMTM
Настройка IP внутри контейнеров
• Во всех дистрибутивах линукса сеть настраивается по-разному, но
их конечное число.
• В PCS поддерживаются все популярные дистрибутивы.
~ prlctl set my-instance --device-add net 
--network Bridged 
--mac 0A:02:04:AA:BB:CC 
--ipadd 192.168.144.12/24 
--gw 192.168.144.1
21 Profit from the cloudTMTM
Изменение размера instance
• nova boot my-instance --image fedora-20 
--flavor m1.small
• nova resize my-instance m1.medium
• nova resize-confirm my-instance
Что меняется:
• Размер root, swap и ephemeral диска.
• Количество процессоров.
• Объем оперативной памяти.
22 Profit from the cloudTMTM
Изменение размера instance в оффлайне
Compute node 2
Conpute node 1
hdd
ram
cpu
23 Profit from the cloudTMTM
Изменение размера instance в оффлайне
Compute node 2
Conpute node 1
hdd
ram
cpu
24 Profit from the cloudTMTM
Изменение размера instance в оффлайне
Compute node 2
Conpute node 1
hdd
ram
cpu
25 Profit from the cloudTMTM
Изменение размера instance в оффлайне
Compute node 2
Conpute node 1
hdd
ram
cpu
26 Profit from the cloudTMTM
Изменение размера instance в оффлайне
Compute node 2
Conpute node 1
hdd
ram
cpu
27 Profit from the cloudTMTM
Изменение размера instance в онлайне
Compute node 2
Conpute node 1
hdd
ram
cpu
28 Profit from the cloudTMTM
Изменение размера instance в онлайне
Compute node 2
Conpute node 1
hdd
ram
cpu
29 Profit from the cloudTMTM
Изменение размера instance в онлайне
Compute node 2
Conpute node 1
hdd
ram
cpu
30 Profit from the cloudTMTM
Online-resize виртуальных машин – это сложно
Онлайн-миграция виртуальных машин простая операция, но дальше
начинаются проблемы:
• Изменение размера жесткого диска на живой системе.
• Изменение количества оперативной памяти (уменьшение –
практически невозможно).
• Изменение количества процессоров сложная и опасная операция.
31 Profit from the cloudTMTM
Почему это возможно с контейнерами?
• Онлайн миграция также реализована, к тому же происходит
быстрее.
• Изменение количества CPU происходит изменением параметра в
сигруппе cpu.
• Количество оперативной памяти легко меняется с помощью
сигруппы mem.
• На виртуальном диске контейнера находится одна ФС.
• Размер файловой системы
• Увеличивается запуском улилиты resize2fs в хосте.
• Уменьшается с использование техники ballooning.
32 Profit from the cloudTMTM
Кроме того
• Set admin password делается тривиально.
• Inject file, networking, ssh keys тоже.
• В операциях attach/detach volume можно вместо имени устройства
указывать точку монтирования.
• Volume detach абсолютно безопасен.
33 Profit from the cloudTMTM
Выводы
• Контейнеры отлично подходят для использования в Openstack.
• Но сейчас Openstack заточен под работу с виртуальными
машинами и контейнеры не поддерживаются.
• Так что мы работаем над этим.
34 Profit from the cloudTMTM
Спасибо!
• http://www.parallels.com
• http://www.openvz.org
• http://www.criu.org

More Related Content

What's hot (20)

PDF
DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)
Ontico
 
PPTX
Повышаем отказоустойчивость без дорогих решений
Lenvendo
 
PPTX
Технологии эффективного хранения данных, ключевые дифференциаторы NetApp
Yaryomenko
 
ODP
Build private clouds with ProxmoxVE distributive
Дима Ванькевич
 
PPTX
Опыт построения СХД на базе Windows Server для использования в публичном обла...
Ontico
 
PPTX
ESXi 5.x CPU scheduler
Anton Zhbankov
 
PDF
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
Ontico
 
PDF
Слава Машканов — “Wubuntu”: Построение гетерогенной среды Windows+Linux на н...
Minsk Linux User Group
 
PDF
Linux Terminal Server Project
Ilya Siganov
 
PDF
CodeFest 2013. Чистяков А. — Использование систем виртуализации в веб
CodeFest
 
PDF
Опыт применения виртуализации для web-систем часть 2
Alex Chistyakov
 
PDF
Настройка kubernetes: tips and tricks / Михаил Прокопчук (Avito)
Ontico
 
PDF
Highload на GPU, опыт Vinci / Олег Илларионов (ВКонтакте)
Ontico
 
PPTX
Евгений Потапов (Сумма Айти)
Ontico
 
PDF
AWS и GCP: трудная жизнь в облаках / Максим Пугачев (IPONWEB)
Ontico
 
PDF
Архитектура растущего проекта на примере ВКонтакте / Алексей Акулович (ВКонт...
Ontico
 
PDF
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
odnoklassniki.ru
 
PPTX
Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)
Ontico
 
PPTX
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Ontico
 
PDF
Анатомия веб-сервиса (РИТ-2014)
Andrey Smirnov
 
DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)
Ontico
 
Повышаем отказоустойчивость без дорогих решений
Lenvendo
 
Технологии эффективного хранения данных, ключевые дифференциаторы NetApp
Yaryomenko
 
Build private clouds with ProxmoxVE distributive
Дима Ванькевич
 
Опыт построения СХД на базе Windows Server для использования в публичном обла...
Ontico
 
ESXi 5.x CPU scheduler
Anton Zhbankov
 
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
Ontico
 
Слава Машканов — “Wubuntu”: Построение гетерогенной среды Windows+Linux на н...
Minsk Linux User Group
 
Linux Terminal Server Project
Ilya Siganov
 
CodeFest 2013. Чистяков А. — Использование систем виртуализации в веб
CodeFest
 
Опыт применения виртуализации для web-систем часть 2
Alex Chistyakov
 
Настройка kubernetes: tips and tricks / Михаил Прокопчук (Avito)
Ontico
 
Highload на GPU, опыт Vinci / Олег Илларионов (ВКонтакте)
Ontico
 
Евгений Потапов (Сумма Айти)
Ontico
 
AWS и GCP: трудная жизнь в облаках / Максим Пугачев (IPONWEB)
Ontico
 
Архитектура растущего проекта на примере ВКонтакте / Алексей Акулович (ВКонт...
Ontico
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
odnoklassniki.ru
 
Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)
Ontico
 
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Ontico
 
Анатомия веб-сервиса (РИТ-2014)
Andrey Smirnov
 

Similar to Контейнеры в OpenStack: простое решение сложных проблем (20)

ODP
Легко ли продавать контейнеры на базаре
OpenVZ
 
PDF
[JAM 2.1] Cloud Computing (Dmitry Ivashnev)
jam_team
 
PDF
Другая виртуализация
Yandex
 
PDF
AT Consulting: внедрение OpenStack в корпоративной среде
Mirantis IT Russia
 
PDF
Вебинар «Подход Fujitsu к построению частного облака»
Fujitsu Russia
 
PDF
ASD Technologies: внедрение enterprise-grade облака для Softbank
Mirantis IT Russia
 
PDF
"Cocaine — облачная платформа Яндекса". Андрей Сибирёв, Яндекс
Yandex
 
PPTX
Опыт внедрения OpenStack
Yandex
 
PPTX
Из чего строят облака? Продукты Citrix
Sergey Khalyapin
 
PDF
Собираем из кубиков OpenStack нормальный IaaS
Yandex
 
PPTX
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...
Tanya Denisyuk
 
PPTX
Разработка портируемой инфраструктуры New Relic — контейнеры, CoreOS и прочие...
Ontico
 
PDF
VMware - коротко о продуктах, технологиях и сложностях перевода
MUK
 
PDF
Юрий Устинов, Русоникс
Diana Dymolazova
 
PDF
Mirantis OpenStack
Mirantis IT Russia
 
PDF
Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...
Cisco Russia
 
PPTX
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Uptime Community
 
PPTX
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Uptime community
 
PPTX
CodeFest 2010. Гаджибалаев Н. — сlass Server::Cloud < Server::Hardware // ...
CodeFest
 
PDF
Что такое OpenStack
Ilya Alekseyev
 
Легко ли продавать контейнеры на базаре
OpenVZ
 
[JAM 2.1] Cloud Computing (Dmitry Ivashnev)
jam_team
 
Другая виртуализация
Yandex
 
AT Consulting: внедрение OpenStack в корпоративной среде
Mirantis IT Russia
 
Вебинар «Подход Fujitsu к построению частного облака»
Fujitsu Russia
 
ASD Technologies: внедрение enterprise-grade облака для Softbank
Mirantis IT Russia
 
"Cocaine — облачная платформа Яндекса". Андрей Сибирёв, Яндекс
Yandex
 
Опыт внедрения OpenStack
Yandex
 
Из чего строят облака? Продукты Citrix
Sergey Khalyapin
 
Собираем из кубиков OpenStack нормальный IaaS
Yandex
 
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...
Tanya Denisyuk
 
Разработка портируемой инфраструктуры New Relic — контейнеры, CoreOS и прочие...
Ontico
 
VMware - коротко о продуктах, технологиях и сложностях перевода
MUK
 
Юрий Устинов, Русоникс
Diana Dymolazova
 
Mirantis OpenStack
Mirantis IT Russia
 
Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...
Cisco Russia
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Uptime Community
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Uptime community
 
CodeFest 2010. Гаджибалаев Н. — сlass Server::Cloud < Server::Hardware // ...
CodeFest
 
Что такое OpenStack
Ilya Alekseyev
 
Ad

More from OpenVZ (20)

PDF
PFcache - LinuxCon 2015
OpenVZ
 
ODP
Speeding up ps and top
OpenVZ
 
PDF
Live migration: pros, cons and gotchas -- Pavel Emelyanov
OpenVZ
 
PDF
Live migrating a container: pros, cons and gotchas -- Pavel Emelyanov
OpenVZ
 
PDF
CRIU: time and space travel for Linux containers -- Kir Kolyshkin
OpenVZ
 
PDF
Тестирование ПО, основанного на сторонних компонентах - Денис Силаков, SECR 2015
OpenVZ
 
ODP
Живая миграция: плюсы, минусы и подводные камни - Павел Емельянов
OpenVZ
 
PDF
What's missing from upstream kernel containers? - Sergey Bronnikov
OpenVZ
 
PDF
Проблема фрагментации виртуальных дисков и способы её решения -- Дмитрий Монахов
OpenVZ
 
PDF
Развёртывание приложений Docker в контейнерах Virtuozzo -- Павел Тихомиров
OpenVZ
 
PDF
CRIU: ускорение запуска PHP в CloudLinux OS -- Руслан Купреев
OpenVZ
 
PDF
LibCT и контейнеры на уровне приложений -- Александр Бурлука
OpenVZ
 
PDF
Управление памятью контейнеров в проекте OpenVZ -- Владимир Давыдов
OpenVZ
 
PDF
Живая миграция контейнеров: плюсы, минусы, подводные камни -- Павел Емельянов
OpenVZ
 
PDF
LibCT: one lib to rule them all -- Andrey Vagin
OpenVZ
 
ODP
Denser containers with PF cache - Pavel Emelyanov
OpenVZ
 
ODP
CGroups kernel memory controller -- Pavel Emelyanov
OpenVZ
 
ODP
What's missing from upstream kernel containers? - Kir Kolyshkin, Sergey Bronn...
OpenVZ
 
ODP
Not so brief history of Linux Containers - Kir Kolyshkin
OpenVZ
 
ODP
Openvz booth
OpenVZ
 
PFcache - LinuxCon 2015
OpenVZ
 
Speeding up ps and top
OpenVZ
 
Live migration: pros, cons and gotchas -- Pavel Emelyanov
OpenVZ
 
Live migrating a container: pros, cons and gotchas -- Pavel Emelyanov
OpenVZ
 
CRIU: time and space travel for Linux containers -- Kir Kolyshkin
OpenVZ
 
Тестирование ПО, основанного на сторонних компонентах - Денис Силаков, SECR 2015
OpenVZ
 
Живая миграция: плюсы, минусы и подводные камни - Павел Емельянов
OpenVZ
 
What's missing from upstream kernel containers? - Sergey Bronnikov
OpenVZ
 
Проблема фрагментации виртуальных дисков и способы её решения -- Дмитрий Монахов
OpenVZ
 
Развёртывание приложений Docker в контейнерах Virtuozzo -- Павел Тихомиров
OpenVZ
 
CRIU: ускорение запуска PHP в CloudLinux OS -- Руслан Купреев
OpenVZ
 
LibCT и контейнеры на уровне приложений -- Александр Бурлука
OpenVZ
 
Управление памятью контейнеров в проекте OpenVZ -- Владимир Давыдов
OpenVZ
 
Живая миграция контейнеров: плюсы, минусы, подводные камни -- Павел Емельянов
OpenVZ
 
LibCT: one lib to rule them all -- Andrey Vagin
OpenVZ
 
Denser containers with PF cache - Pavel Emelyanov
OpenVZ
 
CGroups kernel memory controller -- Pavel Emelyanov
OpenVZ
 
What's missing from upstream kernel containers? - Kir Kolyshkin, Sergey Bronn...
OpenVZ
 
Not so brief history of Linux Containers - Kir Kolyshkin
OpenVZ
 
Openvz booth
OpenVZ
 
Ad

Контейнеры в OpenStack: простое решение сложных проблем

  • 1. Profit from the cloud TM [email protected] Dmitry Guryanov Контейнеры в Openstack – простое решение сложных проблем
  • 2. Profit from the cloudTM Содержание • Чем контейнеры отличаются от виртуальных машин. • Что Parallels делает с OpenStack. • Почему контейнеры проще поддерживать в OpenStack.
  • 3. 3 Profit from the cloudTMTM Виртуальные машины или контейнеры • Одно ядро на всех • Общаются с хостовой ОС с помощью системных вызовов • Изоляция как и у виртуальных машин • В каждой ВМ свое ядро ОС • Общаются с хостовой ОС через виртуальное “железо”
  • 4. 4 Profit from the cloudTMTM Контейнер в дереве процессов 3231 /usr/sbin/httpd 3556 _ /usr/sbin/httpd 3557 _ /usr/sbin/httpd 3849 iscsid 4025 rpcbind 4722 init 4879 _ /sbin/udevd –d 5164 _ /sbin/rsyslogd 5189 _ /usr/sbin/sshd 5196 _ xinetd 5203 _ /usr/sbin/saslauthd 5204 | _ /usr/sbin/saslauthd 5240 _ /usr/sbin/httpd 5251 _ /usr/sbin/httpd 5260 bash – 5265 _ /usr/bin/vim • Namespaces • Cgroups • Filesystem Container 101
  • 5. 5 Profit from the cloudTMTM Особенности контейнеров • Из хоста мы можем: • Влиять на процессы внутри контейнера любым способом, доступным системе: syscalls, procfs, cgroup files. • Запускать любые процессы внутри контейнера с такой же легкостью и надежностью, как и в хосте. • Настраивать любые параметры системы, например, через sysctl, proc. • Из контейнера мы можем: • Запускать любые процессы с привилегиями суперпользователя. • Менять параметры своих процессов. • Настраивать некоторые, тщательно отобранные, параметры системы. • Что мы не можем сделать из контейнера: • Влиять на процессы из других контейнеров и хоста. • Выходить за рамки разрешенного потребления ресурсов.
  • 6. 6 Profit from the cloudTMTM Преимущества контейнеров • Главное преимущество – это высокая плотность. Контейнеров на PCS можно запустить примерно в 3 раза больше, чем виртуальных машин с такими же параметрами. • Виртуальное железо отсутсвует – нет необходимости в перезапусках, все операции можно делать на запущенном контейнере. • Есть надежный способ доступа внутрь гостевой системы.
  • 7. 7 Profit from the cloudTMTM Преимущества контейнеров • Главное преимущество – это высокая плотность. Контейнеров на PCS можно запустить примерно в 3 раза больше, чем виртуальных машин с такими же параметрами. • Виртуальное железо отсутсвует – нет необходимости в перезапусках, все операции можно делать на запущенном контейнере. • Есть надежный способ доступа внутрь гостевой системы. Недостатки: • Нельзя запускать другие ОС, такие как Windows или FreeBSD. • Нельзя делать вообще все что угодно.
  • 8. 8 Profit from the cloudTMTM Преимущества контейнеров • Главное преимущество – это высокая плотность. Контейнеров на PCS можно запустить примерно в 3 раза больше, чем виртуальных машин с такими же параметрами. • Виртуальное железо отсутсвует – нет необходимости в перезапусках, все операции можно делать на запущенном контейнере. • Есть надежный способ доступа внутрь гостевой системы. Недостатки: • Нельзя запускать другие ОС, такие как Windows или FreeBSD. • Нельзя делать вообще все что угодно. Нужно ли это в облаках?
  • 9. 9 Profit from the cloudTMTM Контейнеры и Openstack Если контейнеры – такая отличная технология, почему они все еще не поддерживаются в OpenStack? • Openstack используется в-основном, в частных облаках, где большая плотность контейнеров не является преимуществом. • Контейнеры, которые есть в основной ветке ядра не могут использоваться для публичных IaaS сервисов.
  • 10. 10 Profit from the cloudTMTM Наша цель – дать возможность хостерам использовать контейнеры через интерфейсы Openstack.
  • 11. 11 Profit from the cloudTMTM Наши планы по интеграции с Openstack. Compute Nova Network Neutron Storage Cinder Image Glance API Horizon Xen Vmware HyperV KVM Swift Ceph Gluster SAN Другие сервисы, работающие через Nova API OpenVswitch LinuxBridge
  • 12. 12 Profit from the cloudTMTM Наши планы по интеграции с Openstack. Compute Nova Network Neutron Storage Cinder Image Glance API Horizon Xen Vmware HyperV KVM Swift Ceph Gluster SAN Другие сервисы, работающие через Nova API OpenVswitch LinuxBridge PCS
  • 13. 13 Profit from the cloudTMTM Наши планы по интеграции с Openstack. Compute Nova Network Neutron Storage Cinder Image Glance API Horizon Xen Vmware HyperV KVM Swift Ceph Gluster SAN Другие сервисы, работающие через Nova API OpenVswitch LinuxBridge PCS PStorage PStorage
  • 14. 14 Profit from the cloudTMTM Наши планы по интеграции с Openstack. Compute Nova Network Neutron Storage Cinder Image Glance API Xen Vmware HyperV KVM Swift Ceph Gluster SAN OpenVswitch LinuxBridge Parallels Panels PCS APS Packaging PStorage PStorage Billing Parallels Automation
  • 15. 15 Profit from the cloudTMTM Что уже сделано openstack-nova-compute libvirt xenapi hyperv vmware pcs OpenVZ
  • 16. 16 Profit from the cloudTMTM Что уже сделано libvirt API openstack-nova-compute libvirt xenapi hyperv vmware kvm xen lxc parallels pcs OpenVZ
  • 17. 17 Profit from the cloudTMTM pcs-nova-driver • Boot from image (все, что поддерживает qemu-img + наш формат). • Boot from volume (VM only). • Power off/power on/suspend/resume. • Pause/unpause (VM only). • OVS Networking. • Neutron security groups. • Instance snapshots. • VNC console. • Volume attach/detach (VM only). • ISCSI volumes. • Inject guest info (ssh keys, admin password, flat networking info, то же самое, что и в kvm). • Set admin password (CT only).
  • 18. 18 Profit from the cloudTMTM Настройка сети с точки зрения nova-compute Compute Driver spawn OVS/br-int dnsmasq Public network Instance001 Instance002 Instance003 Instance003 VIF1: type=OVS bridge=br-int name=tapX123 mac=01:02:04:AA:BB:CC ip=192.168.144.12/24 gw=192.168.144.1
  • 19. 19 Profit from the cloudTMTM Решение задачи для виртуальных машин • Подготовить образ так, чтобы он всегда получал IP по dhcp для всех своих сетевых адаптеров. • Использовать гостевые утилиты. • Отредактировать файлы конфигурации сети перед запуском instance.
  • 20. 20 Profit from the cloudTMTM Настройка IP внутри контейнеров • Во всех дистрибутивах линукса сеть настраивается по-разному, но их конечное число. • В PCS поддерживаются все популярные дистрибутивы. ~ prlctl set my-instance --device-add net --network Bridged --mac 0A:02:04:AA:BB:CC --ipadd 192.168.144.12/24 --gw 192.168.144.1
  • 21. 21 Profit from the cloudTMTM Изменение размера instance • nova boot my-instance --image fedora-20 --flavor m1.small • nova resize my-instance m1.medium • nova resize-confirm my-instance Что меняется: • Размер root, swap и ephemeral диска. • Количество процессоров. • Объем оперативной памяти.
  • 22. 22 Profit from the cloudTMTM Изменение размера instance в оффлайне Compute node 2 Conpute node 1 hdd ram cpu
  • 23. 23 Profit from the cloudTMTM Изменение размера instance в оффлайне Compute node 2 Conpute node 1 hdd ram cpu
  • 24. 24 Profit from the cloudTMTM Изменение размера instance в оффлайне Compute node 2 Conpute node 1 hdd ram cpu
  • 25. 25 Profit from the cloudTMTM Изменение размера instance в оффлайне Compute node 2 Conpute node 1 hdd ram cpu
  • 26. 26 Profit from the cloudTMTM Изменение размера instance в оффлайне Compute node 2 Conpute node 1 hdd ram cpu
  • 27. 27 Profit from the cloudTMTM Изменение размера instance в онлайне Compute node 2 Conpute node 1 hdd ram cpu
  • 28. 28 Profit from the cloudTMTM Изменение размера instance в онлайне Compute node 2 Conpute node 1 hdd ram cpu
  • 29. 29 Profit from the cloudTMTM Изменение размера instance в онлайне Compute node 2 Conpute node 1 hdd ram cpu
  • 30. 30 Profit from the cloudTMTM Online-resize виртуальных машин – это сложно Онлайн-миграция виртуальных машин простая операция, но дальше начинаются проблемы: • Изменение размера жесткого диска на живой системе. • Изменение количества оперативной памяти (уменьшение – практически невозможно). • Изменение количества процессоров сложная и опасная операция.
  • 31. 31 Profit from the cloudTMTM Почему это возможно с контейнерами? • Онлайн миграция также реализована, к тому же происходит быстрее. • Изменение количества CPU происходит изменением параметра в сигруппе cpu. • Количество оперативной памяти легко меняется с помощью сигруппы mem. • На виртуальном диске контейнера находится одна ФС. • Размер файловой системы • Увеличивается запуском улилиты resize2fs в хосте. • Уменьшается с использование техники ballooning.
  • 32. 32 Profit from the cloudTMTM Кроме того • Set admin password делается тривиально. • Inject file, networking, ssh keys тоже. • В операциях attach/detach volume можно вместо имени устройства указывать точку монтирования. • Volume detach абсолютно безопасен.
  • 33. 33 Profit from the cloudTMTM Выводы • Контейнеры отлично подходят для использования в Openstack. • Но сейчас Openstack заточен под работу с виртуальными машинами и контейнеры не поддерживаются. • Так что мы работаем над этим.
  • 34. 34 Profit from the cloudTMTM Спасибо! • http://www.parallels.com • http://www.openvz.org • http://www.criu.org