Выпуск систСмы управлСния ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ Incus 0.3

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ выпуск ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Incus, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ сообщСством Linux Containers развиваСтся Ρ„ΠΎΡ€ΠΊ систСмы управлСния ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ LXD, созданный старой ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΠ³Π΄Π°-Ρ‚ΠΎ создавшСй LXD. Код Incus написан Π½Π° языкС Go ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0.

Напомним, Ρ‡Ρ‚ΠΎ сообщСство Linux Containers ΠΊΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π»ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ LXD Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ компания Canonical Ρ€Π΅ΡˆΠΈΠ»Π° Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ LXD ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΊΠ°ΠΊ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. ЦСлью Ρ„ΠΎΡ€ΠΊΠ° называСтся прСдоставлСниС управляСмой нСзависимым сообщСством Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ LXD, ΠΏΠΎΠ΄ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Canonical. Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Incus Ρ‚Π°ΠΊΠΆΠ΅ планируСтся ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ошибки, Π΄ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ LXD, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π½Π΅Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π±Π΅Π· Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости.

Incus прСдоставляСт срСдства для Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ управлСния ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ машинами, Ρ€Π°Π·Π²Ρ‘Ρ€Π½ΡƒΡ‚Ρ‹ΠΌΠΈ ΠΊΠ°ΠΊ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ хостС, Ρ‚Π°ΠΊ ΠΈ Π² кластСрС ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сСрвСров. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π²ΠΈΠ΄Π΅ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ процСсса, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π΅Π³ΠΎ запросы ΠΏΠΎ сСти Ρ‡Π΅Ρ€Π΅Π· REST API ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ бэкСнды Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰ (Π΄Π΅Ρ€Π΅Π²ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ, ZFS, Btrfs, LVM), ΡΠ½Π°ΠΏΡˆΠΎΡ‚Ρ‹ со срСзом состояния, 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