Короткие новости о контейнерах и виртуализации

В последнее время было огромное количество новостей про виртуализацию и контейнеры - тема-то очень горячая! Из-за недостатка времени мы просто кратко упомянем ту часть из них, которая показалась нам интересной.

Инженер Red Hat, Daniel P. Berrangé, продолжает улучшать и облагораживать libvirt. Еще в мае он последовательно улучшил производительность ведения журнала событий в libvirt и ускорил создание правил iptables/firewalld в libvirt. Уже, конечно, не новость, но как то прошла мимо внимания коллег-аналитиков.

Все больше внимания получает связка systemd и контейнеров. Lennart Poettering со своей командой постоянно улучшает возможности для управления контейнерами прямо из systemd. Скорость выпуска его версий довольно впечатляющая, и если кто-то пропустил, то в одной из последних версий systemd была добавлена возможность дополнительной изоляции /usr и /home (монтировать их и сопутствующие директории FHS в режиме только для чтения).

В рамках проекта OpenShift была анонсирована интересная утилита - geard. Она упрощает запуск и взаимодействие контейнеров Docker в системе с systemd, создавая все необходимое, в т.ч. настраивая сеть между контейнерами в пределах кластера.

Людям интересно не только запускать Docker на systemd, но и наоборот - запускать systemd внутри Docker. Обычно рекомендуют запускать лишь одно приложение в контейнере, но как нам кажется логичнее оперировать не отдельными демонами, а логическими сервисами (один сервис может требовать запуска нескольких демонов, и не всегда есть смысл раскидывать их на несколько контейнеров, особенно если надо придерживаться строгого порядка в их запуске). Опять же надо учесть тот факт, игнорируемый многими, что действительно, даже популярные системные демоны порой падают, и нужно чем то их поднимать. Разработчики Docker советуют использовать supervisord, но мы полагаем, что это неправильно, т.к. есть же systemd. Многие приходили к такому же выводу, но запустить systemd внутри контейнера с помощью Docker у них не получалось. К задаче наконец-то приступил наш коллега, Dan Walsh. Он провел исследовательскую работу и добился работы systemd в контейере Docker! Его рецепт пока выглядит длинновато, но в ближайшее время и в systemd, и в Docker будут внесены изменения, которые позволят сократить количество требуемых операций.

Раз уж говорим о Docker, недавно Docker запустили внутри Hadoop YARN, и результаты очень хорошие. YARN предназначается для запуска заданий внутри Hadoop, и раз заданиями могут быть, например, контейнеры Docker, то не превратить ли Hadoop в полноценное решение для манипуляции заданиями и процессами в кластере? Не просто Map-Reduce + хранилище, а целая облачная система общего пользования. Посмотрим, чем это закончится, а пока напомним, что в Fedora 21 из коробки будет доступно очень много компонентов Hadoop.

На днях завершилось еще одно интересное мероприятие - DockerCon. Рекап событий можно найти тут, но нам особенно приятно, что на этом мероприятии не только выступил Dan Walsh с докладом на тему Docker и SELinux, но и было анонсировано, что он включен в состав Docker Governance Advisory Board, как представитель Red Hat. Помимо него из корпоративных участников заявлены следующие компании-пользователи Docker - Google (да, они используют Docker, но них чуть ниже), IBM, Rackspace. Доклад про SELinux Walsh сделал очень вовремя - в Docker нашли какую-то дыру.


Бывший американский кэгэбэшник Dan Walsh рекомендует Docker и SELinux..


Но не только серверные задачи будут решаться с помощью Docker. Наши коллеги активно работают над широким использованием контейнерных технологий на десктопе. Участник Fedora, Christian Schaller, разработчик gstreamer и GNOME, рассказал о текущем состоянии дел (заметка уже обсуждается на OpenNET.ru). Сделано уже довольно много, и пока мы идем по роадмапу, который составил давным давно Lennart Poettering, в очередной раз обогнав время.

Вообще, контейнеры так радикально изменяют все подходы к управлению приложениями, что возникает вопрос - не сделал ли Docker и новые технологии, типа Project Atomic системы управления пакетами ненужными? Наш коллега, Colin Walters, считает, что нет, не сделал.

Много новостей и от разработчиков CoreOS. Для начала скажем, что пользователи уже начали развертывать тестовые окружения на базе CoreOS (например, заметка раз, заметка два). Рост интереса к CoreOS закономерно сконвертировался в золотые дублоны и пиастры - проект CoreOS получил 8 миллионов USD инвестиций (это почти 13 тысяч биткойнов по текущему курсу). И инвесторы получили не только полупустой проект, интересный девопсам, но проект в рамках которого все чаще рождаются интересные технологии - CoreUpdate и etcd, неторопливо движущийся к версии 1.0. На базе этих технологий уже строятся работающие коммерческие решения, например, недавно компания Mailgun разработала Vulcand, HTTP-прокси и балансировщик, о чем нам рассказал Rob Szumski в своем блог-посте. Но о гораздо более интересном пользователе etcd мы расскажем чуть ниже.

В последнее время еще один вопрос, регулярно поднимаемый на мероприятиях, это чем отличаются архитектурно CoreOS и Project Atomic. Наш коллега, Major Hayden, попытался ответить на этот вопрос в своем блог-посте. В итоге, Major сделал вывод, что CoreOS уже готов к реальному использованию, в то время, как Project Atomic еще требует полировки.

И наконец, очень интересная новость! Google анонсировал проект Kubernetes (анонс обсуждают на OpenNET.ru). Это система управления контейнерами в кластере, построенная на базе etcd и systemd. В проекте принимают участие такие компании, как Microsoft, Red Hat (почитайте анонс), IBM, Docker, Mesosphere, CoreOS и SaltStack. Для нас эта новость наконец-то ответила на вопрос, почему в последнее время инженеры Google присоединились к разработке systemd. Пока доступно лишь управление контейнерами Docker в кластере виртуальных машин KVM в облаке Google Cloud Platform, но очень вероятно, что возможности вскоре будут серьезно расширены.

Кстати, если вы будете с 15 по 17 октября 2014 в Дюссельдорфе, в Германии, то обязательно зайдите на Linux Plumbers Conference, где будут микроконференции по контейнерам и виртуализации сети (SDN). Пока, к сожалению, программы мероприятия нету.