SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
Шаблоны контейнеров
Денис Силаков, ст. системный архитектор
dsilakov@virtuozzo.com
Терминология
• Контейнер – «легковесное»
виртуальное окружение
• Внутри гостей –
- ядро основной ОС
Copyright © 2016 Virtuozzo. All Rights Reserved. 2
Технологии
• Solaris Zones
• FreeBSD Jails
• Linux:
• LXC
• Virtuozzo/OpenVZ
• Docker (контейнеры «с наполнением»)
Copyright © 2016 Virtuozzo. All Rights Reserved. 3
Пустой контейнер – плохой контейнер
Пользователям нужно наполнение:
• Операционная система
• Заданный набор приложений
Copyright © 2016 Virtuozzo. All Rights Reserved. 4
Доставка контента в контейнер
• Использование заранее созданных ВМ
• Просто и популярно (Docker)
• Требует поддержки
(“30% of Official Images in Docker Hub Contain High Priority
Security Vulnerabilities” – BanyanOps, 2015)
• Автоматическая установка ОС/приложений после
создания контейнера
Copyright © 2016 Virtuozzo. All Rights Reserved. 5
Автоматическая установка ОС
• «Родные» программы установки ОС
• Специфичны для каждого дистрибутива Linux
• Требуют предварительной конфигурации
• Ограниченные возможности автоматической установки
• Использование средств хост-системы
• LXC c ALT Linux можно развернуть только в ALT Linux
• Инструменты установки одной ОС внутри другой
• Debootstrap, supermin, rosa-bootstrap – ограничены по
функционалу
Copyright © 2016 Virtuozzo. All Rights Reserved. 6
Средства управления конфигурацией
• Ansible, chef, puppet
• … в совокупности с Vagrant …
Работает, но требует отдельной настройки
Copyright © 2016 Virtuozzo. All Rights Reserved. 7
Жизнь после установки
Мало установить систему, ее надо поддерживать
• Устанавливать обновления
• Устанавливать/удалять заданные приложения
Copyright © 2016 Virtuozzo. All Rights Reserved. 8
Инструменты поддержки
• Docker – манипулирование «слоями» контейнеров
• Недостаточно гибко
• Системы управления конфигурациями
• Требуют настройки
• Многие действия производят изнутри контейнеров
нужен доступ в интернет, права администратора, специальный
агент и т.п.
Copyright © 2016 Virtuozzo. All Rights Reserved. 9
Шаблоны контейнеров Virtuozzo
• Установка ОС в контейнере «с нуля»
• Установка/удаление/обновление наборов программ
• Унифицированный интерфейс для всех
дистрибутивов Linux
• Нет необходимости в модификациях внутри
контейнеров (не нужно агентов, ssh-доступа, …)
Copyright © 2016 Virtuozzo. All Rights Reserved. 10
Дистрибутив Linux
== набор пакетов:
• Архив с файлами программ
• Скрипты
Менеджер пакетов:
• Распаковка архивов
• Выполнение скриптов из пакетов
• Выполнение системных триггеров
Copyright © 2016 Virtuozzo. All Rights Reserved.
11
Пакет
Файлы приложения
Скрипты установки /
удаления
Зависимости от других
компонентов ОС
Управление пакетами
Установка ОС или набора программ == установка
нужных пакетов в нужном порядке
Простой распаковки недостаточно:
• Cкрипты и триггеры
• Зависимости между пакетами
• Скрипт из пакета A требует утилиту из пакета B
• Нюансы, о которых знают только менеджеры пакетов
конкретного дистрибутива
Copyright © 2016 Virtuozzo. All Rights Reserved. 12
Virtuozzo vzpkg*
Модифицированные версии менеджеров пакетов
для разных дистрибутивов Linux
• Заточены на развертывание ОС «с нуля» и ее
последующее обслуживание извне контейнера
• Способны взаимодействовать с инструментами
управления контейнерами
Copyright © 2016 Virtuozzo. All Rights Reserved. 13
Виды шаблонов
• Шаблон ОС
• Базовый
• Дополнительные вариации
CentOS Minimal, CentOS WebServer, …
• Шаблоны приложений
• PHP, Apache, MySQL, …
Copyright © 2016 Virtuozzo. All Rights Reserved. 14
Шаблон ОС
• Списки пакетов, замкнутые по зависимостям
• Скрипты, выполняемые программами установки ОС
• Настройка сети, часового пояса, …
Copyright © 2016 Virtuozzo. All Rights Reserved. 15
Дополнительный
шаблон ОС
Базовый шаблон
Доп. пакеты
Доп. скрипты
Установка ОС
== подготовка образа диска с установленной ОС
• Распаковка минимального окружения с
модифицированным менеджером пакетов
• Скачивание и распаковка пакетов ОС
• Выполнение скриптов из пакетов
• Выполнение скриптов установки ОС
Copyright © 2016 Virtuozzo. All Rights Reserved. 16
Шаблоны приложений
• Предназначены для установки поверх конкретного
шаблона ОС
• Centos-7-x86_64-php
• Содержат список пакетов для установки и
дополнительные скрипты
Copyright © 2016 Virtuozzo. All Rights Reserved. 17
Работа с шаблонами
Утилита командной строки vzpkg
• Создание и обновление кэша шаблонов
• Во избежание повторной распаковки набора пакетов
• Установка/удаление шаблонов приложений в
контейнерах
• Обновление пакетов, относящихся к шаблону
Copyright © 2016 Virtuozzo. All Rights Reserved. 18
Challenges
• Поддержка разных пакетных менеджеров
• Различные кодовые базы (yum, zypper, dpkg/apt)
• Различные условия сборки
• Обновления при обновлении ОС
• Скрипты установки ОС
Copyright © 2016 Virtuozzo. All Rights Reserved. 19
Изменения в пакетных менеджерах
• Установка пакетов в заданный контейнер
• Работа с идентификаторами пользователей/групп
• Обработка зависимостей
• …
• Работа с VZFS
• «Слияние» одинаковых файлов из разных контейнеров
• Больше не нужна (в Virtuozzo 7 заменена на pfcache)
Размер: 1-3KLoC (50% - поддержка VZFS)
Copyright © 2016 Virtuozzo. All Rights Reserved. 20
Использование
• Командная строка
• Шаблон – параметр при создании контейнера
• Vzpkg – «пакетный менеджер» для шаблонов
• GUI – Virtuozzo Automator
Copyright © 2016 Virtuozzo. All Rights Reserved. 21
Командная строка
# prlctl create c1 --ostemplate ubuntu-16.04-x86_64 --vmtype=ct
# vzpkg install c1 php
# vzpkg update c1 ubuntu-16.04-x86_64
# vzpkg remove c1 php
Copyright © 2016 Virtuozzo. All Rights Reserved. 22
Настройки vzpkg
• Списки пакетов, скрипты – в текстовом виде
• Репозитории-источники пакетов
• Ключи для доступа к закрытым репозиториям по
подписке
Copyright © 2016 Virtuozzo. All Rights Reserved. 23
Ресурсы
• Шаблоны Virtuozzo
https://src.openvz.org/projects/OVZT
• Инструментарий управления шаблонами
https://src.openvz.org/projects/OVZ/repos/vztt
Copyright © 2016 Virtuozzo. All Rights Reserved. 24

