CoreOS

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

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

 CoreOS у Вікісховищі

Напрацювання проекту поширюються під ліцензією 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. Архів оригіналу за 12 вересня 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. Архів оригіналу за 22 лютого 2014. Процитовано 13 лютого 2014.
  6. Using CoreOS. CoreOS documentation. coreos.com. Процитовано 13 лютого 2014.

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.