انتشار Kata Containers 3.0 با ایزوله مبتنی بر مجازی سازی

پس از دو سال توسعه، انتشار پروژه Kata Containers 3.0 منتشر شد که یک پشته برای سازماندهی اجرای کانتینرها با استفاده از ایزوله بر اساس مکانیزم های مجازی سازی تمام عیار توسعه می دهد. این پروژه توسط اینتل و هایپر با ترکیب فناوری‌های Clear Containers و runV ایجاد شده است. کد پروژه در Go and Rust نوشته شده است و تحت مجوز Apache 2.0 توزیع شده است. توسعه این پروژه توسط یک کارگروه ایجاد شده تحت نظارت سازمان مستقل OpenStack Foundation که شامل شرکت هایی مانند Canonical، China Mobile، Dell/EMC، EasyStack، Google، Huawei، NetApp، Red Hat، SUSE و ZTE است، نظارت می شود. .

هسته کاتا زمان اجرا است که به جای استفاده از کانتینرهای سنتی که از هسته لینوکس مشترک استفاده می کنند و با استفاده از فضاهای نام و گروه های c ایزوله می شوند، توانایی ایجاد ماشین های مجازی فشرده ای را فراهم می کند که با استفاده از یک هایپروایزر کامل اجرا می شوند. استفاده از ماشین های مجازی به شما اجازه می دهد تا به سطح بالاتری از امنیت دست یابید که در برابر حملات ناشی از سوء استفاده از آسیب پذیری ها در هسته لینوکس محافظت می کند.

کانتینرهای کاتا بر ادغام در زیرساخت‌های جداسازی کانتینر موجود با قابلیت استفاده از ماشین‌های مجازی مشابه برای افزایش حفاظت از کانتینرهای سنتی متمرکز است. این پروژه مکانیسم‌هایی را برای اطمینان از سازگاری ماشین‌های مجازی سبک با زیرساخت‌های مختلف جداسازی کانتینر، پلت‌فرم‌های هماهنگ‌سازی کانتینر و مشخصاتی مانند OCI (ابتکار کانتینر باز)، CRI (واسط زمان اجرای کانتینر) و CNI (رابط شبکه‌ای کانتینر) ارائه می‌کند. ابزارهایی برای ادغام با Docker، Kubernetes، QEMU و OpenStack در دسترس هستند.

انتشار Kata Containers 3.0 با ایزوله مبتنی بر مجازی سازی

ادغام با سیستم های مدیریت کانتینر با استفاده از یک لایه که مدیریت کانتینر را شبیه سازی می کند، به دست می آید که از طریق رابط gRPC و یک پروکسی خاص به عامل مدیریت در ماشین مجازی دسترسی پیدا می کند. در داخل محیط مجازی، که توسط هایپروایزر راه اندازی می شود، از یک هسته لینوکس بهینه سازی شده استفاده می شود که تنها شامل حداقل مجموعه ای از قابلیت های لازم است.

به عنوان یک Hypervisor، از استفاده از Dragonball Sandbox (نسخه ای از KVM بهینه شده برای کانتینرها) با جعبه ابزار QEMU و همچنین Firecracker و Cloud Hypervisor پشتیبانی می کند. محیط سیستم شامل یک شبح اولیه و یک عامل است. عامل اجرای تصاویر محفظه تعریف شده توسط کاربر را در قالب OCI برای Docker و CRI برای Kubernetes ارائه می دهد. هنگامی که در ارتباط با Docker استفاده می شود، یک ماشین مجازی جداگانه برای هر کانتینر ایجاد می شود، یعنی. محیطی که در بالای هایپروایزر اجرا می شود برای پرتاب تودرتوی کانتینرها استفاده می شود.

انتشار Kata Containers 3.0 با ایزوله مبتنی بر مجازی سازی

برای کاهش مصرف حافظه، از مکانیزم DAX استفاده می شود (دسترسی مستقیم به سیستم فایل، دور زدن حافظه پنهان صفحه بدون استفاده از سطح دستگاه بلوک)، و برای حذف نواحی حافظه یکسان، از فناوری KSM (Kernel Samepage Merging) استفاده می شود که به شما امکان می دهد. برای سازماندهی اشتراک منابع سیستم میزبان و اتصال به سیستم های مهمان مختلف، یک الگوی محیط سیستم مشترک را به اشتراک می گذارند.

در نسخه های جدید:

  • یک زمان اجرا جایگزین (runtime-rs) پیشنهاد شده است که پر کردن ظروف را تشکیل می دهد که به زبان Rust نوشته شده است (زمان اجرای قبلی ارائه شده به زبان Go نوشته شده است). Runtime با OCI، CRI-O و Containerd سازگار است و به آن اجازه می دهد با Docker و Kubernetes استفاده شود.
  • یک Hypervisor جدید دراگونبال مبتنی بر KVM و rust-vmm پیشنهاد شده است.
  • پشتیبانی برای انتقال دسترسی به GPU با استفاده از VFIO اضافه شده است.
  • پشتیبانی از cgroup v2 اضافه شد.
  • پشتیبانی از تغییر تنظیمات بدون تغییر فایل پیکربندی اصلی با جایگزینی بلوک ها در فایل های جداگانه واقع در فهرست "config.d/" اجرا شده است.
  • اجزای Rust شامل یک کتابخانه جدید برای کار ایمن با مسیرهای فایل هستند.
  • جزء virtiofsd (نوشته شده در C) با virtiofsd-rs (نوشته شده در Rust) جایگزین شده است.
  • پشتیبانی از sandboxing اجزای QEMU اضافه شده است.
  • QEMU از io_uring API برای I/O ناهمزمان استفاده می کند.
  • پشتیبانی از پسوندهای Intel TDX (Trusted Domain Extensions) برای QEMU و Cloud-hypervisor اجرا شده است.
  • اجزای به روز شده: QEMU 6.2.0، Cloud-hypervisor 26.0، Firecracker 1.1.0، کرنل لینوکس 5.19.2.

منبع: opennet.ru

اضافه کردن نظر