Weitere ähnliche Inhalte

Was ist angesagt?

Running Linux and Unix on Hyper-V
Running Linux and Unix on Hyper-VRunning Linux and Unix on Hyper-V
Running Linux and Unix on Hyper-VAndrey Beshkov
 
Стажировка 2015. Разработка. Занятие 7. Работа с серверами
Стажировка 2015. Разработка. Занятие 7. Работа с серверамиСтажировка 2015. Разработка. Занятие 7. Работа с серверами
Стажировка 2015. Разработка. Занятие 7. Работа с серверами7bits
 
What's missing from upstream kernel containers? - Sergey Bronnikov
What's missing from upstream kernel containers? - Sergey BronnikovWhat's missing from upstream kernel containers? - Sergey Bronnikov
What's missing from upstream kernel containers? - Sergey BronnikovOpenVZ
 
2 Продуктивность работы в IDE; Разработка для Windows 10 Store
2 Продуктивность работы в IDE; Разработка для Windows 10 Store2 Продуктивность работы в IDE; Разработка для Windows 10 Store
2 Продуктивность работы в IDE; Разработка для Windows 10 Storesandy97
 
Телепортация MODX - MODX Meetup Minsk
Телепортация MODX - MODX Meetup MinskТелепортация MODX - MODX Meetup Minsk
Телепортация MODX - MODX Meetup MinskMODX Беларусь
 
Murano: каталог приложений для OpenStack
Murano: каталог приложений для OpenStackMurano: каталог приложений для OpenStack
Murano: каталог приложений для OpenStackOpenStackRussia
 
Development and deployment freedom - MODX Meetup Minsk
Development and deployment freedom - MODX Meetup MinskDevelopment and deployment freedom - MODX Meetup Minsk
Development and deployment freedom - MODX Meetup MinskMODX Беларусь
 
Continuous Integration под микроскопом, Александр Кириллов, Evrone, Саратов
 Continuous Integration под микроскопом, Александр Кириллов, Evrone, Саратов  Continuous Integration под микроскопом, Александр Кириллов, Evrone, Саратов
Continuous Integration под микроскопом, Александр Кириллов, Evrone, Саратов it-people
 
OpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStackRussia
 
Enterprise-инфраструктура менеджмента php-пакетов в рамках компании
Enterprise-инфраструктура менеджмента php-пакетов в рамках компанииEnterprise-инфраструктура менеджмента php-пакетов в рамках компании
Enterprise-инфраструктура менеджмента php-пакетов в рамках компанииEvgeny Fomin
 
Ross2013 rubanov
Ross2013 rubanovRoss2013 rubanov
Ross2013 rubanovRosaLab
 
Rubicon
RubiconRubicon
Rubiconcnpo
 
Стажировка-2013, разработчики, занятие 10. Git
Стажировка-2013, разработчики, занятие 10. GitСтажировка-2013, разработчики, занятие 10. Git
Стажировка-2013, разработчики, занятие 10. Git7bits
 
Управление облачной инфраструктурой
Управление облачной инфраструктуройУправление облачной инфраструктурой
Управление облачной инфраструктуройdddpaul
 
Базовые принципы работы с SVN.
Базовые принципы работы с SVN.Базовые принципы работы с SVN.
Базовые принципы работы с SVN.DressTester
 

Was ist angesagt? (19)

Running Linux and Unix on Hyper-V
Running Linux and Unix on Hyper-VRunning Linux and Unix on Hyper-V
Running Linux and Unix on Hyper-V
 
Стажировка 2015. Разработка. Занятие 7. Работа с серверами
Стажировка 2015. Разработка. Занятие 7. Работа с серверамиСтажировка 2015. Разработка. Занятие 7. Работа с серверами
Стажировка 2015. Разработка. Занятие 7. Работа с серверами
 
What's missing from upstream kernel containers? - Sergey Bronnikov
What's missing from upstream kernel containers? - Sergey BronnikovWhat's missing from upstream kernel containers? - Sergey Bronnikov
What's missing from upstream kernel containers? - Sergey Bronnikov
 
2 Продуктивность работы в IDE; Разработка для Windows 10 Store
2 Продуктивность работы в IDE; Разработка для Windows 10 Store2 Продуктивность работы в IDE; Разработка для Windows 10 Store
2 Продуктивность работы в IDE; Разработка для Windows 10 Store
 
Git basis
Git basisGit basis
Git basis
 
Телепортация MODX - MODX Meetup Minsk
Телепортация MODX - MODX Meetup MinskТелепортация MODX - MODX Meetup Minsk
Телепортация MODX - MODX Meetup Minsk
 
Murano: каталог приложений для OpenStack
Murano: каталог приложений для OpenStackMurano: каталог приложений для OpenStack
Murano: каталог приложений для OpenStack
 
Development and deployment freedom - MODX Meetup Minsk
Development and deployment freedom - MODX Meetup MinskDevelopment and deployment freedom - MODX Meetup Minsk
Development and deployment freedom - MODX Meetup Minsk
 
Continuous Integration под микроскопом, Александр Кириллов, Evrone, Саратов
 Continuous Integration под микроскопом, Александр Кириллов, Evrone, Саратов  Continuous Integration под микроскопом, Александр Кириллов, Evrone, Саратов
Continuous Integration под микроскопом, Александр Кириллов, Evrone, Саратов
 
OpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельности
 
Enterprise-инфраструктура менеджмента php-пакетов в рамках компании
Enterprise-инфраструктура менеджмента php-пакетов в рамках компанииEnterprise-инфраструктура менеджмента php-пакетов в рамках компании
Enterprise-инфраструктура менеджмента php-пакетов в рамках компании
 
3. Kulemin. kvm. June 01, 2013
3. Kulemin. kvm. June 01, 20133. Kulemin. kvm. June 01, 2013
3. Kulemin. kvm. June 01, 2013
 
Ross2013 rubanov
Ross2013 rubanovRoss2013 rubanov
Ross2013 rubanov
 
Rubicon
RubiconRubicon
Rubicon
 
Стажировка-2013, разработчики, занятие 10. Git
Стажировка-2013, разработчики, занятие 10. GitСтажировка-2013, разработчики, занятие 10. Git
Стажировка-2013, разработчики, занятие 10. Git
 
Управление облачной инфраструктурой
Управление облачной инфраструктуройУправление облачной инфраструктурой
Управление облачной инфраструктурой
 
Express test BSD desktop
Express test BSD desktopExpress test BSD desktop
Express test BSD desktop
 
Базовые принципы работы с SVN.
Базовые принципы работы с SVN.Базовые принципы работы с SVN.
Базовые принципы работы с SVN.
 
Git presentation
Git presentationGit presentation
Git presentation
 

Andere mochten auch

Body Language
Body LanguageBody Language
Body LanguageRyantoday
 
Благодарственные письма БИГ ДЖЕК
Благодарственные письма БИГ ДЖЕКБлагодарственные письма БИГ ДЖЕК
Благодарственные письма БИГ ДЖЕКАКМР Corpmedia.ru
 
Walnut insects A Lecture To ToT trainees ( FFS) By Mr. Allah Dad Khan Pro...
Walnut insects A Lecture To ToT trainees ( FFS)  By  Mr. Allah Dad Khan  Pro...Walnut insects A Lecture To ToT trainees ( FFS)  By  Mr. Allah Dad Khan  Pro...
Walnut insects A Lecture To ToT trainees ( FFS) By Mr. Allah Dad Khan Pro...Mr.Allah Dad Khan
 
Обучение цифровой и микропроцессорной технике в университете
Обучение цифровой и микропроцессорной технике в университетеОбучение цифровой и микропроцессорной технике в университете
Обучение цифровой и микропроцессорной технике в университетеCEE-SEC(R)
 
