SlideShare a Scribd company logo
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

What's hot

Что такое OpenStack
Что такое OpenStackЧто такое OpenStack
Что такое OpenStackIlya Alekseyev
 
Фламп на спидах или ка релизить каждый день
Фламп на спидах или ка релизить каждый деньФламп на спидах или ка релизить каждый день
Фламп на спидах или ка релизить каждый день
DevDay
 
OpenStack семинар - введение
OpenStack семинар - введениеOpenStack семинар - введение
OpenStack семинар - введение
Mirantis
 
Стажировка 2015. Разработка. Занятие 7. Работа с серверами
Стажировка 2015. Разработка. Занятие 7. Работа с серверамиСтажировка 2015. Разработка. Занятие 7. Работа с серверами
Стажировка 2015. Разработка. Занятие 7. Работа с серверами
7bits
 
Webpack для самых маленьких | Odessa Frontend Meetup #5
Webpack для самых маленьких | Odessa Frontend Meetup #5Webpack для самых маленьких | Odessa Frontend Meetup #5
Webpack для самых маленьких | Odessa Frontend Meetup #5
OdessaFrontend
 
Презентация Git-flow (на русском)
Презентация Git-flow (на русском)Презентация Git-flow (на русском)
Презентация Git-flow (на русском)
Sergey Chudakov
 
Мифы и легенды о проекте OpenVZ
Мифы и легенды о проекте OpenVZМифы и легенды о проекте OpenVZ
Мифы и легенды о проекте OpenVZ
OpenVZ
 
WebCamp:Back-end Developers Day - Денис Потапов "Простыми словами о 12-фактор...
WebCamp:Back-end Developers Day - Денис Потапов "Простыми словами о 12-фактор...WebCamp:Back-end Developers Day - Денис Потапов "Простыми словами о 12-фактор...
WebCamp:Back-end Developers Day - Денис Потапов "Простыми словами о 12-фактор...
GeeksLab Odessa
 
Enterprise-инфраструктура менеджмента php-пакетов в рамках компании
Enterprise-инфраструктура менеджмента php-пакетов в рамках компанииEnterprise-инфраструктура менеджмента php-пакетов в рамках компании
Enterprise-инфраструктура менеджмента php-пакетов в рамках компании
Evgeny Fomin
 
TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TК°Conf. Микросервисы и Docker. Глеб Паньшин.TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TKConf
 
Решение TIONIX на базе Mirantis OpenStack
Решение TIONIX на базе Mirantis OpenStackРешение TIONIX на базе Mirantis OpenStack
Решение TIONIX на базе Mirantis OpenStack
Mirantis IT Russia
 
Мурано и Каталог приложений
Мурано и Каталог приложенийМурано и Каталог приложений
Мурано и Каталог приложений
OpenStackRussia
 
Тестовая инфраструктура в облаке
Тестовая инфраструктура в облакеТестовая инфраструктура в облаке
Тестовая инфраструктура в облаке
SQALab
 
ASD Technologies: внедрение enterprise-grade облака для Softbank
ASD Technologies: внедрение enterprise-grade облака для SoftbankASD Technologies: внедрение enterprise-grade облака для Softbank
ASD Technologies: внедрение enterprise-grade облака для Softbank
Mirantis IT Russia
 
RHELOPS
RHELOPSRHELOPS
Red Hat Enterprise Virtualization. Технический обзор
Red Hat Enterprise Virtualization. Технический обзорRed Hat Enterprise Virtualization. Технический обзор
Red Hat Enterprise Virtualization. Технический обзор
Andrey Markelov
 
Open stack в 2ГИС
Open stack в 2ГИСOpen stack в 2ГИС
Open stack в 2ГИС
Denis Honig
 
Шаблоны контейнеров в Virtuozzo
Шаблоны контейнеров в VirtuozzoШаблоны контейнеров в Virtuozzo
Шаблоны контейнеров в Virtuozzo
CEE-SEC(R)
 
