CoreOSвідкрита легковагова операційна система, базована на ядрі Linux і побудована для забезпечення інфраструктури масового розгортання серверних і кластерних систем, і націлена на автоматизацію, просте розгортання застосунків, безпеку, надійність і масштабованість. Як операційна система CoreOS забезпечує тільки мінімальну функціональність, потрібну для розгортання застосунків усередені програмних контейнерів, разом з вбудованими механізмами для відкриття служб та спільного конфігурування.[5][1][2][6]

CoreOS
РозробникAlex Polvi, Brandon Philips, Michael Marineau[1][2] та інші
Родина ОСUnix-подібна
Робочий стану розробці
Вихідна модельвідкрите програмне забезпечення
Випущено у
виробництво
3 жовтня 2013
Останній випуск2135.5.0 / 2 липня, 2019; 5 років тому (2019-07-02)
Цільовий риноксервери і кластери
Тип ядрамонолітне (ядро Linux)
ЛіцензіяApache License 2.0[3][4]
coreos.com

Напрацювання проекту поширюються під ліцензією Apache 2.0.

Огляд

ред.

CoreOS, не схожа на традиційні Linux-дистрибутиви, є відгалуженням (форком) Chrome OS, використовуючи її як основу для додавання нової функціональності.

Система містить тільки мінімальний набір компонентів, достатній для виконання ізольованих контейнерів (cgroups + namespaces), які в свою чергу містять довільну начинку для запуску необхідних серверних застосунків. По суті, до складу базової системи входить тільки ядро Linux, системний менеджер systemd і ряд службових сервісів для управління конфігурацією і установки оновлень. Готові базові образи CoreOS підготовлені для запуску c використанням PXE-завантаження, Amazon EC2, Google Compute Engine, OpenStack, VirtualBox, VMware, Vagrant і QEMU/KVM.

Системний розділ монтується в режимі тільки для читання і не змінюється в процесі роботи. Для установки оновлень використовується підхід ChromeOS, при якому одночасно створюється два дискових розділи. Один з розділів є активним, а другий використовується для копіювання оновлення, після установки якого активним стає другий розділ, а перший залишається для установки наступного оновлення і надає можливість швидкої відміни змін. Таким чином, при кожному оновленні розділи міняються місцями. Оновлення можуть встановлюватися автоматично, за аналогією з ChromeOS. За задумом розробників, оновлення серверів на базі CoreOS повинно проводитися так само просто, як в даний час здійснюється оновлення браузерів.

Замість традиційних пакетних менеджерів пропонується використовувати попередньо ізольовані контейнери, що містять всі необхідні компоненти для виконання того чи іншого серверного застосунку. Упаковка застосунків у довільні відокремлені контейнери дозволяє не замислюватися про особливості базової ОС і вільно переносити контейнери від однієї ОС до іншої і з сервера на сервер. Як система керування контейнерами підтримується Docker, що надає засоби для автоматизації створення ізольованих оточень для запуску довільних процесів і можливості з перенесення і клонування оточень на інші сервери. При цьому Docker не є обов'язковим. Присутня також можливість створення контейнерів вручну або використання вже готових образів, придатних для використання з інструментом LXC.

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

Виноски

ред.
  1. а б Cade Metz (21 серпня 2013). Linux Hackers Rebuild Internet From Silicon Valley Garage. wired.com. Архів оригіналу за 26 березня 2014. Процитовано 13 лютого 2014.
  2. а б CoreOS – a new approach to Linux-based server systems. itnews2day.com. 22 серпня 2013. Архів оригіналу за 29 листопада 2014. Процитовано 26 березня 2014.
  3. CoreOS Pilot Agreement. coreos.com. 13 березня 2014. Архів оригіналу за 12 вересня 2014. Процитовано 26 березня 2014.
  4. etcd/LICENSE at master. coreos/etcd. github.com. 31 липня 2013. Архів оригіналу за 24 вересня 2019. Процитовано 26 березня 2014.
  5. Libby Clark (9 вересня 2013). Brandon Philips: How the CoreOS Linux Distro Uses Cgroups. linux.com. Архів оригіналу за 22 лютого 2014. Процитовано 13 лютого 2014.
  6. Using CoreOS. CoreOS documentation. coreos.com. Архів оригіналу за 23 лютого 2014. Процитовано 13 лютого 2014.

Посилання

ред.