Психологический портрет молодых звёзд стартапов
Психологический портрет молодых звёзд стартаповПсихологический портрет молодых звёзд стартапов
Психологический портрет молодых звёзд стартаповШкольная лига РОСНАНО
 
В.Ю. Пузыревский - Межпредметное интегративное «погружение»
В.Ю. Пузыревский - Межпредметное интегративное «погружение»В.Ю. Пузыревский - Межпредметное интегративное «погружение»
В.Ю. Пузыревский - Межпредметное интегративное «погружение»Elena Kazakova
 
Major depressive disorder and its treatment
Major depressive disorder and its treatmentMajor depressive disorder and its treatment
Major depressive disorder and its treatmentAmruta Vaidya
 
ік компетентність вчителя. чеботарьова
ік компетентність вчителя. чеботарьоваік компетентність вчителя. чеботарьова
ік компетентність вчителя. чеботарьоваАндррей Малахов
 
Profiling 3rd Level Personnel in the Philippine Civil Service
Profiling 3rd Level Personnel in the Philippine Civil ServiceProfiling 3rd Level Personnel in the Philippine Civil Service
Profiling 3rd Level Personnel in the Philippine Civil ServiceHilario Martinez
 
Ali Mousavi -- Event modeling
Ali Mousavi -- Event modeling Ali Mousavi -- Event modeling
Ali Mousavi -- Event modeling Anatoly Levenchuk
 
#Inbound15 - Technology Trends Changing Customer Behavior Presentation
#Inbound15 - Technology Trends Changing Customer Behavior Presentation#Inbound15 - Technology Trends Changing Customer Behavior Presentation
#Inbound15 - Technology Trends Changing Customer Behavior PresentationKyle Lacy
 
The Hottest B2B Marketing Trends of 2017
The Hottest B2B Marketing Trends of 2017The Hottest B2B Marketing Trends of 2017
The Hottest B2B Marketing Trends of 2017DemandWave
 
B2B Marketing trends 2017
B2B Marketing trends 2017   B2B Marketing trends 2017
B2B Marketing trends 2017 Smart Insights
 

Andere mochten auch (17)

Body Language
Body LanguageBody Language
Body Language
 
Test
TestTest
Test
 
Благодарственные письма БИГ ДЖЕК
Благодарственные письма БИГ ДЖЕКБлагодарственные письма БИГ ДЖЕК
Благодарственные письма БИГ ДЖЕК
 
Walnut insects A Lecture To ToT trainees ( FFS) By Mr. Allah Dad Khan Pro...
Walnut insects A Lecture To ToT trainees ( FFS)  By  Mr. Allah Dad Khan  Pro...Walnut insects A Lecture To ToT trainees ( FFS)  By  Mr. Allah Dad Khan  Pro...
Walnut insects A Lecture To ToT trainees ( FFS) By Mr. Allah Dad Khan Pro...
 
Обучение цифровой и микропроцессорной технике в университете
Обучение цифровой и микропроцессорной технике в университетеОбучение цифровой и микропроцессорной технике в университете
Обучение цифровой и микропроцессорной технике в университете
 
Психологический портрет молодых звёзд стартапов
Психологический портрет молодых звёзд стартаповПсихологический портрет молодых звёзд стартапов
Психологический портрет молодых звёзд стартапов
 
В.Ю. Пузыревский - Межпредметное интегративное «погружение»
В.Ю. Пузыревский - Межпредметное интегративное «погружение»В.Ю. Пузыревский - Межпредметное интегративное «погружение»
В.Ю. Пузыревский - Межпредметное интегративное «погружение»
 
шевчук
шевчукшевчук
шевчук
 
Major depressive disorder and its treatment
Major depressive disorder and its treatmentMajor depressive disorder and its treatment
Major depressive disorder and its treatment
 
ік компетентність вчителя. чеботарьова
ік компетентність вчителя. чеботарьоваік компетентність вчителя. чеботарьова
ік компетентність вчителя. чеботарьова
 
Profiling 3rd Level Personnel in the Philippine Civil Service
Profiling 3rd Level Personnel in the Philippine Civil ServiceProfiling 3rd Level Personnel in the Philippine Civil Service
Profiling 3rd Level Personnel in the Philippine Civil Service
 
Ali Mousavi -- Event modeling
Ali Mousavi -- Event modeling Ali Mousavi -- Event modeling
Ali Mousavi -- Event modeling
 
Bizikidetza proiektua goiburua eurena
Bizikidetza proiektua   goiburua eurenaBizikidetza proiektua   goiburua eurena
Bizikidetza proiektua goiburua eurena
 
Haematinics
HaematinicsHaematinics
Haematinics
 
#Inbound15 - Technology Trends Changing Customer Behavior Presentation
#Inbound15 - Technology Trends Changing Customer Behavior Presentation#Inbound15 - Technology Trends Changing Customer Behavior Presentation
#Inbound15 - Technology Trends Changing Customer Behavior Presentation
 
