إطلاق Kata Containers 3.0 مع العزلة القائمة على المحاكاة الافتراضية

بعد عامين من التطوير، تم نشر إصدار مشروع Kata Containers 3.0، وهو تطوير مكدس لتنظيم تنفيذ الحاويات باستخدام العزلة بناءً على آليات المحاكاة الافتراضية الكاملة. تم إنشاء المشروع بواسطة Intel وHyper من خلال الجمع بين تقنيات Clear Containers وrunV. كود المشروع مكتوب بلغة Go وRust، ويتم توزيعه بموجب ترخيص Apache 2.0. يشرف على تطوير المشروع فريق عمل تم إنشاؤه تحت رعاية مؤسسة OpenStack Foundation المستقلة، والتي تضم شركات مثل Canonical وChina Mobile وDell/EMC وEasyStack وGoogle وHuawei وNetApp وRed Hat وSUSE وZTE. .

يقع وقت التشغيل في قلب Kata، والذي يوفر القدرة على إنشاء أجهزة افتراضية مدمجة تعمل باستخدام برنامج Hypervisor كامل، بدلاً من استخدام الحاويات التقليدية التي تستخدم نواة Linux شائعة ومعزولة باستخدام مساحات الأسماء ومجموعات التحكم. يتيح لك استخدام الأجهزة الافتراضية تحقيق مستوى أعلى من الأمان الذي يحمي من الهجمات الناجمة عن استغلال الثغرات الأمنية في Linux kernel.

تركز Kata Containers على التكامل في البنى التحتية الحالية لعزل الحاويات مع القدرة على استخدام أجهزة افتراضية مماثلة لتعزيز حماية الحاويات التقليدية. يوفر المشروع آليات لضمان توافق الأجهزة الافتراضية خفيفة الوزن مع مختلف البنى التحتية لعزل الحاويات ومنصات تنسيق الحاويات ومواصفاتها مثل OCI (مبادرة الحاوية المفتوحة) وCRI (واجهة تشغيل الحاوية) وCNI (واجهة شبكات الحاويات). الأدوات متاحة للتكامل مع Docker وKubernetes وQEMU وOpenStack.

إطلاق Kata Containers 3.0 مع العزلة القائمة على المحاكاة الافتراضية

يتم تحقيق التكامل مع أنظمة إدارة الحاويات باستخدام طبقة تحاكي إدارة الحاويات، والتي تصل إلى وكيل الإدارة في الجهاز الظاهري من خلال واجهة gRPC ووكيل خاص. داخل البيئة الافتراضية، التي يتم تشغيلها بواسطة برنامج Hypervisor، يتم استخدام نواة Linux محسنة خصيصًا، والتي تحتوي فقط على الحد الأدنى من الإمكانات الضرورية.

باعتباره برنامج Hypervisor، فهو يدعم استخدام Dragonball Sandbox (إصدار KVM مُحسّن للحاويات) مع مجموعة أدوات QEMU، بالإضافة إلى Firecracker وCloud Hypervisor. تشتمل بيئة النظام على برنامج خفي للتهيئة ووكيل. يوفر الوكيل تنفيذ صور الحاوية المعرفة من قبل المستخدم بتنسيق OCI لـ Docker وCRI لـ Kubernetes. عند استخدامه مع Docker، يتم إنشاء جهاز افتراضي منفصل لكل حاوية، على سبيل المثال. يتم استخدام البيئة التي تعمل أعلى برنامج Hypervisor لإطلاق الحاويات المتداخلة.

إطلاق Kata Containers 3.0 مع العزلة القائمة على المحاكاة الافتراضية

لتقليل استهلاك الذاكرة، يتم استخدام آلية DAX (الوصول المباشر إلى نظام الملفات، وتجاوز ذاكرة التخزين المؤقت للصفحة دون استخدام مستوى جهاز الحظر)، ولإلغاء تكرار مناطق الذاكرة المتطابقة، يتم استخدام تقنية KSM (Kernel Samepage Merging)، والتي تتيح لك لتنظيم مشاركة موارد النظام المضيف والاتصال بأنظمة ضيف مختلفة ومشاركة قالب بيئة نظام مشترك.

новой версии:

  • تم اقتراح وقت تشغيل بديل (runtime-rs)، والذي يشكل ملء الحاويات، مكتوبًا بلغة Rust (تم كتابة وقت التشغيل المقدم مسبقًا بلغة Go). وقت التشغيل متوافق مع OCI وCRI-O وContainerd، مما يسمح باستخدامه مع Docker وKubernetes.
  • تم اقتراح برنامج مراقبة دراغون بول جديد يعتمد على KVM وrust-vmm.
  • تمت إضافة دعم لإعادة توجيه الوصول إلى وحدة معالجة الرسومات باستخدام VFIO.
  • تمت إضافة الدعم لـ cgroup v2.
  • تم تنفيذ دعم تغيير الإعدادات دون تغيير ملف التكوين الرئيسي عن طريق استبدال الكتل في ملفات منفصلة موجودة في الدليل "config.d/".
  • تشتمل مكونات Rust على مكتبة جديدة للعمل بشكل آمن مع مسارات الملفات.
  • تم استبدال مكون virtiofsd (المكتوب بلغة C) بـ virtiofsd-rs (مكتوب بلغة Rust).
  • تمت إضافة دعم لمكونات QEMU في وضع الحماية.
  • يستخدم QEMU واجهة برمجة تطبيقات io_uring للإدخال/الإخراج غير المتزامن.
  • تم تنفيذ دعم ملحقات Intel TDX (امتدادات المجال الموثوقة) لـ QEMU وCloud-hypervisor.
  • المكونات المحدثة: QEMU 6.2.0، Cloud-hypervisor 26.0، Firecracker 1.1.0، Linux kernel 5.19.2.

المصدر: opennet.ru

إضافة تعليق