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

تم نشر إصدار مشروع Kata Containers 3.2، والذي يعمل على تطوير مكدس لتنظيم تنفيذ الحاويات باستخدام العزل بناءً على آليات المحاكاة الافتراضية الكاملة. تم إنشاء المشروع بواسطة 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.

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

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

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

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

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

  • بالإضافة إلى دعم بنية AMD64 (x86_64)، يتم توفير الإصدارات لبنية ARM64 (Aarch64) وs390 (IBM Z). دعم بنية ppc64le (IBM Power) قيد التطوير.
  • لتنظيم الوصول إلى صور الحاوية، يتم استخدام نظام الملفات Nydus 2.2.0، والذي يستخدم عنونة المحتوى للتعاون الفعال مع الصور القياسية. يدعم Nydus التحميل الفوري للصور (التنزيلات فقط عند الحاجة)، ويوفر إلغاء البيانات المكررة، ويمكنه استخدام واجهات خلفية مختلفة للتخزين الفعلي. يتم توفير التوافق مع POSIX (على غرار Composefs، يجمع تطبيق Nydus بين إمكانيات OverlayFS ووحدة EROFS أو FUSE).
  • تم دمج مدير الجهاز الافتراضي Dragonball في الهيكل الرئيسي لمشروع Kata Containers، والذي سيتم تطويره الآن في مستودع مشترك.
  • تمت إضافة وظيفة تصحيح الأخطاء إلى الأداة المساعدة kata-ctl للاتصال بجهاز افتراضي من البيئة المضيفة.
  • تم توسيع إمكانات إدارة وحدة معالجة الرسومات (GPU) وتمت إضافة دعم لإعادة توجيه وحدات معالجة الرسومات (GPU) إلى حاويات للحوسبة السرية (الحاوية السرية)، والتي توفر تشفير البيانات والذاكرة وحالة التنفيذ للحماية في حالة حدوث اختراق للبيئة المضيفة أو برنامج Hypervisor.
  • تمت إضافة نظام فرعي لإدارة الأجهزة المستخدمة في الحاويات أو بيئات وضع الحماية إلى Runtime-rs. يدعم العمل مع أجهزة vfio وblock والشبكة وأنواع أخرى من الأجهزة.
  • يتم توفير التوافق مع OCI Runtime 1.0.2 وKubernetes 1.23.1.
  • يوصى باستخدام الإصدار 6.1.38 مع التصحيحات كنواة Linux.
  • تم نقل التطوير من استخدام نظام التكامل المستمر Jenkins إلى GitHub Actions.

المصدر: opennet.ru

إضافة تعليق