The Hottest B2B Marketing Trends of 2017
The Hottest B2B Marketing Trends of 2017The Hottest B2B Marketing Trends of 2017
The Hottest B2B Marketing Trends of 2017
 
B2B Marketing trends 2017
B2B Marketing trends 2017   B2B Marketing trends 2017
B2B Marketing trends 2017
 

Ähnlich wie Шаблоны контейнеров в Virtuozzo

Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...
Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...
Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...Ontico
 
Введение в Docker
Введение в Docker Введение в Docker
Введение в Docker Andrey Markelov
 
NPM и модульная архитектура приложения
NPM и модульная архитектура приложенияNPM и модульная архитектура приложения
NPM и модульная архитектура приложенияDenis Latushkin
 
Мой Python всегда со мной!
Мой Python всегда со мной!Мой Python всегда со мной!
Мой Python всегда со мной!PyNSK
 
Тестирование ПО, основанного на сторонних компонентах, на примере дистрибут...
Тестирование ПО, основанного на  сторонних компонентах, на примере  дистрибут...Тестирование ПО, основанного на  сторонних компонентах, на примере  дистрибут...
Тестирование ПО, основанного на сторонних компонентах, на примере дистрибут...ru_Parallels
 
Тестирование ПО, основанного на сторонних компонентах - Денис Силаков, SECR 2015
Тестирование ПО, основанного на сторонних компонентах - Денис Силаков, SECR 2015Тестирование ПО, основанного на сторонних компонентах - Денис Силаков, SECR 2015
Тестирование ПО, основанного на сторонних компонентах - Денис Силаков, SECR 2015OpenVZ
 
Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)Vladimir Bakhov
 
Virtuozzo platform
Virtuozzo platformVirtuozzo platform
Virtuozzo platformru_Parallels
 
«Composer vs. копипаст модулей битрикса из проекта в проект»
«Composer vs. копипаст модулей битрикса из проекта в проект» «Composer vs. копипаст модулей битрикса из проекта в проект»
«Composer vs. копипаст модулей битрикса из проекта в проект» Гузель Рахимова
 
Как мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerКак мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerPositive Hack Days
 
Инсталляторы
ИнсталляторыИнсталляторы
Инсталляторыaepetelin
 
Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»
Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»
Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»SpbDotNet Community
 
Практика разработки веб-серверов на Rust
Практика разработки веб-серверов на RustПрактика разработки веб-серверов на Rust
Практика разработки веб-серверов на RustMichael Pankov
 
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур ГильмуллинvSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур ГильмуллинPositive Hack Days
 
Новые возможности IOS-XR 6 контейнеры, программируемость и телеметрия
Новые возможности IOS-XR 6 контейнеры, программируемость и телеметрияНовые возможности IOS-XR 6 контейнеры, программируемость и телеметрия
Новые возможности IOS-XR 6 контейнеры, программируемость и телеметрияCisco Russia
 
Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Tanya Denisyuk
 
SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. ВнутренностиSPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. ВнутренностиOleg Nenashev
 
OTUS Infrastructure as Code
OTUS Infrastructure as CodeOTUS Infrastructure as Code
OTUS Infrastructure as CodeIgor Kurochkin
 
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)Ontico
 
Parallels VDI от IBS
Parallels VDI от IBSParallels VDI от IBS
Parallels VDI от IBSIBS
 

Ähnlich wie Шаблоны контейнеров в Virtuozzo (20)

Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...
Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...
Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...
 
Введение в Docker
Введение в Docker Введение в Docker
Введение в Docker
 
NPM и модульная архитектура приложения
NPM и модульная архитектура приложенияNPM и модульная архитектура приложения
NPM и модульная архитектура приложения
 
Мой Python всегда со мной!
Мой Python всегда со мной!Мой Python всегда со мной!
Мой Python всегда со мной!
 
Тестирование ПО, основанного на сторонних компонентах, на примере дистрибут...
Тестирование ПО, основанного на  сторонних компонентах, на примере  дистрибут...Тестирование ПО, основанного на  сторонних компонентах, на примере  дистрибут...
Тестирование ПО, основанного на сторонних компонентах, на примере дистрибут...
 
Тестирование ПО, основанного на сторонних компонентах - Денис Силаков, SECR 2015
Тестирование ПО, основанного на сторонних компонентах - Денис Силаков, SECR 2015Тестирование ПО, основанного на сторонних компонентах - Денис Силаков, SECR 2015
Тестирование ПО, основанного на сторонних компонентах - Денис Силаков, SECR 2015
 
Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)
 
Virtuozzo platform
Virtuozzo platformVirtuozzo platform
Virtuozzo platform
 
«Composer vs. копипаст модулей битрикса из проекта в проект»
«Composer vs. копипаст модулей битрикса из проекта в проект» «Composer vs. копипаст модулей битрикса из проекта в проект»
«Composer vs. копипаст модулей битрикса из проекта в проект»
 
Как мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerКак мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows Docker
 
