Apache Mesos. Знакомимся с конкурентом Kubernetes и Docker Swarm::Журнал СА 10.2018
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Дата-центры  

Дата-центры: есть ли опасность утечки данных?

Российские компании уже несколько лет испытывают дефицит вычислительных мощностей. Рост числа проектов,

 Читать далее...

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6229
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6936
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4223
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 3012
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3809
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3826
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6321
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3173
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3464
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7281
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10647
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12369
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 14000
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9128
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7080
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5390
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4618
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3429
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3159
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3404
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3028
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Apache Mesos. Знакомимся с конкурентом Kubernetes и Docker Swarm

Архив номеров / 2018 / Выпуск №10 (191) / Apache Mesos. Знакомимся с конкурентом Kubernetes и Docker Swarm

Рубрика: Администрирование /  Кластер

Денис Силаков ДЕНИС СИЛАКОВ, к.ф.-м.н., старший системный архитектор Virtuozzo, dsilakov@virtuozzo.com

Apache Mesos
Знакомимся с конкурентом Kubernetes и Docker Swarm

Apache Mesos. Знакомимся с конкурентом Kubernetes и Docker SwarmС ростом популярности контейнеризации приложений растет спрос на приложения, способные управлять большим количеством контейнеров. На слуху прежде всего Kubernetes [1] и Docker Swarm [2]. Однако у них есть и другие достойные открытые конкуренты. В этой статье мы рассмотрим Mesos, развиваемый фондом Apache

Начавшись как исследовательский проект в одной из лабораторий университета Калифорнии в Беркли, Mesos [3] был впервые представлен в 2009 году под именем Nexus. Некоторое время проект находился в ранге исследовательских, аверсия «1» была выпущена только в 2016 году под крылом Apache Software Foundation.

Впрочем, к этому времени Mesos уже использовался в Twitter, Airbnb, eBay и даже в сервисе Apple Siri. Однако, несмотря на таких серьезных пользователей, открытость и покровительство Apache, обзоров Mesos в сети в настоящее время нетак уж и много. И пользователей, судя по всему, тоже. Тем не менее продукт этот заслуживает внимания – не только ради расширения кругозора, но и с целью практического применения благодаря стабильной работе и относительной простоте развертывания и настройки.

В данной статье мы рассмотрим процесс создания кластера Mesos на машинах под управлением Virtuozzo Linux и его интеграцию с фреймворком Jenkins с целью динамического создания контейнеров для выполнения задач непрерывной интеграции.

Архитектура

Суть работы Mesos сводится к объединению физических ресурсов нескольких серверов в единый виртуальный пул, из которого они будут выделяться для выполнения конкретных задач. Можно сравнить Mesos с планировщиком ресурсов традиционных ОС – с той разницей, что физически подвластные ему ресурсы расположены на разных серверах. Однако распределенная природа дает Mesos ряд принципиально новых возможностей – например, способность переживать потерю части «железных» ресурсов с сохранением всех работающих процессов.

Управляемые Mesos машины объединяются в кластер, ядром которого являются управляющие (master) серверы. В кластере может быть (и должно быть для обеспечения отказоустойчивости) несколько мастер-серверов. В любой момент активным является только один из них. Координация мастеров и выбор активного осуществляются с помощью сервиса ZooKeeper [4].

Распределенная природа дает Mesos ряд принципиально новых возможностей – например, способность переживать потерю части «железных» ресурсов с сохранением всех работающих процессов

Сервисные машины-узлы (slaves) предоставляют мощности для выполнения задач. Задачи выполняются в отдельных контейнерах – поддерживается как Docker, так и собственная контейнеризация Mesos, также основанная на штатных механизмах Linux (cgroups).

Mesos предоставляет ресурсы для выполнения тех или иных задач, но сам по себе никаких задач запускать не может – для этого используются другие приложения, называемые фреймворками.

