CoreOS — новый подход к организации серверных Linux-систем

22 августа 2013 года

Группа энтузиастов, живущих в "Кремниевой долине (Архивная копия от 11 апреля 2015 на Wayback Machine)", развивает проект новой серверной Linux-системы CoreOS, основанной на архитектуре, существенно отличающейся от обычных дистрибутивов Linux. По своей сути CoreOS основана на идеях ChromeOS, адаптированных для массового развёртывания серверных систем. Для тестирования уже доступны (Архивная копия от 7 января 2014 на Wayback Machine) первые альфа-сборки CoreOS, пригодные для запуска под управлением VirtualBox и QEMU/KVM. Наработки проекта распространяются под лицензией Apache 2.0.

Ключевые особенности CoreOS:

  • Минималистичность. Система содержит минимальный набор компонентов, достаточных для выполнения только изолированных контейнеров (cgroups+namespaces), которые в свою очередь содержат произвольную начинку для запуска только необходимых серверных приложений. По сути, в состав базовой системы входит только ядро Linux, системный менеджер systemd и ряд служебных сервисов для управления конфигурацией и установки обновлений.
  • Корневой системный раздел монтируется в режиме только для чтения и не изменяется в процессе работы. Для установки обновлений используется подход ChromeOS, при котором одновременно создаётся два дисковых раздела. Один из разделов является активным, а второй используется для копирования обновления, после установки которого активным становится второй раздел, а первый остаётся для установки следующего обновления и предоставляет возможность быстрого отката изменений. Таким образом, при каждом обновлении разделы меняются местами. Обновления могут устанавливаться автоматически, по аналогии с ChromeOS. По задумке разработчиков, обновление серверов на базе CoreOS должно производиться также просто, как в настоящее время осуществляется обновление браузеров.
  • В состав не входит пакетный менеджер, вместо которого предлагается использовать преднастроенные изолированные контейнеры, содержащие все необходимые компоненты для выполнения того или иного серверного приложения. В качестве системы управления контейнерами поддерживается

Docker, предоставляющий средства для автоматизации создания изолированных окружений для запуска произвольных процессов и возможности по переносу и клонированию окружений на другие серверы. При этом Docker не является обязательным, присутствует возможность создания контейнеров вручную или использования уже готовых образов, пригодных для использования с инструментарием LXC. Упаковка приложений в произвольные обособленные контейнеры позволяет не задумываться об особенностях базовой ОС и свободно переносить контейнеры от одной ОС к другой и с сервера на сервер.

  • Средства автоматического определения доступных сервисов, использования единой конфигурации для группы серверов и объединения набора серверов во взаимосвязанные кластерные системы. Для обмена и управления конфигурацией используется система etcd, развиваемая специально для CoreOS. Код etcd написан на языке Go и поставляется под лицензией Apache. Etcd представляет собой высоконадёжное хранилище параметров конфигурации в форме ключ/значение. Для доступа к конфигурации предоставляется простой интерфейс, основанный на использовании HTTP и JSON (запросы могу отправляться при помощи утилиты curl или специальной утилиты etcdctl). Аутентификация выполняется на основе SSL-ключей. Хранилище конфигурации и логи реплицируются на все узлы и поддерживается в синхронизированном состоянии с использованием протокола Raft.

Алекс Полви (Alex Polvi), один из основателей CoreOS, ранее известен созданием системы управления и мониторинга облачными серверами Cloudkick, впоследствии купленной компанией Rackspace. Из известных участников разработки CoreOS можно отметить известного разработчика ядра Linux Грега Кроа-Хартмана и бывшего работника Google Майкла Морено (Michael Marineau).

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «CoreOS — новый подход к организации серверных Linux-систем», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.