CoreOS

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
CoreOS
Coreos-wordmark-horiz-color.png
Семейство ОС Unix-подобные ОС
Исходный код открытый
Первый выпуск 3 октября 2013 года
Последняя версия 1745.7.0[1] (14 июня 2018 года)
Последняя тестовая версия 1800.2.0[2] (Beta) (20 июня 2018 года)
1814.0.0[3] (Alpha) (20 июня 2018 года)
Поддерживаемые платформы x86-64
Тип ядра монолитное (Linux kernel)
Лицензия Apache License 2.0[4][5]
Состояние В разработке
Веб-сайт coreos.com
Commons-logo.svg CoreOS на Викискладе

CoreOS — легковесная операционная система с открытым исходным кодом на базе ядра Linux. Предназначена для создания инфраструктуры компьютерных кластеров, особое внимание уделено автоматизации, упрощению внедрения приложений, безопасности, надежности и масштабируемости. В качестве операционной системы CoreOS предоставляет лишь минимальную функциональность, необходимую для развертывания приложений внутри программных контейнеров, средства обнаружения сервисов и передачи настроек.[6][7][8][9]

CoreOS является форком Chrome OS. Основа CoreOS была создана с помощью SDK из проекта Chromium OS, к которой добавлена новая функциональность. CoreOS поддерживает оборудование, часто используемое в серверах.[8][10] По состоянию на осень 2014 CoreOS активно дорабатывается.

Особенности[править | править код]

В CoreOS нет пакетного менеджера, все устанавливаемые приложения должны работать внутри собственных контейнеров, которые реализованы с помощью Docker на базе Linux Containers (LXC). LXC позволяет виртуализировать несколько независимых Linux контейнеров в рамках одного компьютера с Linux. Разделение ресурсов производится между несколькими программами пользовательского уровня без использования гипервизоров и полноценных виртуальных машин. Реализация использует подсистему ядра cgroups для изоляции, учёта и ограничения ресурсов (использование процессора, памяти, дискового и сетевого ввода-вывода и т. п.) для группы процессов.[6][9][11]

В качестве демона инициализации (init) в CoreOS используется systemd, тесно интегрированный с сервисами CoreOS.[6][12]

Обновления[править | править код]

В качестве меры повышения безопасности и надежности, CoreOS использует FastPatch — схему с двумя корневыми файловыми системами, одна из которых является рабочей и защищена от записи. Обновления устанавливаются на вторую файловую систему, которая становится рабочей после перезагрузки или исполнения kexec. Таким образом обеспечивается возможность быстро вернуться к предыдущей версии. Каждый раздел может быть криптографически подписан для повышения безопасности. Изменяемая часть файловой иерархии хранится на разделе «state», который занимает все оставшееся дисковое пространство.[6][9][13][14]

Система распределения обновлений CoreOS основана на открытом проекте компании Google Omaha. Для управления обновлениями кластеров CoreOS предоставляет веб-интерфейс CoreUpdate, который позволяет делить узлы кластера на группы с различными политиками обновления, предоставляет статистику по версиям, распределяет обновления.[13][15][16]

Инфраструктура для кластеров[править | править код]

На каждом компьютере кластера работает демон etcd, который позволяет обновлять настройки узлов. Взаимодействие с etcd осуществляется с помощью API на базе JSON и протокола HTTP, либо через утилиту командной строки etcdctl .[6][9][17][18][19]

Демон fleet управляет программами systemd на уровне всего кластера. Взаимодействие с ним осуществляется с помощью утилиты fleetctl. Данные между узлами передаются поверх SSH туннелей.[20][21][22][23]

Оба демона etcd и fleet написаны на языке Golang (Go) и распространяются под открытой лицензией Apache License 2.0.[5][24]

Установка[править | править код]

CoreOS может быть постоянно установлена на жесткий диск сервера, загружаться через PXE или iPXE.[25][26][27] Также CoreOS поддерживает установку на таких системах аппаратной виртуализации как Amazon EC2, DigitalOcean, Google Compute Engine, OpenStack, QEMU/KVM, Vagrant, VMware.[9][28][29]

Мнения[править | править код]

LWN.net написал обзор на CoreOS в 2014 году[30]:

«Для тех, кто собирает большие операционные системы — веб-приложения, являющиеся ярким примером — у CoreOS, похоже, будет много интересной функциональности. Это должно позволить приложениям такого типа расти, и уменьшаться по мере необходимости по требованию, а также обеспечивать стабильную платформу, где обновления не являются головной болью. Для «массовой компиляции серверов» CoreOS, или что-то со многими из тех же характеристик, выглядит как будущее.»

См. также[править | править код]

Примечания[править | править код]

  1. CoreOS Container Linux Release Notes
  2. CoreOS Container Linux Release Notes
  3. CoreOS Container Linux Release Notes
  4. CoreOS Pilot Agreement. coreos.com (13 марта 2014). Проверено 26 марта 2014. Архивировано 12 сентября 2014 года.
  5. 1 2 coreos/etcd. github.com (31 июля 2013). Проверено 26 марта 2014.
  6. 1 2 3 4 5 Libby Clark. Brandon Philips: How the CoreOS Linux Distro Uses Cgroups. Linux.com (9 сентября 2013). Проверено 13 февраля 2014.
  7. Cade Metz. Linux Hackers Rebuild Internet From Silicon Valley Garage. Wired (21 августа 2013). Проверено 13 февраля 2014.
  8. 1 2 CoreOS – a new approach to Linux-based server systems. itnews2day.com (22 августа 2013). Проверено 26 марта 2014.
  9. 1 2 3 4 5 CoreOS documentation. coreos.com. Проверено 13 февраля 2014.
  10. Brian Harrington. CoreOS: Anatomy of a CoreOS update. youtube.com. Rackspace (8 июля 2014). Проверено 25 июля 2014.
  11. CoreOS documentation. coreos.com (недоступная ссылка — история). Проверено 13 февраля 2014. Архивировано 14 февраля 2014 года.
  12. CoreOS documentation. coreos.com. Проверено 13 февраля 2014. Архивировано 14 февраля 2014 года.
  13. 1 2 CoreOS documentation. coreos.com. Проверено 13 февраля 2014. Архивировано 14 февраля 2014 года.
  14. CoreOS documentation. coreos.com. Проверено 13 февраля 2014.
  15. Package omaha. godoc.org (24 июня 2014). Проверено 4 июля 2014.
  16. CoreOS documentation. coreos.com. Проверено 4 июля 2014.
  17. CoreOS documentation. coreos.com. Проверено 13 февраля 2014.
  18. CoreOS documentation. coreos.com. Проверено 13 февраля 2014.
  19. Brandon Philips. etcd @ GoSF. speakerdeck.com (15 января 2014). Проверено 13 февраля 2014.
  20. CoreOS documentation. coreos.com. Проверено 3 апреля 2014.
  21. CoreOS documentation. coreos.com. Проверено 3 апреля 2014.
  22. coreos/fleet. github.com (18 февраля 2014). Проверено 3 апреля 2014.
  23. coreos/fleet. github.com (7 марта 2014). Проверено 3 апреля 2014. (недоступная ссылка)
  24. coreos/fleet. github.com (6 февраля 2014). Проверено 3 апреля 2014.
  25. CoreOS documentation. coreos.com. Проверено 13 февраля 2014.
  26. CoreOS documentation. coreos.com. Проверено 13 февраля 2014.
  27. CoreOS documentation. coreos.com. Проверено 13 февраля 2014.
  28. Alex Crawford. CoreOS Image Now Available On DigitalOcean. coreos.com (5 сентября 2014). Проверено 5 сентября 2014.
  29. Jack Clark. Google brings futuristic Linux software CoreOS onto its cloud. The Register (23 мая 2014). Проверено 26 мая 2014.
  30. CoreOS: A different kind of Linux distribution [LWN.net]

Ссылки[править | править код]