Полный список фреймворков доступен на [5]. Наиболее известными являются:

  • Marathon, предназначенный для одноразового запуска задач (например, тех или иных сервисов, которые должны работать без перебоев), – этот фреймворк часто рассматривают в статьях про Mesos;
  • Chronos – служит для запуска задач по расписанию, поддерживает зависимости между разными задачами;
  • Aurora – разработка Twitter, выпущенная под открытой лицензией в 2013 году. Подходит как для запуска сервисов, которые должны работать непрерывно, так и для выполнения задач по расписанию. Однако по признанию самих разработчиков [6] этот фреймворк отнюдь не прост в развертывании и обслуживании (неудивительно, что большинство обзоров Mesos рассматривают Marathon, а не Aurora), хотя и обладает отличной масштабируемостью.

В виде фреймворков реализованы плагин для Jenkins, позволяющий запускать машины-узлы Jenkins (Jenkins slaves) на кластере Mesos. При этом осуществляется динамический мониторинг количества запущенных машин – при необходимости добавляются новые, а при длительном простое удаляются излишние. Аналогичным образом реализованы плагины для Hadoop, Apache Spark и Apache Torque.

Рассмотрим использование Mesos совместно с Jenkins, основанное на опыте работы с этой комбинацией. Но для начала давайте создадим кластер Mesos. В нашем примере кластер будет состоять из трех мастер-серверов с адресами 10.0.3.2,10.0.3.3 и 10.0.3.4 и одного вычислительного узла (slave) с адресом 10.0.3.5. Количество вычислительных узлов можно увеличивать согласно вашим нуждам – они настраиваются абсолютно одинаково. Знать количество master-машин и их адреса необходимо на начальном этапе, чтобы не менять потом конфигурацию всех узлов кластера.

Установка master-сервера

В данной статье мы будем устанавливать все компоненты Mesos на машины под управлением Virtuozzo Linux 7. Все инструкции могут быть без изменения использованы для машин под управлением CentOS 7 и ее производных.

Mesos обеспечивает не только стабильную работу сервисов, но и плавное обновление компонентов кластера

Для развертывания мастер-серверов на каждом из них необходимо добавить RPM-репозитории Mesos:

# rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesospehere-el-repo-7-1.noarch.rpm

и установить соответствующие пакеты:

# yum install mesos mesosphere-zookeeper

Для идентификации в ZooKeeper каждому мастеру (ниже мы будем в качестве примера использовать 10.0.3.4) надо вручную выбрать и прописать уникальный числовой идентификатор в диапазоне от 1 до 255:

# echo 1 > /var/lib/zookeeper/myid

явно прописать IP-адрес, по которому он будут доступен:

# echo 10.0.3.4 > /etc/mesos-master/ip

и имя машины (hostname). Если разрешимого через DNS имени у машины нет, в этот файл надо также прописать IP-адрес, пустовать он не должен:

# echo 10.0.3.4 > /etc/mesos-master/hostname

В отдельном файле настроек Mesos необходимо указать адреса всех мастер-нод:

# echo 'zk://10.0.3.4:2181,10.0.3.3:2181,10.0.3.2:2181/mesos' > /etc/mesos/zk

(2181 – это порт, который по умолчанию слушает ZooKeeper).

Для самого ZooKeeper необходимо в файл /etc/zookeeper/conf/zoo.cfg добавить адреса мастер-нод в следующем виде:

server.1 = 10.0.3.4:2888:3888
server.2 = 10.0.3.3:2888:3888
server.3 = 10.0.3.2:2888:3888

Здесь 1, 2, 3 – не порядковые номера, а идентификаторы, которые указаны в файле /var/lib/zookeeper/myid каждого сервера.

Порт 2888 используется для взаимодействия с активным мастером, 3888 – для выбора нового мастера при необходимости.

От ZooKeeper в первую очередь требуется возможность выбрать лидера среди имеющихся мастер-узлов. Производится это с помощью алгоритма распределенного консенсуса ZAB. Для работы алгоритма необходимо указать значение кворума – минимально необходимое количество узлов, которые должны участвовать в выборе лидера. В общем случае это значение должно быть больше половины общего количество узлов, иначе возможна ситуация, когда ваш кластер из-за неполадок в сети распадется на две невзаимодействующие части, каждая из которых сможет выбрать себе своего лидера.

