Проект CentOS представил (http://seven.centos.org/2015/09/announcing-a-new-release-of-.../) выпуск минималистичной операционной системы CentOS Atomic Host, предназначенной для запуска изолированных контейнеров, подготовленных и управляемых при помощи инструментария Docker, и поставляемой в форме монолитного целиком обновляемого образа. CentOS Atomic Host является пересборкой продукта Red Hat Enterprise Linux 7 Atomic Host (https://access.redhat.com/solutions/1360923), в свою очередь базирующегося на наработках свободного проекта Atomic (http://www.projectatomic.io/). Сборки CentOS Atomic Host доступны (http://cloud.centos.org/centos/7/atomic/images/) в форме установочного ISO, образов виртуальных машин Vagrant (Libvirt, VirtualBox), qcow2 (OpenStack, AWS, Libvirt) и AMI (Amazon Machine Image). Основными компонентами CentOS Atomic Host являются пакеты с ядром Linux 3.10.0-229, docker 1.7.1-108, kubernetes 1.0.0-0.8.gitb2dafda, etcd 2.0.13-2, flannel 0.2.0-10, сloud-init 0.7.5-10, ostree 2015.6-4 и atomic 1.0-108.
Atomic Host предоставляет базовое окружение, которое содержит только минимальный набор компонентов (systemd, journald, docker, rpm-OSTree, geard и т.п.), необходимых для запуска и управления изолированными контейнерами. Все пакеты, обеспечивающие работу конечных приложений, поставляются непосредственно в составе контейнеров, а хост-система не содержит ничего лишнего. Состав хост-системы неделим и обрабатывается как целостный образ, без разбиения на отдельные пакеты. При этом сам образ формируется на основе штатных RPM-пакетов CentOS 7 при помощи системы rpm-ostree.
Контейнеры не привязаны к базовой системе и могут перемещаться с одного сервера на другой, а также централизованно обновляться и заменяться без перезапуска сервера. Поставка сервисов в форме контейнеров упрощает тестирование продукта, например, новая версия приложения или обновление состава контейнера могут быть предварительно протестированы на машине разработчика, а затем в неизменном виде перенесены на рабочий сервер, заменив прошлый рабочий образ контейнера. В случае сбоя сервера, контейнер с минимальной задержкой может быть поднят на другой машине.
Особенности Atomic Host:
- Обновление окружения Atomic Host производится атомарно, через замену образа всей системы, без разбивки на отдельные пакеты, что даёт возможность легко откатиться на прошлое состояние в случае проблем.
- Для управления кластерами контейнеров задействован фреймворк Kubernetes (https://www.opennet.ru/opennews/art.shtml?num=40181), открытый компанией Google.
- Помимо cgroups и пространств имён дополнительная изоляция приложений внутри контейнеров обеспечивается системой SELinux, что добавляет дополнительный барьер защиты.
- Окружение Atomic Host может быть развёрнуто не только на физических серверах, но и в виртуальных машинах, приватных и публичных облачных окружениях, включая возможность запуска под управлением Amazon Web Services и Google Compute Engine.
- Выполняемые в окружении Atomic Host образы контейнеров, оформляются в формате Docker;
- Для обновления системного окружения используется технология OSTree (https://www.opennet.ru/opennews/art.shtml?num=37750), при которой системный образ атомарно обновляется из Git-подобного хранилища, позволяющего применять методы версионного контроля к компонентам дистрибутива (например, можно быстро откатить систему к прошлому состоянию). RPM-пакеты транслируются в репозиторий OSTree при помощи специальной прослойки rpm-ostree (http://rpm-ostree.cloud.fedoraproject.org/);
- Предоставляются средства для инкрементального применения обновлений, избавляющие от необходимости полной замены образа при каждом обновлении;
- Установка и привязка контейнеров к systemd, а также координация выполнения контейнеров на разных хостах, осуществляется при помощи нового инструмента GearD (http://openshift.github.io/geard/). GearD войдёт в состав будущего выпуска платформы OpenShift и берёт на себя задачи быстрой доставки и развёртывания кода приложений в программных окружениях на базе изолированных контейнеров с использованием методов непрерывной интеграции;
- Поддержка запуска привилегированных контейнеров, позволяющих распространять в форме контейнеров управляющие приложения, которым требуется доступ к содержимому базовой хост-системы или к другим контейнерам.
URL: http://seven.centos.org/2015/09/announcing-a-new-release-of-.../
Новость: https://www.opennet.ru/opennews/art.shtml?num=42946