Container Linux

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая InternetArchiveBot (обсуждение | вклад) в 14:50, 1 ноября 2019 (Спасено источников — 1, отмечено мёртвыми — 0. Сообщить об ошибке. См. FAQ.) #IABot (v2.0). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску
CoreOS
Изображение логотипа
Семейство ОС 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
Логотип Викисклада Медиафайлы на Викискладе

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. Архивировано из оригинала 22 февраля 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]

Ссылки