Инсталляторы
ИнсталляторыИнсталляторы
Инсталляторы
 
Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»
Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»
Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»
 
Практика разработки веб-серверов на Rust
Практика разработки веб-серверов на RustПрактика разработки веб-серверов на Rust
Практика разработки веб-серверов на Rust
 
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур ГильмуллинvSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин
 
Новые возможности IOS-XR 6 контейнеры, программируемость и телеметрия
Новые возможности IOS-XR 6 контейнеры, программируемость и телеметрияНовые возможности IOS-XR 6 контейнеры, программируемость и телеметрия
Новые возможности IOS-XR 6 контейнеры, программируемость и телеметрия
 
Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"
 
SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. ВнутренностиSPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
 
OTUS Infrastructure as Code
OTUS Infrastructure as CodeOTUS Infrastructure as Code
OTUS Infrastructure as Code
 
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
 
Parallels VDI от IBS
Parallels VDI от IBSParallels VDI от IBS
Parallels VDI от IBS
 

Mehr von CEE-SEC(R)

Подбор и адаптация методологий разработки ПО под различные типы производствен...
Подбор и адаптация методологий разработки ПО под различные типы производствен...Подбор и адаптация методологий разработки ПО под различные типы производствен...
Подбор и адаптация методологий разработки ПО под различные типы производствен...CEE-SEC(R)
 
Проектный офис и аналитик
Проектный офис и аналитикПроектный офис и аналитик
Проектный офис и аналитикCEE-SEC(R)
 
Онлайн-революция: от ранних репозиториев – к современным МООС-курсам
Онлайн-революция: от ранних репозиториев – к современным МООС-курсамОнлайн-революция: от ранних репозиториев – к современным МООС-курсам
Онлайн-революция: от ранних репозиториев – к современным МООС-курсамCEE-SEC(R)
 
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...CEE-SEC(R)
 
Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...
Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...
Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...CEE-SEC(R)
 
«Знак качества» как инструмент анализа восприятия продукта клиентами
«Знак качества» как инструмент анализа восприятия продукта клиентами«Знак качества» как инструмент анализа восприятия продукта клиентами
«Знак качества» как инструмент анализа восприятия продукта клиентамиCEE-SEC(R)
 
Машинное обучение на каждый день
Машинное обучение на каждый деньМашинное обучение на каждый день
Машинное обучение на каждый деньCEE-SEC(R)
 
Process и Case Management в информационной системе:
Process и Case Management в информационной системе: Process и Case Management в информационной системе:
Process и Case Management в информационной системе: CEE-SEC(R)
 
Проблемы процесса разработки с точки зрения тестирования
Проблемы процесса разработки с точки зрения тестированияПроблемы процесса разработки с точки зрения тестирования
Проблемы процесса разработки с точки зрения тестированияCEE-SEC(R)
 
Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...
Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...
Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...CEE-SEC(R)
 
Ай-трекинг в UX исследованиях
Ай-трекинг в UX исследованияхАй-трекинг в UX исследованиях
Ай-трекинг в UX исследованияхCEE-SEC(R)
 
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...CEE-SEC(R)
 
Технологичный подход к повышению продуктивности – кейсы и исследования
Технологичный подход к повышению продуктивности – кейсы и исследованияТехнологичный подход к повышению продуктивности – кейсы и исследования
Технологичный подход к повышению продуктивности – кейсы и исследованияCEE-SEC(R)
 
Субъектно-ориентированные информационные системы на предприятиях
Субъектно-ориентированные информационные системы на предприятияхСубъектно-ориентированные информационные системы на предприятиях
Субъектно-ориентированные информационные системы на предприятияхCEE-SEC(R)
 
Apache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализацииApache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализацииCEE-SEC(R)
 
Семантическое ядро рунета
Семантическое ядро рунетаСемантическое ядро рунета
Семантическое ядро рунетаCEE-SEC(R)
 
Разработка требований для противоречащих законодательств
Разработка требований для противоречащих законодательствРазработка требований для противоречащих законодательств
Разработка требований для противоречащих законодательствCEE-SEC(R)
 
IT-Лаборатория: кузница кадров и стартапов
IT-Лаборатория: кузница кадров и стартаповIT-Лаборатория: кузница кадров и стартапов
IT-Лаборатория: кузница кадров и стартаповCEE-SEC(R)
 
Законы создания IT команд и следствия законов для IT проектов «на пальцах»
Законы создания IT команд и следствия законов для IT проектов «на пальцах»Законы создания IT команд и следствия законов для IT проектов «на пальцах»
Законы создания IT команд и следствия законов для IT проектов «на пальцах»CEE-SEC(R)
 
Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...CEE-SEC(R)
 

Mehr von CEE-SEC(R) (20)

Подбор и адаптация методологий разработки ПО под различные типы производствен...
Подбор и адаптация методологий разработки ПО под различные типы производствен...Подбор и адаптация методологий разработки ПО под различные типы производствен...
Подбор и адаптация методологий разработки ПО под различные типы производствен...
 
Проектный офис и аналитик
Проектный офис и аналитикПроектный офис и аналитик
Проектный офис и аналитик
 
