Runj - مجموعة أدوات متوافقة مع OCI لإدارة الحاويات استنادًا إلى سجن FreeBSD

يعمل صموئيل كارب، وهو مهندس في أمازون يقوم بتطوير توزيع Bottlerocket Linux وتقنيات عزل الحاويات لـ AWS، على تطوير نظام تشغيل جديد يعتمد على بيئات سجن FreeBSD لتوفير إطلاق معزول للحاويات المصممة وفقًا لمبادرة مواصفات OCI (الحاوية المفتوحة). . تم وضع المشروع على أنه تجريبي، وتم تطويره في وقت فراغ من العمل الرئيسي ولا يزال في مرحلة النموذج الأولي. الكود مكتوب بلغة Go ويتم توزيعه بموجب ترخيص BSD.

بعد رفع التطوير إلى المستوى المناسب، من المحتمل أن ينمو المشروع إلى مستوى يسمح لك باستخدام runj لاستبدال وقت التشغيل العادي في أنظمة Docker وKubernetes، باستخدام FreeBSD بدلاً من Linux لتشغيل الحاويات. من وقت تشغيل OCI، يتم حاليًا تنفيذ الأوامر لإنشاء وحذف وبدء وفرض إنهاء وتقييم حالة الحاويات. يتم إنشاء تعبئة الحاوية استنادًا إلى بيئة FreeBSD القياسية أو المعزولة.

نظرًا لأن مواصفات OCI لا تدعم FreeBSD بعد، فقد قام المشروع بتطوير عدد من المعلمات الإضافية المتعلقة بتكوين السجن وFreeBSD، والتي من المخطط تقديمها لتضمينها في مواصفات OCI الرئيسية. لإدارة السجن، يتم استخدام الأدوات المساعدة jail وjls وjexec وkill وps من FreeBSD، دون الوصول مباشرة إلى مكالمات النظام. تتضمن الخطط المستقبلية إضافة دعم لإدارة محدودية الموارد من خلال واجهة kernel RCTL.

بالإضافة إلى وقت التشغيل الخاص بها، يتم أيضًا تطوير طبقة تجريبية في مستودع المشروع لاستخدامها مع حاوية وقت التشغيل (المستخدمة في Docker)، والتي تم تعديلها لدعم FreeBSD. يتم تقديم أداة مساعدة خاصة لتحويل جذور FreeBSD إلى صورة حاوية متوافقة مع OCI. يمكن لاحقًا استيراد الصورة التي تم إنشاؤها إلى الحاوية.

المصدر: opennet.ru

إضافة تعليق