LXC va LXD 4.0 konteynerlarni boshqarish vositalarini chiqarish

Kanonik e'lon qilindi izolyatsiya qilingan idishlar ishini tashkil qilish uchun asboblarni chiqarish LXC 4.0, konteyner menejeri LXD 4.0 va virtual FS LXCFS 4.0 /proc, /sys konteynerlarida simulyatsiya va cgroup nom maydonlarini qo'llab-quvvatlamasdan tarqatish uchun virtuallashtirilgan cgroupfs taqdimoti uchun. Branch 4.0 uzoq muddatli qo'llab-quvvatlash versiyasi sifatida tasniflanadi, yangilanishlar 5 yil davomida ishlab chiqariladi

LXC - bu tizim konteynerlari va OCI konteynerlarini ishga tushirish uchun ish vaqti. LXC liblxc kutubxonasini, yordamchi dasturlar to‘plamini (lxc-create, lxc-start, lxc-stop, lxc-ls va boshqalar), konteynerlarni qurish uchun shablonlarni va turli dasturlash tillari uchun bog‘lashlar to‘plamini o‘z ichiga oladi. Izolyatsiya standart Linux yadro mexanizmlari yordamida amalga oshiriladi. Jarayonlarni, ipc tarmoq stekini, uts, foydalanuvchi identifikatorlari va o'rnatish nuqtalarini ajratish uchun nomlar bo'shliqlari mexanizmi ishlatiladi. resurslarni cheklash uchun guruhlardan foydalaniladi. Imtiyozlarni pasaytirish va kirishni cheklash uchun Apparmor va SELinux profillari, Seccomp siyosatlari, Chroots (pivot_root) va imkoniyatlar kabi yadro xususiyatlaridan foydalaniladi. LXC kodi tomonidan yozilgan C tilida va GPLv2 litsenziyasi ostida tarqatiladi.

LXD - bu LXC, CRIU va QEMU qo'shimchasi bo'lib, u bir yoki bir nechta serverlardagi konteynerlar va virtual mashinalarni markaziy boshqarish uchun ishlatiladi. Agar LXC alohida konteynerlar darajasida manipulyatsiya qilish uchun past darajadagi asboblar to'plami bo'lsa, LXD REST API orqali tarmoq orqali so'rovlarni qabul qiladigan va bir nechta serverlar klasterida o'rnatilgan kengaytiriladigan konfiguratsiyalarni yaratishga imkon beruvchi fon jarayoni sifatida amalga oshiriladi.
Har xil saqlash tizimlari qo'llab-quvvatlanadi (katalog daraxti, ZFS, Btrfs, LVM), holat bo'limi bilan suratlar, ishlaydigan konteynerlarning bir mashinadan ikkinchisiga jonli ko'chishi va tasvirni saqlashni tashkil qilish vositalari. Kod LXD tomonidan yozilgan Go'da va Apache 2.0 litsenziyasi ostida tarqatiladi.

Kalit yaxshilanishlar LXC 4.0 da:

  • Haydovchi cgroup bilan ishlash uchun butunlay qayta yozilgan. Birlashtirilgan guruhlar ierarxiyasi uchun qo'shimcha yordam (cgroup2). Muzlatgich boshqaruvchisi funksiyasi qo‘shildi, uning yordamida siz guruhdagi ishni to‘xtatib, boshqa vazifalarni bajarish uchun ba’zi resurslarni (CPU, kiritish/chiqarish va hatto xotira) vaqtincha bo‘shatib qo‘yishingiz mumkin;
  • Tizim qo'ng'iroqlarini ushlash uchun amalga oshirilgan infratuzilma;
  • PID-ni qayta ishlatish holatini boshqarish uchun mo'ljallangan "pidfd" yadro quyi tizimi uchun qo'shimcha qo'llab-quvvatlash (pidfd ma'lum bir jarayon bilan bog'liq va o'zgarmaydi, PID esa PID bilan bog'liq joriy jarayon tugaganidan keyin boshqa jarayon bilan bog'lanishi mumkin) ;
  • Tarmoq qurilmalarini yaratish va yo'q qilish, shuningdek, ularning tarmoq quyi tizimi nom maydonlari o'rtasida harakatlanishi yaxshilandi;
  • Simsiz tarmoq qurilmalarini (nl80211) konteynerlarga ko'chirish imkoniyati amalga oshirildi.

Kalit yaxshilanishlar LXD 4.0 da:

  • Faqat konteynerlarni emas, balki virtual mashinalarni ham ishga tushirish uchun qo'shimcha yordam qo'shildi;
  • LXD serverlarini segmentlash uchun konteynerlar va virtual mashinalar guruhlarini boshqarishni soddalashtiradigan loyiha konsepsiyasi taklif qilingan. Har bir loyiha o'z konteynerlari, virtual mashinalari, rasmlari, profillari va saqlash bo'limlarini o'z ichiga olishi mumkin. Loyihalar bilan bog'liq holda siz o'zingizning cheklovlaringizni o'rnatishingiz va sozlamalarni o'zgartirishingiz mumkin;
  • Konteynerlar uchun tizim qo'ng'iroqlarini ushlab qolish uchun qo'shimcha yordam;
  • Atrof-muhitning zaxira nusxalarini yaratish va ulardan tiklash amalga oshirildi;
  • Atrof-muhit va saqlash bo'limlarining oniy suratlarini avtomatik yaratish oniy tasvirning ishlash muddatini belgilash imkoniyati bilan ta'minlangan;
  • Tarmoq holatini kuzatish uchun API qo'shildi (lxc tarmoq haqida ma'lumot);
  • Qo'shilgan qo'llab-quvvatlash shiftfs, o'rnatish nuqtalarini foydalanuvchi nomlari bo'shliqlariga solishtirish uchun virtual FS;
  • “ipvlan” va “routed” tarmoq adapterlarining yangi turlari taklif qilindi;
  • CephFS-ga asoslangan xotiradan foydalanish uchun qo'shilgan backend;
  • Klasterlar uchun tasvirni takrorlash va ko'p arxitektura konfiguratsiyasini qo'llab-quvvatlash amalga oshirildi;
  • Qo'shilgan rolga asoslangan kirishni boshqarish (RBAC);
  • CGroup2 uchun qo'shimcha yordam;
  • MAC manzilini sozlash va NAT uchun manba manzilini aniqlash imkoniyati qo'shildi;
  • DHCP ulanishlarini boshqarish uchun API qo'shildi (lizing);
  • Nftables uchun qo'shimcha qo'llab-quvvatlash.

Manba: opennet.ru

a Izoh qo'shish