Онлайн-революция: от ранних репозиториев – к современным МООС-курсам
Онлайн-революция: от ранних репозиториев – к современным МООС-курсамОнлайн-революция: от ранних репозиториев – к современным МООС-курсам
Онлайн-революция: от ранних репозиториев – к современным МООС-курсам
 
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
 
Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...
Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...
Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...
 
«Знак качества» как инструмент анализа восприятия продукта клиентами
«Знак качества» как инструмент анализа восприятия продукта клиентами«Знак качества» как инструмент анализа восприятия продукта клиентами
«Знак качества» как инструмент анализа восприятия продукта клиентами
 
Машинное обучение на каждый день
Машинное обучение на каждый деньМашинное обучение на каждый день
Машинное обучение на каждый день
 
Process и Case Management в информационной системе:
Process и Case Management в информационной системе: Process и Case Management в информационной системе:
Process и Case Management в информационной системе:
 
Проблемы процесса разработки с точки зрения тестирования
Проблемы процесса разработки с точки зрения тестированияПроблемы процесса разработки с точки зрения тестирования
Проблемы процесса разработки с точки зрения тестирования
 
Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...
Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...
Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...
 
Ай-трекинг в UX исследованиях
Ай-трекинг в UX исследованияхАй-трекинг в UX исследованиях
Ай-трекинг в UX исследованиях
 
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
 
Технологичный подход к повышению продуктивности – кейсы и исследования
Технологичный подход к повышению продуктивности – кейсы и исследованияТехнологичный подход к повышению продуктивности – кейсы и исследования
Технологичный подход к повышению продуктивности – кейсы и исследования
 
Субъектно-ориентированные информационные системы на предприятиях
Субъектно-ориентированные информационные системы на предприятияхСубъектно-ориентированные информационные системы на предприятиях
Субъектно-ориентированные информационные системы на предприятиях
 
Apache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализацииApache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализации
 
Семантическое ядро рунета
Семантическое ядро рунетаСемантическое ядро рунета
Семантическое ядро рунета
 
Разработка требований для противоречащих законодательств
Разработка требований для противоречащих законодательствРазработка требований для противоречащих законодательств
Разработка требований для противоречащих законодательств
 
IT-Лаборатория: кузница кадров и стартапов
IT-Лаборатория: кузница кадров и стартаповIT-Лаборатория: кузница кадров и стартапов
IT-Лаборатория: кузница кадров и стартапов
 
Законы создания IT команд и следствия законов для IT проектов «на пальцах»
Законы создания IT команд и следствия законов для IT проектов «на пальцах»Законы создания IT команд и следствия законов для IT проектов «на пальцах»
Законы создания IT команд и следствия законов для IT проектов «на пальцах»
 
Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...
 

Шаблоны контейнеров в Virtuozzo

  • 1. Шаблоны контейнеров Денис Силаков, ст. системный архитектор dsilakov@virtuozzo.com
  • 2. Терминология • Контейнер – «легковесное» виртуальное окружение • Внутри гостей – - ядро основной ОС Copyright © 2016 Virtuozzo. All Rights Reserved. 2
  • 3. Технологии • Solaris Zones • FreeBSD Jails • Linux: • LXC • Virtuozzo/OpenVZ • Docker (контейнеры «с наполнением») Copyright © 2016 Virtuozzo. All Rights Reserved. 3
  • 4. Пустой контейнер – плохой контейнер Пользователям нужно наполнение: • Операционная система • Заданный набор приложений Copyright © 2016 Virtuozzo. All Rights Reserved. 4
  • 5. Доставка контента в контейнер • Использование заранее созданных ВМ • Просто и популярно (Docker) • Требует поддержки (“30% of Official Images in Docker Hub Contain High Priority Security Vulnerabilities” – BanyanOps, 2015) • Автоматическая установка ОС/приложений после создания контейнера Copyright © 2016 Virtuozzo. All Rights Reserved. 5
  • 6. Автоматическая установка ОС • «Родные» программы установки ОС • Специфичны для каждого дистрибутива Linux • Требуют предварительной конфигурации • Ограниченные возможности автоматической установки • Использование средств хост-системы • LXC c ALT Linux можно развернуть только в ALT Linux • Инструменты установки одной ОС внутри другой • Debootstrap, supermin, rosa-bootstrap – ограничены по функционалу Copyright © 2016 Virtuozzo. All Rights Reserved. 6
  • 7. Средства управления конфигурацией • Ansible, chef, puppet • … в совокупности с Vagrant … Работает, но требует отдельной настройки Copyright © 2016 Virtuozzo. All Rights Reserved. 7
  • 8. Жизнь после установки Мало установить систему, ее надо поддерживать • Устанавливать обновления • Устанавливать/удалять заданные приложения Copyright © 2016 Virtuozzo. All Rights Reserved. 8
  • 9. Инструменты поддержки • Docker – манипулирование «слоями» контейнеров • Недостаточно гибко • Системы управления конфигурациями • Требуют настройки • Многие действия производят изнутри контейнеров нужен доступ в интернет, права администратора, специальный агент и т.п. Copyright © 2016 Virtuozzo. All Rights Reserved. 9
  • 10. Шаблоны контейнеров Virtuozzo • Установка ОС в контейнере «с нуля» • Установка/удаление/обновление наборов программ • Унифицированный интерфейс для всех дистрибутивов Linux • Нет необходимости в модификациях внутри контейнеров (не нужно агентов, ssh-доступа, …) Copyright © 2016 Virtuozzo. All Rights Reserved. 10
  • 11. Дистрибутив Linux == набор пакетов: • Архив с файлами программ • Скрипты Менеджер пакетов: • Распаковка архивов • Выполнение скриптов из пакетов • Выполнение системных триггеров Copyright © 2016 Virtuozzo. All Rights Reserved. 11 Пакет Файлы приложения Скрипты установки / удаления Зависимости от других компонентов ОС
  • 12. Управление пакетами Установка ОС или набора программ == установка нужных пакетов в нужном порядке Простой распаковки недостаточно: • Cкрипты и триггеры • Зависимости между пакетами • Скрипт из пакета A требует утилиту из пакета B • Нюансы, о которых знают только менеджеры пакетов конкретного дистрибутива Copyright © 2016 Virtuozzo. All Rights Reserved. 12
  • 13. Virtuozzo vzpkg* Модифицированные версии менеджеров пакетов для разных дистрибутивов Linux • Заточены на развертывание ОС «с нуля» и ее последующее обслуживание извне контейнера • Способны взаимодействовать с инструментами управления контейнерами Copyright © 2016 Virtuozzo. All Rights Reserved. 13
  • 14. Виды шаблонов • Шаблон ОС • Базовый • Дополнительные вариации CentOS Minimal, CentOS WebServer, … • Шаблоны приложений • PHP, Apache, MySQL, … Copyright © 2016 Virtuozzo. All Rights Reserved. 14
  • 15. Шаблон ОС • Списки пакетов, замкнутые по зависимостям • Скрипты, выполняемые программами установки ОС • Настройка сети, часового пояса, … Copyright © 2016 Virtuozzo. All Rights Reserved. 15 Дополнительный шаблон ОС Базовый шаблон Доп. пакеты Доп. скрипты
  • 16. Установка ОС == подготовка образа диска с установленной ОС • Распаковка минимального окружения с модифицированным менеджером пакетов • Скачивание и распаковка пакетов ОС • Выполнение скриптов из пакетов • Выполнение скриптов установки ОС Copyright © 2016 Virtuozzo. All Rights Reserved. 16
  • 17. Шаблоны приложений • Предназначены для установки поверх конкретного шаблона ОС • Centos-7-x86_64-php • Содержат список пакетов для установки и дополнительные скрипты Copyright © 2016 Virtuozzo. All Rights Reserved. 17
  • 18. Работа с шаблонами Утилита командной строки vzpkg • Создание и обновление кэша шаблонов • Во избежание повторной распаковки набора пакетов • Установка/удаление шаблонов приложений в контейнерах • Обновление пакетов, относящихся к шаблону Copyright © 2016 Virtuozzo. All Rights Reserved. 18
  • 19. Challenges • Поддержка разных пакетных менеджеров • Различные кодовые базы (yum, zypper, dpkg/apt) • Различные условия сборки • Обновления при обновлении ОС • Скрипты установки ОС Copyright © 2016 Virtuozzo. All Rights Reserved. 19
  • 20. Изменения в пакетных менеджерах • Установка пакетов в заданный контейнер • Работа с идентификаторами пользователей/групп • Обработка зависимостей • … • Работа с VZFS • «Слияние» одинаковых файлов из разных контейнеров • Больше не нужна (в Virtuozzo 7 заменена на pfcache) Размер: 1-3KLoC (50% - поддержка VZFS) Copyright © 2016 Virtuozzo. All Rights Reserved. 20
  • 21. Использование • Командная строка • Шаблон – параметр при создании контейнера • Vzpkg – «пакетный менеджер» для шаблонов • GUI – Virtuozzo Automator Copyright © 2016 Virtuozzo. All Rights Reserved. 21
  • 22. Командная строка # prlctl create c1 --ostemplate ubuntu-16.04-x86_64 --vmtype=ct # vzpkg install c1 php # vzpkg update c1 ubuntu-16.04-x86_64 # vzpkg remove c1 php Copyright © 2016 Virtuozzo. All Rights Reserved. 22
  • 23. Настройки vzpkg • Списки пакетов, скрипты – в текстовом виде • Репозитории-источники пакетов • Ключи для доступа к закрытым репозиториям по подписке Copyright © 2016 Virtuozzo. All Rights Reserved. 23
  • 24. Ресурсы • Шаблоны Virtuozzo https://src.openvz.org/projects/OVZT • Инструментарий управления шаблонами https://src.openvz.org/projects/OVZ/repos/vztt Copyright © 2016 Virtuozzo. All Rights Reserved. 24