Перейти к содержимому

Fedora atomic что это

  • автор:

ОС для контейнеров Fedora CoreOS продолжит развитие Fedora Atomic и Container Linux

На этой неделе состоялся анонс первой предварительной версии 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 (авторы обещают инструкцию, как отключить этот сервис).

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».

Что будет в неизменяемой ОС Fedora Silverblue

Эта операционная система примечательна тем, что позволяет проводить атомарные обновления и запускать приложения в изолированном режиме.

Минутная справка

Проект начали разрабатывать под названием Fedora Atomic Workstation, но на ходу решили переименовать. Для этого рассмотрели более ста пятидесяти альтернатив. Остановились на Silverblue только потому, что на тот момент была возможность зарегистрировать с этим наименованием аккаунты в соцсетях и купить домен. Есть мнение, что Silverblue — это развитие Stateless Linux. Этим направлением начали заниматься еще более десяти лет назад, чтобы оптимизировать администрирование системы. Сегодня уже говорят, что Silverblue может не только выступить в качестве частичной, но и стать полноценной заменой Fedora Workstation.

Преимущества «неизменяемости»

Теоретически «неизменяемая ОС» хранит изменяемые данные в /var, а с корневой и пользовательской директорией работает уже в режиме «только для чтения». По такому принципу спроектированы ChromeOS и macOS Catalina, и этот подход должен положительным образом влиять на уровень защиты системных файлов, например от случайного повреждения пользователем при настройке системы. Так, для установки обновлений достаточно выбрать нужный образ и перезапустить систему. Аналогичный процесс предусмотрен и для отката к другим версиям и переключения между теми ветками, которые находятся в процессе разработки. Все это поддерживается OSTree — системой для установки базового окружения и точки восстановления (команда для замены старого образа — rpm-ostree install). Для обновления приложений есть Flatpack. Он содержит только зависимости, а сам процесс идет в контейнерах. Так удается добиться уменьшения размера пакетов. Работа с приложениями, которые не используют Flatpack, идет с помощью Toolbox. / фото Jonathan Larson Unsplash

Есть ли что-то похожее

Из аналогов Silverblue можно выделить MicroOS от openSUSE. Тут система построена на контейнерах Docker и является частью платформы openSUSE Kubic. Для обновлений также задействованы RPM-пакеты, а сама система изначально разработана для разворачивания в масштабных средах вроде дата-центров. Еще один пример — NixOS, построенный на базе менеджера пакетов Nix. По своей сути ОС является дистрибутивом Linux, но с возможностью декларативного описания конфигураций в специальном файле. Благодаря этому исключается необходимость донастройки и ОС можно сразу привести к требуемому состоянию. Эту ОС используют в своей работе ИТ-компании, университеты и облачные провайдеры.

Что в итоге

  • Процессоры для серверов: обсуждаем новинки
  • Развитие дата-центров: технологические тренды
  • Как повысить энергоэффективность дата-центра

Deploy and Manage Your Containers in the Next-Generation Container OS

Use immutable infrastructure to deploy and scale your containerized applications. Project Atomic mainly comprises Atomic Host, Team Silverblue, and various container tooling. cloud native platforms.

Atomic Host

Atomic Host provides immutable infrastructure for deploying to hundreds or thousands of servers in your private or public cloud. Available in Fedora Atomic Host, CentOS Atomic Host, and Red Hat Atomic Host editions depending on your platform and support needs.

To balance the need between long-term stability and new features, we are providing different releases of Atomic Host for you to choose from.

Team Silverblue

Team Silverblue provides immutable infrastructure for your desktop experience. Team Silverblue

Container Tools

Tools from our team help you create, deploy, manage, and secure containers.

Container Registries

You can get your containerized applications from the CentOS Container Pipeline and the Fedora Layered Image Build Service

Trusted container content from the projects you already trust.

Community News

Fedora Atomic Host Nearing End Of Life

by Dusty Mabe – Thursday 21 November 2019

TL;DR Fedora 29 will be End Of Life soon. With it Fedora Atomic Host will have its last incremental release (based on the Fedora 29 stream). Please move to the Fedora CoreOS preview if you can.

Fedora 28->29 Atomic Host Upgrade Guide

by Dusty Mabe – Wednesday 31 October 2018

Introduction

This week we put out the first release of Fedora 29 Atomic Host. This will be the last major release of Fedora Atomic Host as we prepare for Fedora CoreOS which will be released in Fedora 30.

In this post we’ll quickly list some known issues and then talk about updating an existing Fedora 28 Atomic Host system to Fedora 29. We’ll cover preparing the system for upgrade and performing the upgrade.

Buildah version 1.2 Release Announcement

by Tom Sweeney – Saturday 14 July 2018

Buildah version 1.2 Release Announcement

We’re pleased to announce the release of Buildah version 1.2 which is now available from GitHub for any Linux distro. We are shipping this release on Fedora, RHEL 7, CentOS and Ubuntu in the near future.

The Buildah project has continued to grow over the past several weeks, welcoming several new contributors to the mix. The highlights of this release are the added ability to control image layers when building an image, CVE’s Fixes, the initial support for user namespace handling and several other enhancements and bug fixes.

Announcing the Fedora CoreOS community!

by Dusty Mabe – Wednesday 20 June 2018

Welcome to Fedora CoreOS

Earlier this year Red Hat acquired CoreOS, Inc.. In the past few months we have been working hard to evaluate the different technologies in the CoreOS Container Linux and Project Atomic spaces. Since Container Linux and Atomic Host overlap in functionality quite a bit we have decided to merge future development of the two projects so that we can combine our efforts and bring two great communities of people together to solve future challenges in the transactional update and container operating system landscape.

Buildah version 1.1 Release Announcement

by Tom Sweeney – Tuesday 12 June 2018

Buildah version 1.1 Release Announcement

We’re pleased to announce the release of Buildah version 1.1 which is now available from GitHub for any Linux distro. We are shipping this release on Fedora, RHEL 7, CentOS and Ubuntu in the near future.

The Buildah project has continued to grow over the past several weeks, welcoming several new contributors to the mix, launching new functionality and creating a number of improvements and bug fixes.

WebHive

Я уже упоминал, что тестирую различные т. н. «кластерные» операционные системы. После фиаско с CoreOS ближайший претендент это Project Atomic — следующая в списке операционных систем, которые предлагает мне Digital Ocean.

Что это такое?

Это попытка компании RedHat сделать что-то похожее на CoreOS — минималистичный дистрибутив, предназначенный для запска контейнеров.

Что у нас хорошего?

Размер

Этот дистрибутив на удивление имеет действительно небольшой размер. В частности образа для Vagrant имеют размер около 200Мб.
Хотя т. н. облачные образа значительно толще — порядка 600Мб.

Софт

Project Atomic имеет довольно необычную систему пакетов. Все пакеты являются фактически docker образами. Которые как известно используют git в качестве бэкенда для хранения. Как результат обновление пакетов фактически происходит через git коммиты со всем вытекающими. Эти контейнеры хранятся в изолированном закрытом хранилище, а не в обычном докере.

Атомарные обновления

Собственно из предыдущего пункта вытекает использование для обновления системного окружения технологии OSTree. Идея в том, что сама операционная система (системные файлы) обновляется из git хранилища. В связи с этим обновление происходит разом для всей системы — своего рода слепок. Ну и как следствие нет обновлений отдельных каких-то компонентов системы.

Ну и т. к. софт у нас распространяется тоже контейнерами, то вся система (и системное окружение и прикладной софт) обновляется за раз и атомарно — как бы одной транзакцией.

В теории выглядит очень вкусно, но как оно на практике сказать не могу. Надо будет тестировать.

Cocpit

Возможно не стоило сюда это пихать, ну да ладно. В недрах Project Atomic вызрел ещё один проект — Cocpit — это веб интерфейс для управления узлами кластера на Fedora Atomic.

Безопасность

В Project Atimic у нас по умолчанию включен SELinux. Как по мне так это та ещё головная боль, но с другой стороны я уже пытался разбираться с SELinux — там всё не так сложно как кажется. Но по любому это лишняя головная боль.

Поддержка виртуальных машин

В особенности порадовала родная поддержка Vagrant — есть готовый box.

Минусы

Мало информации

Особенно её мало в рунете, хотя проект вполне достойный хотя бы для того, чтобы попробовать. В блоге проекта информация устаревшая, как и основные руководства. Видно, что проект не то, чтобы заброшен, но интереса к нему мало-ка видимо и ресурсов на его разработку.

Глючность

В общем я таки попробовал эту поделку и слегка разочаровался. Пробовал 28 версию fedora atomic. Сначала хотел схалявить и дал виртуалке 1 Гиг оперативы. В итоге пытаясь выполнить команды по установке софта согласно этому мануалу https://www.projectatomic.io/blog/2017/11/migrating-kubernetes-on-fedora-atomic-host-27/ постоянно получал краши. Сначала происходило выкачивание образов, а потом хлоп и куча дампов и какая-то ругань и GO кода.

Пробовал увеличивать ОЗУ до 4 Гигабайт — никакой разницы. Пробовал так-же добавлять своп и тоже ничего не помогло. В итоге откатился до 27 версии и только тогда всё заработало боле менее как надо.

В общем продолжать эксперименты желание отпало — fedora во всей красе. Постоянно что-то глючит и отваливается — фирменный стиль этого дистрибутива. Можно было бы попробовать CentoOS Atomic, но к сожалению мой любимый хостер Digital Ocean поддерживает Project Atomic только в версии для Fedora.

Требовательность к ресурсам

Рекомендованный объём ОЗУ 4 Гб. По мне мягко говоря многовато. В особенности для простой запускалки контейнеров. Я понимаю, что запуск контенеров требует ресурсов, но я ещё блин не начал их запускать, а оно уже тормозит. Пробовал включать своп и он сходу начал наполняться, что как бы намекает нам, что ОЗУ этот дистрибутив жрёт как не в себя.

Итоги

Однозначно не мой выбор. Несмотря на все вкусности самый главный косяк — крайняя нестабильность. Ну вот заработало что-то боле менее как в руководстве написано в 27 версии, а в 28 уже не работает, причём валится с крашем. И чего дальше ждать? Так и сидеть на старой версии. Да и не смогу я у Digital Ocean 27-у поставить. В общем куда не кинь — сплошной клин.

Чертовски обидно — выглядел проект очень привлекательно.

Источники

  • https://www.opennet.ru/opennews/art.shtml? num=39583
  • https://www.projectatomic.io
  • https://www.projectatomic.io/blog/2017/11/migrating-kubernetes-on-fedora-atomic-host-27/
  • http://www.projectatomic.io/docs/gettingstarted/
  • https://gist.github.com/jasonbrooks/f1aa092e63edce5272451c5845f72750
  • https://www.projectatomic.io/blog/2017/09/running-kubernetes-on-fedora-atomic-26/
  • http://www.projectatomic.io/blog/2016/09/intro-to-system-containers/

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *