CoreOS

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
CoreOS
Coreos-wordmark-horiz-color.png
Семейство ОС

Unix-like

Исходный код

открытый

Первый выпуск

3 октября 2013

Последняя версия

899.15.0[1] (5 апреля 2016)

Последняя тестовая версия

1010.1.0 (7 апреля 2016)

Тип ядра

монолитное (Linux kernel)

Лицензия

Apache License 2.0[2][3]

Состояние

В разработке

Веб-сайт

coreos.com

Commons-logo.svg CoreOS на Викискладе

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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