Red Hat представил Atomic, концепцию модульной ОС на базе изолированных контейнеров
16 апреля 2014 года
Компания Red Hat анонсировала свободный проект Atomic, в рамках которого развивается концепция похожей на CoreOS минималистской операционной системы, нацеленной на обеспечение запуска изолированных контейнеров, подготовленных и управляемых при помощи инструментария Docker. Экспериментальные сборки Atomic на основе Fedora 20 подготовлены для использования в VirtualBox, QEMU/KVM и OpenStack. На базе Atomic будет сформирована специальная редакция дистрибутива Red Hat Enterprise Linux Atomic Host, которую планируется включить в состав серии продуктов Red Hat Enterprise Linux 7. Также планируется формирование сборки на основе CentOS.
Предоставляемое Atomic базовое окружение (Atomic Host) содержит только минимальный набор компонентов (systemd, journald, docker, rpm-OSTree, geard и т.п.), необходимых для запуска и управления изолированными контейнерами. Все пакеты, обеспечивающие работу конечные приложений, поставляются непосредственно в составе контейнеров, а хост-система не содержит ничего лишнего. Таким образом пользователю предлагается новая концепция построения гибких модульных систем - с минимальным базовым окружением, необходимость обновления компонентов которого сведена к минимуму, и набором контейнеров с реализацией окружений для обеспечения работы отдельных сервисов и приложений. Контейнеры не привязаны к базовой системе и могут перемещаться от одного сервера на другой, а также централизованно обновляться и заменяться без перезапуска сервера. Обновление базовой системы и контейнеров производится в атомарном режиме, без манипуляций на уровне отдельных пакетов.
Поставка сервисов в форме контейнеров упрощает тестирование продукта, например, новая версия приложения или обновление состава контейнера могут быть предварительно протестированы на машине разработчика, а затем в неизменном виде перенесены на рабочий сервер, заменив прошлый рабочий образ контейнера. Docker-образ может быть установлен в форме изолированного контейнера на любой внешней системе на базе systemd. В случае сбоя сервера, контейнер с минимальной задержкой может быть поднят на другой машине. Задачи по управлению зависимостями контейнеров и перезапуску после сбоя выполняет systemd.
Среди достоинств также отмечается увеличение безопасности и упрощение переноса приложений и сервисов, изначально выполняемых на выделенных серверах, в окружения виртуализации и облачные системы, позволяющие более оптимально использовать вычислительные ресурсы оборудования. При наличии проблем с безопасностью в контейнере, злоумышленник не сможет проникнуть дальше обслуживающего сервер изолированного окружения, содержащего только компоненты, требуемые для выполнения сервиса. Дополнительная изоляция контейнеров обеспечивается с использованием SELinux.
Для обновления системного окружения используется технология OSTree, при которой системный образ атомарно обновляется из Git-подобного хранилища, позволяющего применять методы версионного контроля к компонентам дистрибутива (например, можно быстро откатить систему к прошлому состоянию). RPM-пакеты транслируются в репозиторий OSTree при помощи специальной прослойки rpm-ostree (Архивная копия от 5 июля 2015 на Wayback Machine). Отдельная установка и обновление пакетов внутри рабочего окружения не поддерживается, система обновляется не на уровне отдельных компонентов, а целиком, атомарно меняя своё состояние. Предоставляются средства для инкрементального применения обновлений, избавляющие от необходимости полной замены образа при каждом обновлении. Cостав базовой системы можно менять и устанавливать дополнительные пакеты, но делается это на уровне репозитория OSTree с последующей синхронизацией базовой системы.
Установка и привязка контейнеров к systemd, а также координация выполнения контейнеров на разных хостах, осуществляется при помощи нового инструмента GearD. GearD войдёт в состав будущего выпуска платформы OpenShift и берёт на себя задачи быстрой доставки и развёртывания кода приложений в программных окружениях на базе изолированных контейнеров с использованием методов непрерывной интеграции. При помощи GearD можно выполнять такие действия, как установка по сети образа Docker в систему с systemd, настройка конфигурации окружения, запуск/останов/перезапуск отдельных контейнеров, сборка и тестирование образов Docker, организация сетевого канала связи между контейнерами, передача логов, загрузка данных и контейнеров, мониторинга состояния контейнеров, настройка входа в контейнер по SSH, развёртывание приложений, в том числе из Git-репозитория.
Для управления системной конфигурацией помимо манипуляций в командной строке предлагается использовать web-интерфейс Cockpit, который позволяет администратору управлять хранилищами, запуском сервисов, анализировать логи, инспектировать и администрировать контейнеры Docker, в том числе отслеживать потребление ресурсов и задавать ограничения. Состав контейнеров может формироваться на основе пакетов, не привязанных к конкретному дистрибутиву.
Источники
править- Главная ссылка к новости (http://www.redhat.com/about/ne...) (Архивная копия от 14 июля 2014 на Wayback Machine)
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.