Другий прототип ALP платформи, що йде на зміну SUSE Linux Enterprise

Компанія SUSE опублікувала другий прототип платформи ALP "Punta Baretti" (Adaptable Linux Platform), що позиціонується як продовження розвитку дистрибутива SUSE Linux Enterprise. Ключовою відмінністю ALP є поділ базової основи дистрибутива на дві частини: урізану «host OS» для роботи поверх обладнання та шар для підтримки програм, орієнтований на запуск у контейнерах та віртуальних машинах. Складання підготовлено для архітектури x86_64. ALP спочатку розвивається з використанням відкритого процесу розробки, при якому проміжні складання та результати тестування публічно доступні всім бажаючим.

Архітектура ALP заснована на розвитку в "host OS" оточення, мінімально необхідного для підтримки та управління обладнанням. Всі програми та компоненти простору користувача пропонується запускати не в змішаному оточенні, а в окремих контейнерах або у віртуальних машинах, що виконуються поверх host OS і ізольованих один від одного. Подібна організація дозволить користувачам сфокусувати увагу на додатках та абстрагувати робочі процеси, відокремивши їх від низькорівневого системного оточення та обладнання.

Як основа для «host OS» задіяний продукт SLE Micro, заснований на напрацюваннях проекту MicroOS. Для централізованого керування пропонуються системи керування конфігурацією Salt (передвстановлена) та Ansible (опція). Для запуску ізольованих контейнерів доступні інструментарії Podman та K3s (Kubernetes). Серед системних компонентів, винесених у контейнери, присутні yast2, podman, k3s, cockpit, GDM (GNOME Display Manager) та KVM.

З особливостей системного оточення згадується стандартне використання дискового шифрування (FDE, Full Disk Encryption) з можливістю зберігання ключів у TPM. Кореневий розділ монтується в режимі лише для читання та не змінюється у процесі роботи. В оточенні застосовується механізм атомарної установки оновлень. На відміну від атомарних оновлень на базі ostree та snap, що використовуються у Fedora та Ubuntu, в ALP замість побудови окремих атомарних образів та розгортання додаткової інфраструктури доставки застосовуються штатний пакетний менеджер та механізм снапшотів у ФС Btrfs.

Передбачено режим автоматичної установки оновлень (наприклад, можна ввімкнути автоустановку тільки виправлень критичних вразливостей або повернутися до ручного підтвердження установки оновлень). Для оновлення ядра Linux без перезапуску та припинення роботи підтримуються live-патчі. Для підтримки живучості системи (self-healing) здійснюється фіксація останнього стабільного стану за допомогою снапшотів Btrfs (у разі виявлення аномалій після застосування оновлень або зміни налаштувань система автоматично перетворюється на попередній стан).

У платформі застосовується багатоверсійний програмний стек – завдяки застосуванню контейнерів можна одночасно використовувати різні версії інструментів та додатків. Наприклад, можна запускати програми, які використовують залежно від різних версій Python, Java і Node.js, розділяючи несумісні між собою залежності. Базові залежності поставляються у вигляді наборів BCI (Base Container Images). Користувач може створювати, оновлювати та видаляти програмні стеки не торкаючись інших оточень.

Основні зміни у другому прототипі ALP:

  • Задіяний інсталятор D-Installer, в якому інтерфейс користувача відділений від внутрішніх компонентів YaST і є можливість використання різних фронтендів, у тому числі фронтенду для керування установкою через web-інтерфейс. Базовий інтерфейс для керування установкою побудований з використанням web-технологій і включає обробник, що забезпечує доступ до D-Bus викликів через HTTP, і безпосередньо web-інтерфейс. Web-інтерфейс написаний на JavaScript з використанням фреймворку React та компонентів PatternFly. Для забезпечення безпеки D-Installer підтримує установку на шифровані розділи і дозволяє використовувати TPM (Trusted Platform Module) для розшифровування завантажувального розділу, використовуючи замість паролів ключі, що зберігаються в TPM-чіпі.
  • Забезпечено виконання деяких клієнтів YaST (bootloader, iSCSIClient, Kdump, firewall тощо) в окремих контейнерах. Реалізовано два типи контейнерів - керуючі для роботи з YaST у текстовому режимі, у GUI та через Web-інтерфейс, та тестові для проведення автоматизованого текстування. Ряд модулів також адаптовано для використання в системах з транзакційними оновленнями. Для інтеграції з openQA запропоновано бібліотеку libyui-rest-api з реалізацією REST API.
  • Реалізовано виконання у контейнері платформи Cockpit, на базі яких побудовано web-інтерфейс конфігуратора та інсталятора.
  • Забезпечено можливість використання повнодискового шифрування (FDE, Full Disk Encryption) в установках поверх звичайного обладнання, а не лише в системах віртуалізації та хмарних системах.
  • Як основний завантажувач задіяний GRUB2.
  • Додані конфігурації для розгортання контейнерів для побудови міжмережевого екрану (firewalld-container) та централізованого керування системами та кластерами (warewulf-container).

Джерело: opennet.ru

Додати коментар або відгук