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

Container Linux

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

CoreOS — проект, в рамках якого розвивається не схоже на традиційні Linux-дистрибутиви серверне оточення, що нагадує по суті ChromeOS, але націлене на масове розгортання серверних систем. Напрацювання проекту поширюються під ліцензією Apache 2.0.

Система містить тільки мінімальний набір компонентів, достатній для виконання ізольованих контейнерів (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. Release v247.0.0: CoreOS v247.0.0. coreos/manifest. github.com. 4 березня 2014. Процитовано 24 березня 2014.
  2. CoreOS Pilot Agreement. coreos.com. 13 березня 2014. Процитовано 26 березня 2014.
  3. etcd/LICENSE at master. coreos/etcd. github.com. 31 липня 2013. Процитовано 26 березня 2014.

Посилання