OpenStack и Docker:
вместе и по отдельности
Андрей Маркелов
markelov.blogspot.com
OpenStack Russia РИТ++ Meetup
21 мая 2015
План презентации
● Контейнеры и
виртуализация
● Docker
● Использование
Docker совместно с
OpenStack
Контейнеры и виртуализация
● Разные концепции:
– Виртуализация – вертикальное абстрагирование;
– Контейнеры – горизонтальное разбиение;
● Контейнеры используются для замены виртуализации
там, где они справляются лучше:
– Горизонтальная изоляция приложений;
– Делегирование окружений;
– Виртуализация приложений;
– Максимальная плотность.
● Зачастую контейнеры используются поверх
виртуализации.
Контейнеры в Linux
Namespaces (пространства имен)
● Mount namespaces
– Mount(),umount()
● UTS namespaces
– Uname()
● IPC namespaces
– Объекты System V IPC, Очереди сообщений
POSIX
● PID namespaces
– /proc, PID
● Network namespaces
– Сетевые карты, брандмауэр, табл. маршрутизации
CGroups
● Десять групп
● Основные группы:
– Cpu
– Memory
– Blkio
Мандатный контроль доступа
● Интеграция с ядром
– LSM и расширенные атрибуты
● Для чего использовать:
– Запуск с минимальными привилегиями
– Защита от эксплоитов
– Защита пользовательских данных
● Для чего не предназначена:
– Аудит кода
– Шифрование
– Обновления
Docker – изменил правила игры
● Docker CLI – интересен, но это не столь значительное
нововведение. Технологии, позволяющие создавать
контейнеры в GNU/Linux > 10 лет
● Docker интересен как формат упаковки и
распространения приложений.
Docker – терминология
● Контейнер – запущенное из образа приложение.
● Образ – статический снимок конфигурации
контейнера. Образы могут зависеть от других образов.
Образ всегда доступен только на чтение. Изменения
сохраняются только созданием образа поверх образа.
● Образ платформы – не имеющий родительских
образов. Содержит базовые библиотеки и утилиты
для запуска приложений.
Docker – упаковка приложений
● API и формат образов:
– перемещаемость контейнеров между хостами;
– контроль версий и повторное использование
компонентов;
– удаленный репозиторий образов;
– Dockerfile – шаблон конфигурации для сборки
образов;
– Для разделения различных уровней контейнера на
уровне файловой системы могут использоваться
AUFS, btrfs, vfs и DeviceMapper.
Драйвер Docker для Nova - установка
● Установить и запустить Docker на выч. Узле
– yum -y install net-tools docker-io
– systemctl start docker
– git clone https://github.com/stackforge/nova-docker.git
– python setup.py install
● Добавить формат в Glance
– crudini --set /etc/glance/glance-api.conf DEFAULT
container_formats ami,ari,aki,bare,ovf,ova,docker
● Указать драйвер в Nova-compute
– crudini --set /etc/nova/nova.conf DEFAULT
compute_driver novadocker.virt.docker.DockerDriver
Драйвер Docker для Nova - работа
[root@compute ~]# docker pull larsks/thttpd
[root@compute ~]# source keystonerc_admin
[root@compute ~]# docker save larsks/thttpd | glance image-create --is-
public True --container-format docker --disk-format raw --name
larsks/thttpd
+------------------+--------------------------------------+
| container_format | docker |
| updated_at | 2015-05-09T19:42:25 |
+------------------+--------------------------------------+
[andrey@pc ~]$ glance image-list
+------+---------------------+-------------+------------------+
| ID | Name | Disk Format | Container Format |
+------+---------------------+-------------+------------------+
| bc.. | cirros-0.3.3-x86_64 | qcow2 | bare |
| 71.. | larsks/thttpd | raw | docker |
+------+---------------------+-------------+------------------+
Драйвер Docker для Nova - работа
[andrey@pc ~]$ source keystonerc_demo
[andrey@pc ~]$ nova boot --image larsks/thttpd --flavor m1.small test1
[root@compute ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES
4680097f2cc0 larsks/thttpd:latest "/thttpd -D -l /dev/ 13 minutes ago
Up 13 minutes nova-65de57d0-f033-4818-a522-2c3291dc516b
Драйвер Docker для Nova - Horizon
Magnum
● API-сервис для использования Docker, Kubernetes как
ресурсов в OpenStack
● Использует Heat и ОС (Atomic, CoreOS, Snappy)
● ОС включает в себя компоненты Docker и Kubernetes.
Когда кластер запускается в кластере Nova, Magnum
им управляет
● https://github.com/openstack/magnum
Kolla
● Сервсис для контейниризации служб OpenStack как
отдельных микро-сервисов
– Репозиторий Kollaglue
● Задачи:
– Внедрение;
– Упрощение обновлений;
– Переносимость;
●
Например oVirt 3.6 – интеграция с OpenStack
– Управление при помощи TripleO, Heat, Ansible и
т.д.
● https://github.com/stackforge/kolla
Спасибо за внимание
СПАСИБО ЗА ВНИМАНИЕ!

More Related Content

PDF
Murano: каталог приложений для OpenStack
PDF
План пресс-конференции 2 апреля 2015
PPTX
Mos day2015 -mirantis--open source for enterprise market2
PPTX
OpenStack Murano: управления приложениями в облаке на платформах Linux, Solar...
PDF
OpenStack - открытая облачная платформа (Руслан Киянчук, Mirantis)
PDF
Open stack на службе у глобальных телеком провайдеров
PPTX
Демо установки OpenStack с помощью devstack
ODP
OpenShift 2.2
Murano: каталог приложений для OpenStack
План пресс-конференции 2 апреля 2015
Mos day2015 -mirantis--open source for enterprise market2
OpenStack Murano: управления приложениями в облаке на платформах Linux, Solar...
OpenStack - открытая облачная платформа (Руслан Киянчук, Mirantis)
Open stack на службе у глобальных телеком провайдеров
Демо установки OpenStack с помощью devstack
OpenShift 2.2

What's hot (19)

PDF
Что такое OpenStack
PDF
Фламп на спидах или ка релизить каждый день
PPTX
OpenStack семинар - введение
PPTX
Стажировка 2015. Разработка. Занятие 7. Работа с серверами
PDF
Webpack для самых маленьких | Odessa Frontend Meetup #5
PPTX
Презентация Git-flow (на русском)
PDF
Мифы и легенды о проекте OpenVZ
PDF
WebCamp:Back-end Developers Day - Денис Потапов "Простыми словами о 12-фактор...
PDF
Enterprise-инфраструктура менеджмента php-пакетов в рамках компании
PDF
TК°Conf. Микросервисы и Docker. Глеб Паньшин.
PDF
Решение TIONIX на базе Mirantis OpenStack
PDF
Мурано и Каталог приложений
PDF
Тестовая инфраструктура в облаке
PDF
ASD Technologies: внедрение enterprise-grade облака для Softbank
ODP
ODP
Red Hat Enterprise Virtualization. Технический обзор
PDF
Open stack в 2ГИС
PDF
Шаблоны контейнеров в Virtuozzo
PDF
AT Consulting: внедрение OpenStack в корпоративной среде
Что такое OpenStack
Фламп на спидах или ка релизить каждый день
OpenStack семинар - введение
Стажировка 2015. Разработка. Занятие 7. Работа с серверами
Webpack для самых маленьких | Odessa Frontend Meetup #5
Презентация Git-flow (на русском)
Мифы и легенды о проекте OpenVZ
WebCamp:Back-end Developers Day - Денис Потапов "Простыми словами о 12-фактор...
Enterprise-инфраструктура менеджмента php-пакетов в рамках компании
TК°Conf. Микросервисы и Docker. Глеб Паньшин.
Решение TIONIX на базе Mirantis OpenStack
Мурано и Каталог приложений
Тестовая инфраструктура в облаке
ASD Technologies: внедрение enterprise-grade облака для Softbank
Red Hat Enterprise Virtualization. Технический обзор
Open stack в 2ГИС
Шаблоны контейнеров в Virtuozzo
AT Consulting: внедрение OpenStack в корпоративной среде
Ad

Similar to OpenStack и Docker: вместе и по отдельности (20)

PDF
OpenStack и Docker: вместе и по отдельности
ODP
Введение в Docker
PDF
Docker контейнерная революция
PDF
My talk on Docker from Moscow Django Meetup #25
PDF
obzor-tiekhnologhii-kontieinierov
PDF
Локальное окружение на Docker
PDF
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
PPTX
ODP
My talk on Docker, Youcon 2015
PPTX
Docker в работе: взгляд на использование в Badoo через год
PPTX
Docker в работе: взгляд на использование в Badoo через год
PPTX
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
PPTX
Введение в Docker
PDF
Кратчайшее введение в docker по-русски
PPTX
Что такое Docker
PDF
RHEL 7. Контейнеры и Docker
PPT
Docker - быстро, просто, наглядно
PDF
Развёртывание приложений Docker в контейнерах Virtuozzo -- Павел Тихомиров
PDF
Окружение разработчика - от виртуализации к контейнеризации
OpenStack и Docker: вместе и по отдельности
Введение в Docker
Docker контейнерная революция
My talk on Docker from Moscow Django Meetup #25
obzor-tiekhnologhii-kontieinierov
Локальное окружение на Docker
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
My talk on Docker, Youcon 2015
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Введение в Docker
Кратчайшее введение в docker по-русски
Что такое Docker
RHEL 7. Контейнеры и Docker
Docker - быстро, просто, наглядно
Развёртывание приложений Docker в контейнерах Virtuozzo -- Павел Тихомиров
Окружение разработчика - от виртуализации к контейнеризации
Ad

More from OpenStackRussia (13)

PDF
OpenStack 2016
PDF
Ericsson и Openstack
PDF
Intel и OpenStack
PDF
Fuel 9.0
PDF
Arista интеллектуальная сеть и облако
PDF
Танки в облаках
PDF
Презентация решений Tionix
PDF
CloudDC и OpenStack
PDF
StackLight (aka LMA)
PDF
Я хочу работать с OpenStack! Куда идти и что нужно знать?
PDF
Kinetic Open Storage Platform
PPTX
Четырехлетие OpenStack - Опыт ITKey
PDF
Четырехлетие OpenStack - Сложный возраст OpenStack
OpenStack 2016
Ericsson и Openstack
Intel и OpenStack
Fuel 9.0
Arista интеллектуальная сеть и облако
Танки в облаках
Презентация решений Tionix
CloudDC и OpenStack
StackLight (aka LMA)
Я хочу работать с OpenStack! Куда идти и что нужно знать?
Kinetic Open Storage Platform
Четырехлетие OpenStack - Опыт ITKey
Четырехлетие OpenStack - Сложный возраст OpenStack

OpenStack и Docker: вместе и по отдельности

  • 1. OpenStack и Docker: вместе и по отдельности Андрей Маркелов markelov.blogspot.com OpenStack Russia РИТ++ Meetup 21 мая 2015
  • 2. План презентации ● Контейнеры и виртуализация ● Docker ● Использование Docker совместно с OpenStack
  • 3. Контейнеры и виртуализация ● Разные концепции: – Виртуализация – вертикальное абстрагирование; – Контейнеры – горизонтальное разбиение; ● Контейнеры используются для замены виртуализации там, где они справляются лучше: – Горизонтальная изоляция приложений; – Делегирование окружений; – Виртуализация приложений; – Максимальная плотность. ● Зачастую контейнеры используются поверх виртуализации.
  • 5. Namespaces (пространства имен) ● Mount namespaces – Mount(),umount() ● UTS namespaces – Uname() ● IPC namespaces – Объекты System V IPC, Очереди сообщений POSIX ● PID namespaces – /proc, PID ● Network namespaces – Сетевые карты, брандмауэр, табл. маршрутизации
  • 6. CGroups ● Десять групп ● Основные группы: – Cpu – Memory – Blkio
  • 7. Мандатный контроль доступа ● Интеграция с ядром – LSM и расширенные атрибуты ● Для чего использовать: – Запуск с минимальными привилегиями – Защита от эксплоитов – Защита пользовательских данных ● Для чего не предназначена: – Аудит кода – Шифрование – Обновления
  • 8. Docker – изменил правила игры ● Docker CLI – интересен, но это не столь значительное нововведение. Технологии, позволяющие создавать контейнеры в GNU/Linux > 10 лет ● Docker интересен как формат упаковки и распространения приложений.
  • 9. Docker – терминология ● Контейнер – запущенное из образа приложение. ● Образ – статический снимок конфигурации контейнера. Образы могут зависеть от других образов. Образ всегда доступен только на чтение. Изменения сохраняются только созданием образа поверх образа. ● Образ платформы – не имеющий родительских образов. Содержит базовые библиотеки и утилиты для запуска приложений.
  • 10. Docker – упаковка приложений ● API и формат образов: – перемещаемость контейнеров между хостами; – контроль версий и повторное использование компонентов; – удаленный репозиторий образов; – Dockerfile – шаблон конфигурации для сборки образов; – Для разделения различных уровней контейнера на уровне файловой системы могут использоваться AUFS, btrfs, vfs и DeviceMapper.
  • 11. Драйвер Docker для Nova - установка ● Установить и запустить Docker на выч. Узле – yum -y install net-tools docker-io – systemctl start docker – git clone https://github.com/stackforge/nova-docker.git – python setup.py install ● Добавить формат в Glance – crudini --set /etc/glance/glance-api.conf DEFAULT container_formats ami,ari,aki,bare,ovf,ova,docker ● Указать драйвер в Nova-compute – crudini --set /etc/nova/nova.conf DEFAULT compute_driver novadocker.virt.docker.DockerDriver
  • 12. Драйвер Docker для Nova - работа [root@compute ~]# docker pull larsks/thttpd [root@compute ~]# source keystonerc_admin [root@compute ~]# docker save larsks/thttpd | glance image-create --is- public True --container-format docker --disk-format raw --name larsks/thttpd +------------------+--------------------------------------+ | container_format | docker | | updated_at | 2015-05-09T19:42:25 | +------------------+--------------------------------------+ [andrey@pc ~]$ glance image-list +------+---------------------+-------------+------------------+ | ID | Name | Disk Format | Container Format | +------+---------------------+-------------+------------------+ | bc.. | cirros-0.3.3-x86_64 | qcow2 | bare | | 71.. | larsks/thttpd | raw | docker | +------+---------------------+-------------+------------------+
  • 13. Драйвер Docker для Nova - работа [andrey@pc ~]$ source keystonerc_demo [andrey@pc ~]$ nova boot --image larsks/thttpd --flavor m1.small test1 [root@compute ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4680097f2cc0 larsks/thttpd:latest "/thttpd -D -l /dev/ 13 minutes ago Up 13 minutes nova-65de57d0-f033-4818-a522-2c3291dc516b
  • 15. Magnum ● API-сервис для использования Docker, Kubernetes как ресурсов в OpenStack ● Использует Heat и ОС (Atomic, CoreOS, Snappy) ● ОС включает в себя компоненты Docker и Kubernetes. Когда кластер запускается в кластере Nova, Magnum им управляет ● https://github.com/openstack/magnum
  • 16. Kolla ● Сервсис для контейниризации служб OpenStack как отдельных микро-сервисов – Репозиторий Kollaglue ● Задачи: – Внедрение; – Упрощение обновлений; – Переносимость; ● Например oVirt 3.6 – интеграция с OpenStack – Управление при помощи TripleO, Heat, Ansible и т.д. ● https://github.com/stackforge/kolla