Выпуск CentOS Atomic Host 7.20160707, специализированной ОС для запуска контейнеров Docker
Проект CentOS опубликовал новый выпуск минималистичной операционной системы CentOS Atomic Host 7.20160707, предназначенной для запуска изолированных контейнеров, подготовленных и управляемых при помощи инструментария Docker, и поставляемой в форме монолитного целиком обновляемого образа. CentOS Atomic Host является пересборкой продукта Red Hat Enterprise Linux Atomic Host, в свою очередь базирующегося на наработках свободного проекта Atomic.
Сборки CentOS Atomic Host доступны в форме установочного ISO, образов виртуальных машин Vagrant (Libvirt, VirtualBox), qcow2 (OpenStack, AWS, Libvirt) и AMI (Amazon Machine Image). В новой версии произведено обновление docker 1.10.3, atomic run tool 1.10.5, kubernetes 1.2.0, flannel 0.5.3, ostree 2016.5, etcd 2.2.5 и cloud-init 0.7.5.
Atomic Host предоставляет базовое окружение, которое содержит только минимальный набор компонентов (systemd, journald, docker, rpm-OSTree, geard и т. п.), необходимых для запуска и управления изолированными контейнерами. Все пакеты, обеспечивающие работу конечных приложений, поставляются непосредственно в составе контейнеров, а хост-система не содержит ничего лишнего. Состав хост-системы неделим и обрабатывается как целостный образ, без разбиения на отдельные пакеты. При этом сам образ формируется на основе штатных RPM-пакетов CentOS 7 при помощи системы rpm-ostree.
Контейнеры не привязаны к базовой системе и могут перемещаться с одного сервера на другой, а также централизованно обновляться и заменяться без перезапуска сервера. Поставка сервисов в форме контейнеров упрощает тестирование продукта, например, новая версия приложения или обновление состава контейнера могут быть предварительно протестированы на машине разработчика, а затем в неизменном виде перенесены на рабочий сервер, заменив прошлый рабочий образ контейнера. В случае сбоя сервера, контейнер с минимальной задержкой может быть поднят на другой машине.
Особенности Atomic Host:
- Обновление окружения Atomic Host производится атомарно, через замену образа всей системы, без разбивки на отдельные пакеты, что дает возможность легко откатиться на прошлое состояние в случае проблем.
- Для управления кластерами контейнеров задействован фреймворк Kubernetes, открытый компанией Google.
- Помимо cgroups и пространств имен дополнительная изоляция приложений внутри контейнеров обеспечивается системой SELinux, что добавляет дополнительный барьер защиты.
- Окружение Atomic Host может быть развернуто не только на физических серверах, но и в виртуальных машинах, приватных и публичных облачных окружениях, включая возможность запуска под управлением Amazon Web Services и Google Compute Engine.
- Выполняемые в окружении Atomic Host образы контейнеров, оформляются в формате Docker;
- Для обновления системного окружения используется технология OSTree, при которой системный образ атомарно обновляется из Git-подобного хранилища, позволяющего применять методы версионного контроля к компонентам дистрибутива (например, можно быстро откатить систему к прошлому состоянию). RPM-пакеты транслируются в репозиторий OSTree при помощи специальной прослойки rpm-ostree;
- Предоставляются средства для инкрементального применения обновлений, избавляющие от необходимости полной замены образа при каждом обновлении;
- Установка и привязка контейнеров к systemd, а также координация выполнения контейнеров на разных хостах, осуществляется при помощи нового инструмента GearD. GearD войдет в состав будущего выпуска платформы OpenShift и берет на себя задачи быстрой доставки и развертывания кода приложений в программных окружениях на базе изолированных контейнеров с использованием методов непрерывной интеграции;
- Поддержка запуска привилегированных контейнеров, позволяющих распространять в форме контейнеров управляющие приложения, которым требуется доступ к содержимому базовой хост-системы или к другим контейнерам.