Вы находитесь на странице: 1из 34

Контейнеры в Openstack – простое

решение сложных проблем

TM

Profit from the cloud

Dmitry Guryanov
dguryanov@parallels.com
Содержание
• Чем контейнеры отличаются от виртуальных машин.
• Что Parallels делает с OpenStack.
• Почему контейнеры проще поддерживать в OpenStack.

Profit from the cloud TM


Виртуальные машины или контейнеры

• В каждой ВМ свое ядро ОС • Одно ядро на всех


• Общаются с хостовой ОС • Общаются с хостовой ОС с
через виртуальное “железо” помощью системных
вызовов
• Изоляция как и у
виртуальных машин

3 Profit from the cloud TM


Контейнер в дереве процессов

3231 /usr/sbin/httpd
3556 \_ /usr/sbin/httpd
3557 \_ /usr/sbin/httpd
3849 iscsid
4025 rpcbind
4722 init Container 101
• Namespaces 4879 \_ /sbin/udevd –d
• Cgroups 5164 \_ /sbin/rsyslogd
• Filesystem 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

4 Profit from the cloud TM


Особенности контейнеров

• Из хоста мы можем:
• Влиять на процессы внутри контейнера любым способом, доступным
системе: syscalls, procfs, cgroup files.
• Запускать любые процессы внутри контейнера с такой же легкостью и
надежностью, как и в хосте.
• Настраивать любые параметры системы, например, через sysctl, proc.

• Из контейнера мы можем:
• Запускать любые процессы с привилегиями суперпользователя.
• Менять параметры своих процессов.
• Настраивать некоторые, тщательно отобранные, параметры системы.
• Что мы не можем сделать из контейнера:
• Влиять на процессы из других контейнеров и хоста.
• Выходить за рамки разрешенного потребления ресурсов.

5 Profit from the cloud TM


Преимущества контейнеров

• Главное преимущество – это высокая плотность. Контейнеров на


PCS можно запустить примерно в 3 раза больше, чем виртуальных
машин с такими же параметрами.
• Виртуальное железо отсутсвует – нет необходимости в
перезапусках, все операции можно делать на запущенном
контейнере.
• Есть надежный способ доступа внутрь гостевой системы.

6 Profit from the cloud TM


Преимущества контейнеров

• Главное преимущество – это высокая плотность. Контейнеров на


PCS можно запустить примерно в 3 раза больше, чем виртуальных
машин с такими же параметрами.
• Виртуальное железо отсутсвует – нет необходимости в
перезапусках, все операции можно делать на запущенном
контейнере.
• Есть надежный способ доступа внутрь гостевой системы.

Недостатки:
• Нельзя запускать другие ОС, такие как Windows или FreeBSD.
• Нельзя делать вообще все что угодно.

7 Profit from the cloud TM


Преимущества контейнеров

• Главное преимущество – это высокая плотность. Контейнеров на


PCS можно запустить примерно в 3 раза больше, чем виртуальных
машин с такими же параметрами.
• Виртуальное железо отсутсвует – нет необходимости в
перезапусках, все операции можно делать на запущенном
контейнере.
• Есть надежный способ доступа внутрь гостевой системы.

Недостатки:
• Нельзя запускать другие ОС, такие как Windows или FreeBSD.
• Нельзя делать вообще все что угодно.
Нужно ли это в облаках?

8 Profit from the cloud TM


Контейнеры и Openstack

Если контейнеры – такая отличная технология, почему они все еще


не поддерживаются в OpenStack?

• Openstack используется в-основном, в частных облаках, где


большая плотность контейнеров не является преимуществом.

• Контейнеры, которые есть в основной ветке ядра не могут


использоваться для публичных IaaS сервисов.

9 Profit from the cloud TM


Наша цель – дать возможность хостерам
использовать контейнеры через интерфейсы
Openstack.

10 Profit from the cloud TM


Наши планы по интеграции с Openstack.

Horizon Другие сервисы, работающие через Nova API

API

Compute Network Storage Image

Nova Neutron Cinder Glance


OpenVswitch

LinuxBridge
Vmware

Gluster
HyperV

Ceph

SAN
KVM

Swift
Xen

11 Profit from the cloud TM


Наши планы по интеграции с Openstack.

Horizon Другие сервисы, работающие через Nova API

API

Compute Network Storage Image

Nova Neutron Cinder Glance


OpenVswitch

LinuxBridge
Vmware

Gluster
HyperV

Ceph

SAN
KVM

Swift
PCS
Xen

12 Profit from the cloud TM