Поэтому минимальна конфигурация кластера Mesos при условии, что вы заботитесь о его отказоустойчивости – это три мастер-сервера и значение кворума, равное двум. Такая конфигурация позволяет пережить потерю одного мастера. Достаточно типичной является конфигурация 5:3, при которой можно потерять два узла из пяти (напомним, что исходя из схожих соображений выбираются рекомендуемые настройки Virtuozzo Storage [7]).

Значение кворума указывается в отдельном файле настроек:

# echo "2" > /etc/mesos-master/quorum

В завершение отключаем сервис mesos-slave и рестартуем mesos и zookeeper (при установке пакетов все эти сервисы добавляются в набор загружаемых при старте системы, но не стартуют сразу ввиду отсутствия конфигурации):

# systemctl disable mesos-slave
# systemctl start mesos-master
# systemctl start zookeeper

После установки веб-интерфейс Mesos (см. рис. 1) будет доступен по адресу любого из мастеров на порту 5050.

Рисунок 1. Веб-интерфейс Mesos доступен по адресу любой из master-машин

Рисунок 1. Веб-интерфейс Mesos доступен по адресу любой из master-машин

По нашему опыту этот веб-интерфейс удобно использовать для мониторинга происходящих в кластере событий (особенно если что-то пошло не так; впрочем, в таких случаях иногда полезнее посмотреть в журналы в директории /var/log/mesos на мастер-узлах либо на вычислительном узле, где произошла ошибка). Управлять же кластером особой необходимости не возникает; настройка и контроль реальных задач осуществляется в используемом у вас фреймворке (например, Marathon имеет свой веб-интерфейс, а конфигурация плагина Jenkins осуществляется в самом Jenkins).

Установка Slave

Для установки вычислительных узлов используются пакеты из того же репозитория, что и для мастер-нод:

# rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesospehere-el-repo-7-1.noarch.rpm

Из этих репозиториев достаточно установить пакет Mesos:

# yum install mesos

Обратите внимание, что это тот же пакет, который используется для запуска мастер-нод. И это неудивительно – роль вычислительного узла и мастера можно совмещать.

Аналогично мастер-нодам необходимо для каждой машины прописать IP-адрес и имя машины:

# echo 10.0.3.5 >> /etc/mesos-slave/ip
# cp /etc/mesos-slave/ip /etc/mesos-slave/hostname

Если на данной машине установлен только slave, то надо отключить запуск сервиса mesos-master:

# systemctl disable mesos-master
Выполним настройку Jenkins на использование Mesos для размещения вычислительных узлов (Jenkins slaves)

Все мастер-серверы необходимо указать в /etc/mesos/zk:

# echo "zk://10.0.3.4:2181,10.0.3.3:2181,10.0.3.2:2181/mesos" > /etc/mesos/zk

Вычислительные узлы будут время от времени опрашивать ZooKeeper на предмет текущего лидера и подключаться к нему, предоставляя свои ресурсы.

Изначально в Mesos для запуска задач использовались собственные контейнеры, но в соответствии с веянием времени была добавлена поддержка Docker. Что именно будет использоваться, зависит от конкретного фреймворка и его настроек.

Например, плагин Jenkins по-прежнему создает Mesos-контейнеры, а вот Marathon (входящий в официальные репозитории Mesos) использует Docker. Несмотря на последний факт, по умолчанию Docker-контейнеризация на вычислительных узлах недоступна, требуется выполнить ряд действий, чтобы ее включить.

Во-первых, необходимо установить сам Docker:

# yum install docker

А затем добавить его в список доступных типов контейнеризации:

# echo "docker,mesos" > /etc/mesos-slave/containerizers

При использовании Docker рекомендуется увеличить тайм-аут регистрации нового контейнера – надо закладываться на ситуацию, когда нужного docker-образа нет в локальном кэше и его надо сначала скачать по сети:

# echo '5mins' > /etc/mesos-slave/executor_registration_timeout

Наконец запустим сервис mesos-slave:

# systemctl start mesos-slave

Если все прошло успешно, новый сервисный узел появится на вкладке Agents в веб-интерфейсе Mesos (см. рис. 2).

