Container Linux
CoreOS | |
---|---|
![]() | |
Семейство ОС | Unix-like |
Первый выпуск | 3 октября 2013 |
Последняя версия | 367.1.0[1] (12 июля 2014 ) |
Поддерживаемые платформы | x86-64 |
Тип ядра | монолитное (Linux kernel) |
Лицензия | Apache License 2.0[2][3] |
Состояние | In development |
Веб-сайт | coreos.com |
![]() |
CoreOS — легковесная операционная система с открытым исходным кодом на базе ядра Linux. Предназначена для создания инфраструктуры компьютерных кластеров, особое внимание уделено автоматизации, упрощению внедрения приложений, безопасности, надежности и масштабируемости. В качестве операционной системы CoreOS предоставляет лишь минимальную функциональность, необходимую для развертывания приложений внутри программных контейнеров, средства обнаружения сервисов и передачи настроек.[4][5][6][7]
CoreOS является форком Chrome OS. Основа CoreOS была создана с помощью SDK из проекта Chromium OS, к которой добавлена новая функциональность. CoreOS поддерживает оборудование, часто используемое в серверах.[6][8]:7:02 По состоянию на лето 2014 CoreOS активно дорабатывается, в основном Alex Polvi, Brandon Philips и Michael Marineau,[5]. В стабильной версии CoreOS доступны основные компоненты за исключением etcd и fleet.[9][10][11]
Особенности
В CoreOS нет пакетного менеджера, все устанавливаемые приложения должны работать внутри собственных контейнеров, которые реализованы с помощью Docker на базе Linux Containers (LXC). LXC позволяет виртуализировать несколько независимых Linux контейнеров в рамках одного компьютера с Linux. Разделение ресурсов производится между несколькими программами пользовательского уровня без использования гипервизоров и полноценных виртуальных машин. Реализация использует подсистему ядра cgroups для изоляции, учета и ограничения ресурсов (использование процессора, памяти, дискового и сетевого ввода-вывода и т. п.) для группы процессов.[4][7][12]
В качестве демона инициализации (init) в CoreOS используется systemd, тесно интегрированный с сервисами CoreOS.[4][13]
Обновления
В качестве меры повышения безопасности и надежности, CoreOS использует FastPatch — схему с двумя корневыми файловыми системами, одна из которых является рабочей и защищена от записи. Обновления устанавливаются на вторую файловую систему, которая становится рабочей после перезагрузки или исполнения kexec. Таким образом обеспечивается возможность быстро вернуться к предыдущей версии. Каждый раздел может быть криптографически подписан для повышения безопасности. Изменяемая часть файловой иерархии хранится на разделе «state», который занимает все оставшееся дисковое пространство.[4][7][14][15]
Система распределения обновлений CoreOS основана на открытом проекте компании Google Omaha. Для управления обновлениями кластеров CoreOS предоставляет веб-интерфейс CoreUpdate, который позволяет делить узлы кластера на группы с различными политиками обновления, предоставляет статистику по версиям, распределяет обновления.[14][16][17]
Инфраструктура для кластеров
На каждом компьютере кластера работает демон etcd, который позволяет обновлять настройки узлов. Взаимодействие с etcd осуществляется с помощью API на базе JSON и протокола HTTP, либо через утилиту командной строки etcdctl .[4][7][18][19][20]
Демон fleet управляет программами systemd на уровне всего кластера. Взаимодействие с ним осуществляется с помощью утилиты fleetctl. Данные между узлами передаются поверх SSH туннелей.[21][22][23][24]
Оба демона etcd и fleet написаны на языке Golang (Go) и распространяются под открытой лицензией Apache License 2.0.[3][25]
Установка
CoreOS может быть постоянно установлена на жесткий диск сервера, загружаться через PXE или iPXE.[26][27][28] Также CoreOS поддерживает установку на таких системах аппаратной виртуализации как Amazon EC2, DigitalOcean, Google Compute Engine, OpenStack, QEMU/KVM, Vagrant, VMware.[7][29][30]
См. также
Примечания
- ↑ coreos/manifest . github.com (12 июля 2014). Дата обращения: 28 августа 2014.
- ↑ CoreOS Pilot Agreement . coreos.com (13 марта 2014). Дата обращения: 26 марта 2014.
- ↑ 1 2 coreos/etcd . github.com (31 июля 2013). Дата обращения: 26 марта 2014.
- ↑ 1 2 3 4 5 Libby Clark. Brandon Philips: How the CoreOS Linux Distro Uses Cgroups . Linux.com (9 сентября 2013). Дата обращения: 13 февраля 2014.
- ↑ 1 2 Cade Metz. Linux Hackers Rebuild Internet From Silicon Valley Garage . Wired (21 августа 2013). Дата обращения: 13 февраля 2014.
- ↑ 1 2 CoreOS – a new approach to Linux-based server systems . itnews2day.com (22 августа 2013). Дата обращения: 26 марта 2014.
- ↑ 1 2 3 4 5 CoreOS documentation . coreos.com. Дата обращения: 13 февраля 2014.
- ↑ Brian Harrington. CoreOS: Anatomy of a CoreOS update . youtube.com. Rackspace (8 июля 2014). Дата обращения: 25 июля 2014.
- ↑ Alex Polvi. CoreOS Stable Release . coreos.com (25 июля 2014). Дата обращения: 28 августа 2014.
- ↑ CoreOS Release Notes . coreos.com. Дата обращения: 28 августа 2014.
- ↑ Blake Mizerany. etcd – The Road to 1.0 . coreos.com (14 апреля 2014). Дата обращения: 28 августа 2014.
- ↑ CoreOS documentation . coreos.com. Дата обращения: 13 февраля 2014.
- ↑ CoreOS documentation . coreos.com. Дата обращения: 13 февраля 2014.
- ↑ 1 2 CoreOS documentation . coreos.com. Дата обращения: 13 февраля 2014.
- ↑ CoreOS documentation . coreos.com. Дата обращения: 13 февраля 2014.
- ↑ Package omaha . godoc.org (24 июня 2014). Дата обращения: 4 июля 2014.
- ↑ CoreOS documentation . coreos.com. Дата обращения: 4 июля 2014.
- ↑ CoreOS documentation . coreos.com. Дата обращения: 13 февраля 2014.
- ↑ CoreOS documentation . coreos.com. Дата обращения: 13 февраля 2014.
- ↑ Brandon Philips. etcd @ GoSF . speakerdeck.com (15 января 2014). Дата обращения: 13 февраля 2014.
- ↑ CoreOS documentation . coreos.com. Дата обращения: 3 апреля 2014.
- ↑ CoreOS documentation . coreos.com. Дата обращения: 3 апреля 2014.
- ↑ coreos/fleet . github.com (18 февраля 2014). Дата обращения: 3 апреля 2014.
- ↑ coreos/fleet . github.com (7 марта 2014). Дата обращения: 3 апреля 2014.
- ↑ coreos/fleet . github.com (6 февраля 2014). Дата обращения: 3 апреля 2014.
- ↑ CoreOS documentation . coreos.com. Дата обращения: 13 февраля 2014.
- ↑ CoreOS documentation . coreos.com. Дата обращения: 13 февраля 2014.
- ↑ CoreOS documentation . coreos.com. Дата обращения: 13 февраля 2014.
- ↑ Alex Crawford. CoreOS Image Now Available On DigitalOcean . coreos.com (5 сентября 2014). Дата обращения: 5 сентября 2014.
- ↑ Jack Clark. Google brings futuristic Linux software CoreOS onto its cloud . The Register (23 мая 2014). Дата обращения: 26 мая 2014.
Ссылки
- coreos.com/docs/ — официальный сайт Container Linux
- CoreOS documentation
- First glimpse at CoreOS
- CoreOS: Linux for the cloud and the datacenter
- CoreOS fleet architecture
- Official CoreOS images available on Google Compute Engine
- CoreOS source code on GitHub
- etcd source code on GitHub
- fleet source code on GitHub
- CoreOS на сайте DistroWatch
Container Linux | |
---|---|
![]() | |
Первый выпуск | 3 октября 2013 |
Поддерживаемые платформы | x86-64 |
Лицензия | лицензия Apache |
Веб-сайт | coreos.com |
![]() |