Разработчики проекта Fedora объявили о стабилизации дистрибутива Fedora CoreOS и его готовности для широкого использования. Fedora CoreOS продвигается как единое решение для запуска окружений на базе изолированных контейнеров, пришедшее на смену продуктам Fedora Atomic Host и CoreOS Container Linux. Поддержка дистрибутива CoreOS Container Linux будет прекращена через 6 месяцев, а прекращение поддержки Fedora Atomic Host ожидается в конце ноября.
Fedora CoreOS нацелен на предоставление минимального окружения, атомарно обновляемого в автоматическом режиме без участия администратора и унифицированного для массового развёртывания серверных систем, предназначенных исключительно для запуска контейнеров. Дистрибутив предоставляет только минимальный набор компонентов, достаточный для выполнения изолированных контейнеров - ядро Linux, системный менеджер systemd и набор служебных сервисов для подключения по SSH, управления конфигурацией и установки обновлений.
Системный раздел монтируется в режиме только для чтения и не изменяется в процессе работы. Конфигурация передаётся на этапе загрузки при помощи инструментария Ignition (альтернатива Cloud-Init). После того как система запущена, изменение конфигурации и начинки каталога /etc невозможно, допустимо лишь изменить профиль настроек и использовать его для замены окружения. В общем виде работа с системой напоминает работу с образами контейнеров, которые не обновляются по месту, а перестраиваются с нуля и запускаются заново.
Системный образ не делим и формируется с использованием технологии OSTree (отдельные пакеты установить в таком окружении нельзя, можно лишь пересобрать весь образ системы, расширив его новыми пакетами при помощи инструментария rpm-ostree). Система обновлений основана на использовании двух системных разделов, один из которых является активным, а второй используется для копирования обновления, после установки обновления разделы меняются ролями.
Из дистрибутива CoreOS Container Linux, который перешёл в руки Red Hat после покупки компании CoreOS, проект Fedora CoreOS заимствовал инструментарий конфигурирования на стадии начальной загрузки (Ignition), механизм атомарных обновлений и общую философию продукта. Из Atomic Host перенесены технология работы с пакетами, поддержка спецификаций OCI (Open Container Initiative) и дополнительные механизмы изоляции контейнеров на базе SELinux. Для оркестровки контейнеров поверх Fedora CoreOS в будущем планируется обеспечить интеграцию с Kubernetes (в том числе на базе OKD).
Начинка первого стабильного выпуска Fedora CoreOS сформирована на основе репозиториев Fedora 31 с применением пакета rpm-ostree. В состав входят ядро Linux 5.4, системный менеджер systemd 243, инструментарий Ignition 2.1. Из runtime для контейнеров обеспечена поддержка Moby 18.09 (Docker) и podman 1.7. По умолчанию для обеспечения совместимости включена поддержка cgroups v1, но опционально может быть активирован и cgroups v2. Реализована возможность установки на различных платформах, включая обычные серверы, QEMU, OpenStack, VMware, AWS, Alibaba, Azure и GCP. Предоставляемый iso-образ может работать в live-режиме с загрузкой в ОЗУ. Поддерживается загрузка по сети через PXE (netboot).
Предлагаются три независимых ветки Fedora CoreOS, для которых формируются обновления с устранением уязвимостей и серьёзных ошибок:
- testing со снапшотами на основе актуального релиза Fedora с обновлениями;
- stable - стабилизированная ветка, формируемая после двух недель тестирования ветки testing;
- next - снапшот находящегося в разработке будущего выпуска (пока только в планах).
Из планов на будущее, упоминается включение в Fedora CoreOS отправки телеметрии с использованием сервиса fedora-coreos-pinger, который периодически накапливает и отправляет на серверы проекта Fedora не приводящую к идентификации информацию о системе, такую как номер версии ОС, облачная платформа тип установки. Среди передаваемых данных отсутствуют сведения, которые могут привести к идентификации. При разборе статистики используются лишь агрегированные сведения, позволяющие в общем виде судить о характере использования Fedora CoreOS. При желании пользователь сможет отключить отправку телеметрии или расширить передаваемые по умолчанию сведения.