The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Первый стабильный выпуск серверной Linux-системы CoreOS

25.07.2014 23:37

После года тестирования и 191 предварительного выпуска анонсирован первый стабильный релиз проекта CoreOS, в рамках которого развивается не похожее на традиционные Linux-дистрибутивы серверное окружение, напоминающее по сути ChromeOS, но нацеленное на массовое развёртывание серверных систем. Выпуск позиционируется как достаточно протестированный, стабильный и безопасный, чтобы считать проект готовым для начала промышленного применения. Наработки проекта распространяются под лицензией Apache 2.0.

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

Для установки обновлений используется подход ChromeOS, при котором одновременно создаётся два дисковых раздела. Один из разделов является активным, а второй используется для копирования обновления, после установки которого активным становится второй раздел, а первый остаётся для установки следующего обновления и предоставляет возможность быстрого отката изменений. Таким образом, при каждом обновлении разделы меняются местами. Обновления могут устанавливаться автоматически, по аналогии с ChromeOS.

По задумке разработчиков, обновление серверов на базе CoreOS должно производиться также просто, как в настоящее время осуществляется обновление браузеров. Для управления перезапусками после применения обновлений создана подсистема Locksmith, которая позволяет выбрать оптимальную стратегию поведения. Например, можно перезагрузить систему сразу после получения обновления или дождаться распределённой блокировки etcd, что позволяет гарантировать, что в один момент времени в состоянии перезагрузки будет находиться не более одного хоста в кластере.

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

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

На этапе инициализации задействована система CloudInit, позволяющая задавать конфигурацию окружения на этапе загрузки в отдельном файле cloud-config.yml. В том числе, через заданные в cloud-config.yml параметры можно создавать пользователей, добавлять ssh-ключи, записывать юниты systemd и контролировать их запуск, создавать произвольные файлы в ФС, передавать параметры сети. Таким образом общий загрузочный образ может быть унифицирован и не привязан к конкретным конфигурациям.

Готовые базовые образы CoreOS подготовлены для запуска c использованием PXE-загрузки, Amazon EC2, Google Compute Engine, OpenStack, VirtualBox, VMware, Rackspace Cloud, Vagrant, Xen и QEMU/KVM. Для обновления также можно использовать средства встроенного менеджера установки обновлений, в которой применяется техника выбора веток, похожая на каналы обновлений в Chrome.

  1. Главная ссылка к новости (https://coreos.com/blog/stable...)
  2. OpenNews: На развитие серверной Linux-системы CoreOS выделено 8 млн долларов инвестиций
  3. OpenNews: CoreOS - новый подход к организации серверных Linux-систем
  4. OpenNews: Red Hat представил Atomic, концепцию модульной ОС на базе изолированных контейнеров
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/40275-coreos
Ключевые слова: coreos
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (11) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, kai3341 (ok), 23:51, 25/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    > Вместо традиционных пакетных менеджеров предлагается использовать преднастроенные изолированные контейнеры, содержащие все необходимые компоненты для выполнения того или иного серверного приложения.

    C:\Program Files\

    В принципе, идея не настолько плохая: поддерживать полностью рабочий контейнер проще, чем пакет, зависящий от десятка других, которые зависят от ещё нескольких десятков пакетов. Тут ничего внезапно не поломается и конфликтовать не будет.

     
     
  • 2.3, Led (ok), 01:37, 26/07/2014 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > поддерживать полностью рабочий контейнер проще, чем пакет, зависящий от десятка других, которые зависят от ещё нескольких десятков пакетов.

    Нет, не проще.

     
  • 2.7, Аноним (-), 07:01, 26/07/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > пакет, зависящий от десятка других, которые зависят от ещё нескольких десятков
    > пакетов. Тут ничего внезапно не поломается и конфликтовать не будет.

    Только пользователю придется взвалить на себя работу майнтайнера. Сущая фигня.

     
     
  • 3.13, Аноним (-), 19:43, 26/07/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    С чего ты решил, что обновлений безопасноти не будет?
     

  • 1.2, Аноним (-), 23:54, 25/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Грядут времена когда миллионы ОС будут запускаться на одной железке, и мир погрузится в хаос и машины поработят человечество!
     
  • 1.11, Mihail Zenkov (ok), 10:41, 26/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну вот и подходящая OS для systemd, теперь можно выпиливать systemd из остальных дистров :)
     
     
  • 2.12, anonim (?), 10:56, 26/07/2014 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >Ну вот и подходящая OS для systemd, теперь можно выпиливать systemd из остальных дистров :)

    Нет. Очевидно же, что пора включить CoreOS в systemd.

     
  • 2.14, Аноним (-), 17:15, 27/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    всё уже, поздно. ищи работу по силам
     

  • 1.15, iCat (ok), 03:38, 28/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    kernel+systemd=PotteringOS
     
  • 1.16, Аноним (-), 12:09, 28/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Они вообще предусматривали bare metal установку? Или мне надо поднять хост, на нём развернуть KVM с coreOS, и уже в нём вертеть контейнерами? Если это так, то оно не нужно.
     
  • 1.17, Аноним (-), 14:20, 28/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А вот по ссылке пройти религия не позволяет. коллега?
    https://coreos.com/docs/running-coreos/bare-metal/installing-to-disk/
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру