Predstavené je druhé vydanie projektu Incus, v rámci ktorého komunita Linux Containers vyvíja fork systému na správu kontajnerov LXD, vytvorený starým tímom vývojárov, ktorý kedysi vytvoril LXD. Kód Incus je napísaný v jazyku Go a je distribuovaný pod licenciou Apache 2.0.
Pripomíname, že komunita Linux Containers dohliadala na vývoj LXD predtým, ako sa spoločnosť Canonical rozhodla vyvíjať LXD samostatne ako firemný projekt. Cieľom forku je poskytnúť spravovanú nezávislú alternatívu k projektu LXD, ktorý je pod kontrolou spoločnosti Canonical. V rámci projektu Incus sa tiež plánuje odstrániť niektoré koncepčné chyby, ku ktorým došlo pri vývoji LXD, ktoré predtým nebolo možné opraviť bez narušenia spätnej kompatibility.
Incus poskytuje prostriedky na centralizované riadenie kontajnerov a virtuálnych strojov, ktoré sú nasadené ako na jednom hostiteľovi, tak aj v klastri z niekoľkých. serverov. Projekt je realizovaný ako pozadový proces, ktorý prijíma požiadavky cez sieť cez REST API a podporuje rôzne backendy úložísk (strom adresárov, ZFS, Btrfs, LVM), snímky s vyrezaným stavom, live migráciu pracujúcich kontajnerov z jedného stroja na druhý a prostriedky na ukladanie obrazov kontajnerov. Ako runtime na spúšťanie kontajnerov je použitý nástroj LXC, ktorý obsahuje knižnicu liblxc, súbor utilít (lxc-create, lxc-start, lxc-stop, lxc-ls atď.), šablóny na vytváranie kontajnerov a súbor pripájacích bodov pre rôzne programovacie jazyky. Izolácia je zabezpečená pomocou štandardných mechanizmov jadra Linux (menové priestory, cgroups, Apparmor, SELinux, Seccomp).
Najvýraznejšie zmeny:
- Do nástroja lxd-to-incus, ktorý automatizuje prechod z LXD na Incus, bola pridaná podpora vydania LXD 5.19 a umožnená migrácia nielen jednotlivých hostiteľov, ale aj klastrov LXD.
- Do virtuálnych strojov bola pridaná podpora vytvárania úložísk založených na technológii NVME. Na určenie typu disku bol pridaný nový konfiguračný parameter „io.bus“, ktorý je predvolene nastavený na hodnotu „virtio-scsi“. Pri zmene hodnoty na „nvme“ bude úložisko vo virtuálnom stroji viditeľné ako NVME SSD.
- Pre obrazy kontajnerov bol implementovaný parameter „requirements.privileged“, ktorý môže byť nastavený na hodnotu „false“ pre zákaz používania obrazu v privilegovaných kontajneroch. Nastavenie sa môže aplikovať napríklad na obrazy s distribúciou NixOS, ktoré aktuálne nie sú kompatibilné s privilegovanými kontajnermi.
- Z LXD bola prenesená implementácia režimu vytvárania kópií oddielov na strane servera, čo výrazne zrýchľuje operácie kopírovania oddielov, vďaka vylúčeniu presmerovania dát cez klienta.
- Sú poskytnuté staticky skompilované zostavy pre systémy ARM64.
Zdroj: opennet.ru
