Virtualizatsiyaga asoslangan izolyatsiya bilan Kata konteynerlarining 3.0 versiyasi

Ikki yillik rivojlanishdan so'ng, to'liq virtualizatsiya mexanizmlari asosida izolyatsiyadan foydalangan holda konteynerlarning bajarilishini tashkil qilish uchun stek ishlab chiqilgan Kata Containers 3.0 loyihasi nashr etildi. Loyiha Intel va Hyper tomonidan Clear Containers va runV texnologiyalarini birlashtirish orqali yaratilgan. Loyiha kodi Go va Rust-da yozilgan va Apache 2.0 litsenziyasi ostida tarqatiladi. Loyihaning rivojlanishi OpenStack Foundation mustaqil tashkiloti homiyligida tuzilgan ishchi guruh tomonidan nazorat qilinadi, uning tarkibiga Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE va ZTE kabi kompaniyalar kiradi. .

Kata markazida umumiy Linux yadrosidan foydalanadigan va nomlar bo'shliqlari va guruhlar yordamida izolyatsiya qilingan an'anaviy konteynerlardan foydalanish o'rniga to'liq gipervizor yordamida ishlaydigan ixcham virtual mashinalarni yaratish qobiliyatini ta'minlaydigan ish vaqti mavjud. Virtual mashinalardan foydalanish Linux yadrosidagi zaifliklardan foydalanish natijasida yuzaga keladigan hujumlardan himoya qiluvchi yuqori darajadagi xavfsizlikka erishish imkonini beradi.

Kata Konteynerlari an'anaviy konteynerlarning himoyasini kuchaytirish uchun shunga o'xshash virtual mashinalardan foydalanish qobiliyati bilan mavjud konteyner izolyatsiyasi infratuzilmalariga integratsiyaga qaratilgan. Loyiha engil virtual mashinalarning turli xil konteyner izolyatsiyasi infratuzilmalari, konteynerlarni orkestrlash platformalari va OCI (Ochiq konteyner tashabbusi), CRI (Container Runtime Interface) va CNI (Container Networking Interface) kabi spetsifikatsiyalar bilan muvofiqligini ta'minlash mexanizmlarini taqdim etadi. Asboblar Docker, Kubernetes, QEMU va OpenStack bilan integratsiya uchun mavjud.

Virtualizatsiyaga asoslangan izolyatsiya bilan Kata konteynerlarining 3.0 versiyasi

Konteynerlarni boshqarish tizimlari bilan integratsiyaga gRPC interfeysi va maxsus proksi-server orqali virtual mashinadagi boshqaruvchi agentga kiradigan konteyner boshqaruvini simulyatsiya qiluvchi qatlam yordamida erishiladi. Gipervisor tomonidan ishga tushirilgan virtual muhit ichida faqat minimal zarur imkoniyatlar to'plamini o'z ichiga olgan maxsus optimallashtirilgan Linux yadrosi ishlatiladi.

Gipervisor sifatida u Dragonball Sandbox-dan (konteynerlar uchun optimallashtirilgan KVM nashri), shuningdek, Firecracker va Cloud Hypervisor-dan QEMU asboblar to'plami bilan foydalanishni qo'llab-quvvatlaydi. Tizim muhiti ishga tushirish demoni va agentni o'z ichiga oladi. Agent Docker uchun OCI va Kubernetes uchun CRI formatida foydalanuvchi tomonidan belgilangan konteyner tasvirlarini bajarishni ta'minlaydi. Docker bilan birgalikda foydalanilganda, har bir konteyner uchun alohida virtual mashina yaratiladi, ya'ni. Gipervizorning tepasida ishlaydigan muhit konteynerlarni ichki ishga tushirish uchun ishlatiladi.

Virtualizatsiyaga asoslangan izolyatsiya bilan Kata konteynerlarining 3.0 versiyasi

Xotira sarfini kamaytirish uchun DAX mexanizmi (fayl tizimiga to'g'ridan-to'g'ri kirish, bloklangan qurilma darajasidan foydalanmasdan sahifa keshini chetlab o'tish) va bir xil xotira maydonlarini takrorlash uchun KSM (Kernel Samepage Merging) texnologiyasi qo'llaniladi, bu sizga yordam beradi. xost tizimi resurslarini almashishni tashkil qilish va turli mehmon tizimlariga ulanish uchun umumiy tizim muhiti shablonini almashish.

Yangi versiyada:

  • Rust tilida yozilgan (ilgari taqdim etilgan ish vaqti Go tilida yozilgan) konteynerlarni to'ldirishni tashkil etuvchi muqobil ish vaqti (runtime-rs) taklif etiladi. Ish vaqti OCI, CRI-O va Containerd bilan mos keladi, bu uni Docker va Kubernetes bilan ishlatishga imkon beradi.
  • KVM va rust-vmm asosidagi yangi dragonball gipervisor taklif qilindi.
  • VFIO yordamida GPUga ruxsatni yo'naltirish uchun qo'shilgan yordam.
  • cgroup v2 uchun qo'shimcha yordam.
  • Asosiy konfiguratsiya faylini o'zgartirmasdan sozlamalarni o'zgartirishni qo'llab-quvvatlash "config.d/" katalogida joylashgan alohida fayllardagi bloklarni almashtirish orqali amalga oshirildi.
  • Rust komponentlari fayl yo'llari bilan xavfsiz ishlash uchun yangi kutubxonani o'z ichiga oladi.
  • Virtiofsd komponenti (C tilida yozilgan) virtiofsd-rs (Rust tilida yozilgan) bilan almashtirildi.
  • Sandboxing QEMU komponentlarini qo'shimcha qo'llab-quvvatlash.
  • QEMU asinxron kiritish-chiqarish uchun io_uring API-dan foydalanadi.
  • QEMU va Cloud-hypervisor uchun Intel TDX (Ishonchli domen kengaytmalari) kengaytmalarini qo'llab-quvvatlash amalga oshirildi.
  • Yangilangan komponentlar: QEMU 6.2.0, Cloud-hypervisor 26.0, Firecracker 1.1.0, Linux yadrosi 5.19.2.

Manba: opennet.ru

a Izoh qo'shish