Издаване на системата за управление на контейнери Incus 0.3

Представен е третият брой на проекта Incus, в който сообществото на Linux Containers развива форк на системата за управление на контейнери LXD, създаден от старата екип на разработчици, която някога е създала LXD. Кодът на Incus е написан на езика Go и се разпространява под лицензия Apache 2.0.

Напомняме, че общността Linux Containers е курирала разработката на LXD, преди компанията Canonical да реши да развива LXD независимо като корпоративен проект. Целта на fork-а е да предостави управляемо и независимо от общността алтернатива на проекта LXD, който е под контрола на компанията Canonical. В рамките на проекта Incus също така се планира да бъдат отстранени някои концептуални грешки, допуснати при разработката на LXD, които преди не можеха да бъдат коригирани без нарушаване на обратната съвместимост.

Incus предоставя средства за централизирано управление на контейнери и виртуални машини, разположени както на един хост, така и в клъстер от няколко. сървъри. Проектът е реализиран под формата на фонов процес, приемащ заявки през мрежата чрез REST API и поддържащ различни бекенди за съхранение (дърво от директории, ZFS, Btrfs, LVM), snapshot-и със срез на състоянието, live-миграция на работещи контейнери от една машина на друга и средства за съхранение на образи на контейнери. Като runtime за стартиране на контейнери се използва инструментарият LXC, който включва библиотеката liblxc, набор от утилити (lxc-create, lxc-start, lxc-stop, lxc-ls и т.н.), шаблони за изграждане на контейнери и набор от свързвания за различни програмни езици. Изолацията се осъществява с помощта на стандартните механизми на ядрото на Linux (пространства за имена, cgroups, Apparmor, SELinux, Seccomp).

Най-забележителните промени:

  • Добавена е поддръжка за управление на авторизацията на потребители на базата на модела Relationship-Based Access Control, реализиран чрез фонов процес OpenFGA, който отговаря за вземането на решения относно предоставянето на права на потребителите. В комбинация с доставчик на OpenID Connect, поддръжката на OpenFGA позволява формирането на отворен стек за идентификация и авторизация, позволяващ използването на Incus като пълна замяна на конфигурациите на LXD с Canonical RBAC. За настройка на достъпа до OpenFGA са предложени параметри openfga.api.token, openfga.api.url, openfga.store.id и openfga.store.model_id.
  • Подобрен е инструментът lxd-to-incus, който автоматизира миграцията от LXD към Incus. В новата версия е добавена поддръжка на дистрибуции с система за инициализация OpenRC, реализирана е възможност за прехвърляне на хранилища Ceph и мрежи OVN, осигурено е водене на лог на миграцията и създаване на резервни копия.
  • В виртуални машини Добавена е поддръжка за горещо свързване и горещо премахване (hot-plug/hot-remove) на файлови пътища или отделни дялове, пробразени от хост средата. По-рано подобен проброс с помощта на драйвера virtio-fs или ФС 9p изискваше спиране на виртуалната машина. За заобикаляне на това ограничение е използвана възможността на QEMU за горещо свързване на PCI-устройства и монтиране на пътя в гостуващата система чрез incus-agent.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster