На этой неделе состоялся анонс первой предварительной версии Fedora CoreOS — специальной редакции Linux-дистрибутива Fedora, предназначенной для запуска приложений в контейнерах. По факту новая система продолжила развитие двух других проектов: Fedora Atomic Host и CoreOS Container Linux.
Наработки компании CoreOS, появившейся в 2013 году и ставшей хорошо известной в среде DevOps-инженеров и других любителей Linux-контейнеров, перешли к Red Hat в результате поглощения, что случилось полтора года назад. В то же самое время у американского Linux-вендора уже не один год формировалось своё видение нового дивного контейнерного мира — и происходило это, в частности, в рамках Project Atomic (о результатах его деятельности мы писали, например, здесь).
Появление Fedora CoreOS подтвердило намерения Red Hat объединить лучшее из собственных и приобретённых наработок в виде одного дистрибутива, призванного стать стандартом для развёртывания и запуска приложений в контейнерах. Как сообщается в анонсе проекта, он «сочетает инструменты provisioning'а, модель автоматических обновлений и философию Container Linux [от CoreOS] и технологию пакетирования, поддержку [стандарта] OCI, а также безопасность от SELinux из Atomic Host».
Среди основных фич Fedora CoreOS на данный момент называются:
- следование принципам неизменной инфраструктуры (immutable infrastructure) в виде базового образа ОС (generic OS image) и последующего использования Ignition для provisioning'а: конфигурация системы описывается в YAML-документе FCC (Fedora CoreOS Config) и передаётся в FCCT (Fedora CoreOS Config Transpiler) для валидации и преобразования в конфиг для Ignition; после запуска машины изменение её конфигурации возможно только путём модификации FCC-файла и повторного provisioning'а;
- автоматические обновления: новые релизы ОС автоматически скачиваются и устанавливаются, выкатываясь постепенно во времени и не требуя вмешательства пользователей; сами релизы при этом распространяются в нескольких «потоках» (release streams): testing, stable, next, — каждый из которых получает обновления безопасности и исправление критических багов;
- встроенный сервис телеметрии fedora-coreos-pinger, периодически собирающий информацию о машине (версию ОС, облачную платформу, тип сущности) — без каких-либо уникальных идентификаторов — и передающий её на серверы проекта Fedora (авторы обещают инструкцию, как отключить этот сервис).
Проект всё ещё находится в стадии разработки, и в первой его версии есть ряд ограничений, таких как единственный поток с релизами (testing), поддержка только x86_64, отключённая функция телеметрии, неполная документация. Также авторы сообщают, что ведутся активные дискуссии по тесной интеграции с дистрибутивами Kubernetes, а в частности — OKD (используется в основе другого продукта Red Hat — OpenShift).
Fedora CoreOS предназначен для использования в production, но это не относится к текущей предварительной версии. Ожидается, что систему объявят стабильной через полгода. Её предшественник в лице Fedora Atomic Host будет поддерживаться до конца жизни Fedora 29 (т.е. по конец ноября), и всем его пользователям рекомендуется мигрировать на Fedora CoreOS.
Образы для загрузки доступны здесь, а быстрая инструкция по запуску — здесь.
P.S.
Читайте также в нашем блоге:
- «Представлен Talos — современный Linux-дистрибутив для Kubernetes»;
- «Red Hat заменяет Docker на Podman»;
- «Прошлое, настоящее и будущее Docker и других исполняемых сред контейнеров в Kubernetes»;
- «Linux-дистрибутив from scratch для сборки Docker-образов — наш опыт с dappdeps».
Автор: shurup