Fedora CoreOS. Мы Федоре не враги (Алексей Костарев, OSSDEVCONF-2021)

Материал из 0x1.tv

Версия от 12:01, 28 сентября 2021; StasFomin (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Докладчик
Алексей Костарев.jpg
Алексей Костарев

В докладе будут рассмотрены история возникновения и ключевые особенности дистрибутива «Fedora CoreOS» компании RedHat и его аналогов. Возможность реализации основных идей дистрибутива в рамках операционной системы ALT Linux.

Видео

Презентация

Fedora CoreOS. Мы Федоре не враги (Алексей Костарев, OSSDEVCONF-2021).pdf Fedora CoreOS. Мы Федоре не враги (Алексей Костарев, OSSDEVCONF-2021).pdf Fedora CoreOS. Мы Федоре не враги (Алексей Костарев, OSSDEVCONF-2021).pdf Fedora CoreOS. Мы Федоре не враги (Алексей Костарев, OSSDEVCONF-2021).pdf Fedora CoreOS. Мы Федоре не враги (Алексей Костарев, OSSDEVCONF-2021).pdf Fedora CoreOS. Мы Федоре не враги (Алексей Костарев, OSSDEVCONF-2021).pdf Fedora CoreOS. Мы Федоре не враги (Алексей Костарев, OSSDEVCONF-2021).pdf Fedora CoreOS. Мы Федоре не враги (Алексей Костарев, OSSDEVCONF-2021).pdf Fedora CoreOS. Мы Федоре не враги (Алексей Костарев, OSSDEVCONF-2021).pdf Fedora CoreOS. Мы Федоре не враги (Алексей Костарев, OSSDEVCONF-2021).pdf Fedora CoreOS. Мы Федоре не враги (Алексей Костарев, OSSDEVCONF-2021).pdf Fedora CoreOS. Мы Федоре не враги (Алексей Костарев, OSSDEVCONF-2021).pdf Fedora CoreOS. Мы Федоре не враги (Алексей Костарев, OSSDEVCONF-2021).pdf Fedora CoreOS. Мы Федоре не враги (Алексей Костарев, OSSDEVCONF-2021).pdf Fedora CoreOS. Мы Федоре не враги (Алексей Костарев, OSSDEVCONF-2021).pdf Fedora CoreOS. Мы Федоре не враги (Алексей Костарев, OSSDEVCONF-2021).pdf Fedora CoreOS. Мы Федоре не враги (Алексей Костарев, OSSDEVCONF-2021).pdf Fedora CoreOS. Мы Федоре не враги (Алексей Костарев, OSSDEVCONF-2021).pdf Fedora CoreOS. Мы Федоре не враги (Алексей Костарев, OSSDEVCONF-2021).pdf Fedora CoreOS. Мы Федоре не враги (Алексей Костарев, OSSDEVCONF-2021).pdf Fedora CoreOS. Мы Федоре не враги (Алексей Костарев, OSSDEVCONF-2021).pdf

Thesis

Как правило, в различных средах разворачиваются различные Linux-дистрибутивы с различными версиями операционных систем, системных библиотек и т. п.. В рамках каждой версии на различных узлах устанавливается различное программное обеспечение (ПО). Если число узлов в кластере относительно невелико (несколько узлов) администрирование операционных систем (установка обновлений, закрытие уязвимостей, …) на узлах является небольшой проблемой. Если же число узлов исчисляется десятками и сотнями, грамотное администрирование разнородных операционных систем с различных установленным ПО становится невозможным.

Fedora CoreOS предлагает решение данной проблемы за счёт использования следующих механизмов:

Kostarev-img001-ossdevconf2021.png
  • Исключения участие оператора при разворачивании операционной системы. Для каждого узла в файле конфигурации задаются параметры развёртывания (разбиение дисковой подсистемы, конфигурирование сетевых интерфейсов и DNS, настройка сервисов и контейнеров, …). Установка операционной системы на различные вышеперечисленные платформы производится без участия оператора.
  • Автоматическое обновления ядра и операционной системы из одного центра без участия оператора с возможностью приостановить автоматическое обновление и откатить на предыдущую ветку.
  • Использование OSTree (git для бинарных файлов) позволяет:
    • откатывать состояние системы на предыдущие коммиты (точки фиксации)
    • разделить файловую систему на неизменяемую (/usr/), изменяемую (/var/) и обновляемую (/etc) части. Что позволяет:
      • упростить обновление бинарного программного кода системы;
      • исключить случайное удаление программного кода;
    • перегружать систему на предыдущие или последующие коммиты.
    • в случае необходимости администратор может, используя утилиту rpm-ostree доустановить или удалить пакеты, перебазироваться на другое дерево, заменить параметры ядра и т. д.
  • Администратор кластера может останавливать часть узлов кластера при снижении нагрузки и восстанавливать их при повышении.
  • Весь пользовательский софт работает в контейнерах (podman, moby engine == docker) в различных средах контейнеризации (docker swarm. k8s, …). Это упрощает обновление системы и исключает изменение функционала пользовательского ПО после обновления системы.
  • Файловая система Fedora CoreOS достаточно небольшая (менее 4GB), что позволяет её использовать в устройствах Интернета Вещей.

Содержание операционной системы:

  • последние свежие базовые компоненты Fedora (RPM-пакеты);
  • максимальная поддержка разнообразного железа (драйверы);
  • Основные (терминальные) административные инструменты;
  • Контейнерные движки: podman, moby engine.

Потоки разработки Fedora CoreOS

Релизы Fedora CoreOS выпускаются в трёх параллельных потоках:

  • next — реализация экперементального функционала. После стабилизации выпускаются мажоные версии дистрибутива.
  • testing — стабилизация RPM-пакетов. После стабилизации переводится в поток stable;
  • stable — самый надёжный поток из перечисленных (публикация каждый 2 недели).

Пользователи могут подключаться к любому из этих потоков и принимать участие в тестировании ближайщего или эксперементального функционала или использовать поток stable для повседневной работы.

Fedora CoreOS vs Fedora IoT

Наряду с дистрибутивом Fedora CoreOS компания RedHat продвигает близкое по концепции решение для Интернета Вещей: Fedora IoT.

Сходства дистрибутивов:

  • Использование ostree, rpm-ostree для поддержания неизменяемой операционной системы с атомарными изменениями.
  • Использование igniion для автоматического разворачивания на множество аппаратных устройств.
  • Пользовательские приложения разворачиваются в контейнерной среде.
  • Поддержка TPM2, SecureBoot и автоматического расшифровки данных с устройств хранения с помощью Clevis.

Различия дистрибутивов:

  • поддержка различных аппаратных платформ: x86_64, aarch64, armhfp.
  • упор на поддержку интернет-устройств и драйвером к ним;
  • меньший объём дискового прострнства ~1.5GB
  • контейнеризация осуществляется через podman, поддержка клиент-серверной модели moby engine (docker) отсутствует;
  • веб-служба Zezere с помощью которого администраторы могут развёртывать и настраивать Fedora IoT масштабируемым образом без физической консоли.

Альт CoreOS

В настоящее время на основе репозитория Sisyphus «Базальт СПО» выпускает следующиую линейку дистриутивов: Альт Рабочая станция, Альт Сервер, Альт Сервер Виртуализации, Альт Образование, Simply Linux.

Использую технологии и программный код Fedore Core можно обеспечить выпуск и поддержку линейки дистрибутивов Альт CoreOS и, возможно, Альт IoT.

В настоящий момент в Sisyphus портированы большинство пакетов Fedora CoreOS:

ostree Система обновления версий операционных систем на базе Linux портирована
ignition Утилита для управления дисками во время начальной установки системы портирована
dracut Инструментарий создания файловой системы начальной загрузки initramfs портирован В рамках ALTLinux используется собственный технологический процесс создания initrams
butane Утилита конвертации файлов описания конфигурации из формата YAML в формат JSON Ignition - Достаточно простая утилита
coreos-installer Программа установки CoreOs - Возможно создание собственной программы
rpm-ostree Аналог программы apt-get установки RPM-пакетов в файловую систему ostree - Возможно потребуется не весь функционал

Для создания и продвижения дистрибутива Альт CoreOS необходимо:

  • портирование недостающих пакетов или создание собственных аналогов;
  • создание или использование существующего ПО для развёртывания дистрибутива в облачных средах, включая Yandex Cloud;
  • организация процедура создания образов дистрибутива и «выкатки» его на сервера.

Таким образом создание и поддержка в рамках репозитория Sisyphus линейки дистрибутивов Альт CoreOS, Альт IoT вполне решаемая задача.

Fedora CoreOS. Мы Федоре не враги (Алексей Костарев, OSSDEVCONF-2021)!.jpg

Примечания и ссылки

Plays:0   Comments:0