Рисунок 2. По мере ввода в строй новых сервисных узлов они появляются в соответствующей вкладке веб-интерфейса Mesos

Рисунок 2. По мере ввода в строй новых сервисных узлов они появляются в соответствующей вкладке веб-интерфейса Mesos

Использование совместно с Jenkins

В данной статье мы рассмотрим настройку Jenkins на использование Mesos для размещения вычислительных узлов (Jenkins slaves). Данный функционал реализован с помощью плагина mesos, однако перед его установкой в Jenkins необходимо выполнить ряд подготовительных действий (не считая развертывания самого Jenkins – далее мы предполагаем, что он уже установлен и работает на машине, не входящей в кластер Mesos).

Во-первых, на каждой машине с Mesos slave необходимо завести пользователя с именем jenkins, установить java (мы использовали стандартный пакет java-1.8.0-openjdk из репозиториев Virtuozzo Linux) и прописать экспорт переменной JAVA_HOME в профиль пользователя.

Активное развитие многих проектов нередко включает в себя не только появление нового функционала, но и переделку (а то и поломку) существующего

На сервер Jenkins необходимо добавить библиотеку libmesos для взаимодействия с кластером. В нашей конфигурации Jenkins также работает на машине с Virtuozzo Linux, поэтому взять библиотеку можно из RPM-пакета mesos либо непосредственно с одной из машин Mesos-кластера – она располагается в директории /usr/lib, имя ее начинается на libmesos (например, libmesos-1.5.0.so). Обратите внимание, что в этой директории также есть файл /usr/lib/libmesos.so, но онявляется символьной ссылкой на реальную библиотеку.

Положить файл с библиотекой необходимо на сервер Jenkins в любое место, доступное фреймворку, – например, в /usr/local/lib/. Путь к ней необходимо будет указать при настройке плагина.

Теперь можно идти в веб-интерфейс Jenkins и искать плагин mesos в списке секции Manage Plugins. Вместе с ним необходимо установить плагин metrics – хотя он и отмечен в документации как опциональный, без него в нашем Jenkins плагин mesos работать отказался, попытка его использовать приводила к генерации исключения Java.

После установки плагинов переходим в секцию настроек Jenkins (Configure). Внизу этой секции у вас должна появиться кнопка Add a new cloud, при нажатии на которую в качестве одного из вариантов должна быть доступна опция Mesos cloud (см. рис. 3).

Рисунок 3. После установки плагина mesos вы сможете добавить «Облако Mesos» для размещения вычислительных узлов Jenkins

Рисунок 3. После установки плагина mesos вы сможете добавить «Облако Mesos» для размещения вычислительных узлов Jenkins