Наши планы по интеграции с Openstack.

Horizon Другие сервисы, работающие через Nova API

API

Compute Network Storage Image

Nova Neutron Cinder Glance


OpenVswitch

LinuxBridge

PStorage

PStorage
Vmware

Gluster
HyperV

Ceph

SAN
KVM

Swift
PCS
Xen

13 Profit from the cloud TM


Наши планы по интеграции с Openstack.

Parallels Automation

Parallels Panels Billing APS Packaging

API

Compute Network Storage Image

Nova Neutron Cinder Glance


OpenVswitch

LinuxBridge

PStorage

PStorage
Vmware

Gluster
HyperV

Ceph

SAN
KVM

Swift
PCS
Xen

14 Profit from the cloud TM


Что уже сделано
openstack-nova-compute

libvirt xenapi hyperv vmware pcs OpenVZ

15 Profit from the cloud TM


Что уже сделано
openstack-nova-compute

libvirt xenapi hyperv vmware pcs OpenVZ

libvirt API

kvm xen lxc parallels

16 Profit from the cloud TM


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

17 Profit from the cloud TM


Настройка сети с точки зрения nova-compute
Instance001
Public
Instance002
network OVS/br-int

dnsmasq

Instance003

VIF1:
type=OVS
bridge=br-int Compute
name=tapX123 Driver Instance003
mac=01:02:04:AA:BB:CC spawn
ip=192.168.144.12/24
gw=192.168.144.1

18 Profit from the cloud TM


Решение задачи для виртуальных машин

• Подготовить образ так, чтобы он всегда получал IP по dhcp для всех


своих сетевых адаптеров.
• Использовать гостевые утилиты.
• Отредактировать файлы конфигурации сети перед запуском
instance.

19 Profit from the cloud TM


Настройка 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

20 Profit from the cloud TM


Изменение размера 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 диска.
• Количество процессоров.
• Объем оперативной памяти.

21 Profit from the cloud TM


Изменение размера instance в оффлайне
Conpute node 1

cpu
ram

hdd

Compute node 2

22 Profit from the cloud TM


Изменение размера instance в оффлайне
Conpute node 1

cpu
ram

hdd

Compute node 2

23 Profit from the cloud TM


Изменение размера instance в оффлайне
Conpute node 1

cpu
ram

hdd

Compute node 2

24 Profit from the cloud TM


Изменение размера instance в оффлайне
Conpute node 1

cpu
ram

hdd

Compute node 2

25 Profit from the cloud TM


Изменение размера instance в оффлайне
Conpute node 1

cpu
ram

hdd

Compute node 2

26 Profit from the cloud TM


Изменение размера instance в онлайне
Conpute node 1

cpu
ram

hdd

Compute node 2

27 Profit from the cloud TM


Изменение размера instance в онлайне
Conpute node 1

cpu
ram

hdd

Compute node 2

28 Profit from the cloud TM


Изменение размера instance в онлайне
Conpute node 1

cpu
ram

hdd

Compute node 2

29 Profit from the cloud TM


Online-resize виртуальных машин – это сложно

Онлайн-миграция виртуальных машин простая операция, но дальше


начинаются проблемы:

• Изменение размера жесткого диска на живой системе.


• Изменение количества оперативной памяти (уменьшение –
практически невозможно).
• Изменение количества процессоров сложная и опасная операция.

30 Profit from the cloud TM


Почему это возможно с контейнерами?

• Онлайн миграция также реализована, к тому же происходит


быстрее.
• Изменение количества CPU происходит изменением параметра в
сигруппе cpu.
• Количество оперативной памяти легко меняется с помощью
сигруппы mem.
• На виртуальном диске контейнера находится одна ФС.
• Размер файловой системы
• Увеличивается запуском улилиты resize2fs в хосте.
• Уменьшается с использование техники ballooning.

31 Profit from the cloud TM


Кроме того
• Set admin password делается тривиально.
• Inject file, networking, ssh keys тоже.
• В операциях attach/detach volume можно вместо имени устройства
указывать точку монтирования.
• Volume detach абсолютно безопасен.

32 Profit from the cloud TM


Выводы

• Контейнеры отлично подходят для использования в Openstack.


• Но сейчас Openstack заточен под работу с виртуальными
машинами и контейнеры не поддерживаются.
• Так что мы работаем над этим.

33 Profit from the cloud TM


Спасибо!

• http://www.parallels.com
• http://www.openvz.org
• http://www.criu.org

34 Profit from the cloud TM

Вам также может понравиться