AT Consulting: внедрение OpenStack в корпоративной среде
AT Consulting: внедрение OpenStack в корпоративной средеAT Consulting: внедрение OpenStack в корпоративной среде
AT Consulting: внедрение OpenStack в корпоративной среде
Mirantis IT Russia
 

What's hot (19)

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

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

OpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельности
Andrey Markelov
 
RHEL 7. Контейнеры и Docker
RHEL 7. Контейнеры и DockerRHEL 7. Контейнеры и Docker
RHEL 7. Контейнеры и Docker
Andrey Markelov
 
Docker контейнерная революция
Docker контейнерная революцияDocker контейнерная революция
Docker контейнерная революция
GetDev.NET
 
Docker 1.9
Docker 1.9Docker 1.9
Rapid Deployment of Hadoop Development Environments
Rapid Deployment of Hadoop Development EnvironmentsRapid Deployment of Hadoop Development Environments
Rapid Deployment of Hadoop Development Environments
Andrei Nikolaenko
 
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
LogeekNightUkraine
 
Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?
Ruslan Sharipov
 
Как не стать рабом облака. PaaS 2.0 с Docker
Как не стать рабом облака. PaaS 2.0 с DockerКак не стать рабом облака. PaaS 2.0 с Docker
Как не стать рабом облака. PaaS 2.0 с Docker
trukhinyuri
 
Введение в Docker
Введение в DockerВведение в Docker
Введение в Docker
Кузьмицкий Александр
 
Локальное окружение на Docker
Локальное окружение на DockerЛокальное окружение на Docker
Локальное окружение на Docker
Михаил Бакулин
 
Окружение разработчика - от виртуализации к контейнеризации
Окружение разработчика - от виртуализации к контейнеризацииОкружение разработчика - от виртуализации к контейнеризации
Окружение разработчика - от виртуализации к контейнеризацииAlexander Kirillov
 
Депрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчасДепрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчас
Ruslan Sharipov
 
Что такое Docker
Что такое DockerЧто такое Docker
Что такое Docker
Pavel Klimiankou
 
My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25
Alex Chistyakov
 
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Ontico
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
Anton Turetsky
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
Badoo Development
 
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Ontico
 
Docker
DockerDocker
Docker - быстро, просто, наглядно
Docker - быстро, просто, наглядноDocker - быстро, просто, наглядно
Docker - быстро, просто, наглядно
FallenKain
 

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

OpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельности
 
RHEL 7. Контейнеры и Docker
RHEL 7. Контейнеры и DockerRHEL 7. Контейнеры и Docker
RHEL 7. Контейнеры и Docker
 
Docker контейнерная революция
Docker контейнерная революцияDocker контейнерная революция
Docker контейнерная революция
 
Docker 1.9
Docker 1.9Docker 1.9
Docker 1.9
 
Rapid Deployment of Hadoop Development Environments
Rapid Deployment of Hadoop Development EnvironmentsRapid Deployment of Hadoop Development Environments
Rapid Deployment of Hadoop Development Environments
 
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
 
Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?
 
Как не стать рабом облака. PaaS 2.0 с Docker
Как не стать рабом облака. PaaS 2.0 с DockerКак не стать рабом облака. PaaS 2.0 с Docker
Как не стать рабом облака. PaaS 2.0 с Docker
 
Введение в Docker
Введение в DockerВведение в Docker
Введение в Docker
 
Локальное окружение на Docker
Локальное окружение на DockerЛокальное окружение на Docker
Локальное окружение на Docker
 
Окружение разработчика - от виртуализации к контейнеризации
Окружение разработчика - от виртуализации к контейнеризацииОкружение разработчика - от виртуализации к контейнеризации
Окружение разработчика - от виртуализации к контейнеризации
 
Депрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчасДепрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчас
 
Что такое Docker
Что такое DockerЧто такое Docker
Что такое Docker
 
My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25
 
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
 
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
 
Docker
DockerDocker
Docker
 
Docker - быстро, просто, наглядно
Docker - быстро, просто, наглядноDocker - быстро, просто, наглядно
Docker - быстро, просто, наглядно
 

More from OpenStackRussia

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

More from OpenStackRussia (13)

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