При ее выборе обязательно надо указать путь к библиотеке mesos на сервере Jenkins (параметре Mesos native library path), URL самого Jenkins, а также адреса мастер-узлов Mesos. В последнем поле можно указать адрес конкретного мастера, а можно сразу ссылку Zookeer (zk://10.0.3.4:2181,10.0.3.3:2181,10.0.3.2:2181/mesos).

Тут же можно нажать кнопку Test connection для проверки соединения с кластером (см. рис. 4). Обратите внимание, что если вы указали адрес в формате ZooKeeper, то сначала необходимо нажать кнопку Save.

Рисунок 4. Базовая настройка интеграции Jenkins и Mesos сводится к вводу параметров кластера

Рисунок 4. Базовая настройка интеграции Jenkins и Mesos сводится к вводу параметров кластера

В расширенных (Advanced) настройках можно указать, следует ли создавать контейнеры в кластере по мере необходимости (On-demand framework registration) либо вы будете создавать их вручную. Нам интересен вариант, когда контейнеры создаются автоматически – если на Jenkins будет запущено слишком много задач и им не станет хватать машин для выполнения, автоматически будет создан новый контейнер в кластере Mesos (естественно при наличии ресурсов).

На этой же странице указывается ограничение по ресурсам создаваемых узлов. Прежде всего сколько им будет доступно процессорного времени и памяти.

При желании можно указать метку (Label), которая будет присваиваться всем вычислительным узлам Jenkins, создаваемым в кластере Mesos. Это позволит вам регулировать, какие задачи можно запускать на таких узлах, а какие – нет.

Наконец, вместо «родных» контейнеров Mesos можно использовать Docker. Главным преимуществом такого выбора является возможность запускать контейнер из произвольного образа, который вы укажете, так что можно подготовить образ под свои нужды, с теми программами, которые вам нужны.

В случае же использования контейнеров Mesos вам придется довольствоваться тем, что установил в них плагин. Такой подход избавляет от необходимости готовить контейнер или образ самостоятельно, и этого хватает для большинства базовых задач Jenkins, сводящихся к выполнению тех или иных плагинов с нужными параметрами. Но если вы запускаете свои собственные скрипты, то с большой вероятностью вам надо переключаться на Docker. В таком случае вам надо будет указать, какой контейнер запускать и с какими параметрами.

Проверить, как ведет себя связка Jenkins и Mesos, достаточно легко – просто запустите несколько «долгих» задач, общее количество которых будет превышать число имеющихся у вас в данный момент узлов Jenkins. При этом помните, что плагин mesos создает новый контейнер не сразу по мере появления новых нераспределенных задач в очереди, а только если узлов для выполнения задач не хватает уже в течение нескольких минут. В таком поведении, безусловно, естьлогика, ведь создание контейнера происходит не мгновенно (так что вы вполне можете наблюдать за появлением нового узла непосредственно в веб-интерфейсе Jenkins, см. рис. 5).

Рисунок 5. Если Jenkins не хватает узлов для выполнения задач, Mesos оперативно развернет новые контейнеры

Рисунок 5. Если Jenkins не хватает узлов для выполнения задач, Mesos оперативно развернет новые контейнеры

Заключение

С точки зрения производительности и отказоустойчивости Mesos показывает вполне достойные характеристики и по праву считается конкурентом Kubernetes и Docker Swarm.

В данной статье мы рассмотрели его использование совместно с Jenkins, однако в сети можно найти немало руководств по запуску произвольных приложений и сервисов. В то же время этому проекту явно не хватает раскрученности, что сказывается на скорости его развития и реализованном функционале.

Например, для развертывания кластера Mesos по-прежнему предлагается заходить на каждую машину и выполнять на ней установку пакетов и конфигурацию, в то время как для того же Kubernetes активно развиваются средства автоматического развертывания кластера.

Также можно отметить более гибкий подход Kubernetes к обеспечению устойчивости кластера к исчезновению мастер-узлов.

Однако если вы не гонитесь за последними новшествами, то Mesos – неплохой выбор. В конце концов активное развитие многих проектов нередко включает в себя не только появление нового функционала, но и переделку (а то и поломку) существующего. Как следствие, переход на новую версию таких продуктов может вызвать немало проблем у системного администратора.

Mesos же по моему большому опыту обеспечивает не только стабильную работу ваших сервисов, но и плавное обновление компонентов кластера по мере необходимости.

  1. Яремчук С. Знакомимся с Kubernetes. // «Системный администратор», № 1-2, 2017 г. – С. 41-45. URL: http://samag.ru/news/more/2349.
  2. Силаков Д. Инструменты управления множеством контейнеров Docker. // «Системный администратор», № 5, 2015 г. – С. 11-15. URL: http://samag.ru/archive/article/2942.
  3. Apache Mesos – http://mesos.apache.org.
  4. Apache ZooKeeper – https://zookeeper.apache.org/.
  5. Перечень фреймворков Mesos – http://mesos.apache.org/documentation/latest/frameworks/.
  6. Marathon vs Aurora and their purposes. // Сравнение от разработчиков Aurora на Stackoverflow – https://stackoverflow.com/questions/28651922/marathon-vs-aurora-and-their-purposes.
  7. Силаков Д. Virtuozzo Storage. Распределенное отказоустойчивое хранилище данных для ВМ. // «Системный администратор», № 6, 2017 г. – С. 22-26. URL: http://samag.ru/archive/article/3448.

Ключевые слова: Mesos, Docker, виртуализация, Linux.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru