Я уже упоминал, что тестирую различные т. н. «кластерные» операционные системы. После фиаско с 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/
Комментарии