Представено е второто издание на проекта Incus, в рамките на който общността Linux Containers е разклонение (fork) на системата за управление на контейнери LXD, създадено от оригиналния екип от разработчици, създали LXD. Containers е написана на Go и е лицензирана под лиценза Apache 2.0.
Нека ви напомним, че общността Linux Контейнерите ръководеха разработката на LXD, преди Canonical да реши да разработва LXD отделно като корпоративен проект. Целта на разклонението е да осигури независима, управлявана от общността алтернатива на контролирания от Canonical проект LXD. Проектът Incus също така планира да адресира някои концептуални грешки, допуснати по време на разработката на LXD, които преди това бяха невъзможни за отстраняване без нарушаване на обратната съвместимост.
Incus предоставя инструменти за централизирано управление на контейнери и виртуални машини, разположени както на един хост, така и в клъстер от няколко сървъриПроектът е реализиран като фонов процес, който получава мрежови заявки чрез REST API и поддържа различни backend-ове за съхранение (дърво на директории, ZFS, Btrfs, LVM), моментни снимки със състояния, миграция на работещи контейнери от една машина на друга и инструменти за съхранение на изображения на контейнери. LXC toolkit се използва като среда за стартиране на контейнери, която включва библиотеката liblxc, набор от помощни програми (lxc-create, lxc-start, lxc-stop, lxc-ls и др.), шаблони за изграждане на контейнери и набор от обвързвания за различни езици за програмиране. Изолацията се постига с помощта на стандартни механизми на ядрото. Linux (именни пространства, cgroups, Apparmor, SELinux, Секкомп).
Най-забележителните промени:
- Помощната програма lxd-to-incus, която автоматизира прехода от LXD към Incus, добави поддръжка за изданието LXD 5.19 и предоставя възможност за мигриране не само на отделни хостове, но и на LXD клъстери.
- Към виртуалните машини е добавена поддръжка за създаване на хранилище, базирано на технологията NVME. Нов конфигурационен параметър „io.bus“ е добавен за указване на типа диск, който е зададен на „virtio-scsi“ по подразбиране. Когато промените стойността на „nvme“, устройството във виртуалната машина ще се вижда като NVME SSD.
- За изображения на контейнери е внедрен параметърът „requirements.privileged“, който може да бъде зададен на „false“, за да забрани използването на изображението в привилегировани контейнери. Настройката, например, може да се използва за изображения за разпространение на NixOS, които в момента са несъвместими с привилегировани контейнери.
- Реализацията на режима за създаване на копия на дялове отстрани е прехвърлена от LXD. сървър, което значително ускорява операциите по копиране на дялове, като елиминира необходимостта от пренасочване на данни през клиента.
- Осигурява статично свързани модули за ARM64 системи.
Източник: opennet.ru
