Перейти до вмісту

Container Linux

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

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

Напрацювання проекту поширюються під ліцензією 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. Процитовано 13 лютого 2014.
  2. а б CoreOS – a new approach to Linux-based server systems. itnews2day.com. 22 серпня 2013. Процитовано 26 березня 2014.
  3. CoreOS Pilot Agreement. coreos.com. 13 березня 2014. Процитовано 26 березня 2014.
  4. etcd/LICENSE at master. coreos/etcd. github.com. 31 липня 2013. Процитовано 26 березня 2014.
  5. Libby Clark (9 вересня 2013). Brandon Philips: How the CoreOS Linux Distro Uses Cgroups. linux.com. Процитовано 13 лютого 2014.
  6. Using CoreOS. CoreOS documentation. coreos.com. Процитовано 13 лютого 2014.

Посилання