لقد تابعنا مشروع containerd منذ
البداية . لذلك ، لا يمكننا تجاهل حدث مهم: في الليلة الماضية ، أعلنت منظمة CNCF التي تدعم Kubernetes وغيرها من حلول المصدر المفتوح المتميزة للعالم الأصلي السحابي
عن "خريجها". كان هذا المشروع بالفعل الخامس مع هذا الوضع ، حيث انضم إلى صفوف K8s و Prometheus و Envoy و CoreDNS.

معايير CNCF
وقد
تبنى CNCF ، الذي يدعم حاليًا عشرات المشاريع مفتوحة المصدر ، ثلاث فئات لتصنيفها:
- Sandbox ("sandbox") - للتطورات المبكرة والتجريبية والواعدة التي (في المستقبل) "تضيف قيمة مهمة CNCF" ، أي سوف يساهم في تطوير النظام الإيكولوجي المفتوح المصدر والمجتمع الذي يتكون حول البنية التحتية للتطبيقات الأصلية السحابية الحديثة. هناك 12 مثل هذه المشاريع.
- احتضان ("حاضنة") - للمشاريع التي لديها ما لا يقل عن ثلاثة مستخدمين (موثقين ومستقلين) في الإنتاج ، يتم توفير مستويات وجداول كافية (وفقًا للجنة الفنية) ، بالإضافة إلى وجود عدد كاف من المساهمين ذوي الالتزام تنمية مستقرة للقاعدة الكود. هناك 15 منهم.
- التخرج - للمشروعات التي تضم متعهدين من منظمتين على الأقل ، شارة امتثال لأفضل ممارسات CII (مبادرة البنية التحتية الأساسية) ، والتي تم تبنيها من قبل مدونة قواعد السلوك CNCF ، ونظام إدارة وقبول محدد بوضوح ، وقائمة عامة للمستخدمين ، وبطبيعة الحال ، نتيجة التصويت المقابل من قبل اللجنة الفنية CNCF. الآن هناك 5 منهم.

باختصار ، تمت صياغة جاهزية مشروع "الإطلاق" في CNCF كـ "تكيف سريع النمو ، أصالة ، عملية إدارة رسمية والتزام صارم بمجتمع مستدام وشامل".
الحاوية ، التي تم نقلها بواسطة Docker إلى CNCF منذ ما يقرب من عامين ، أصبحت معروفة الآن أنها تفي بهذه المعايير.
containerd: الأصول والحاضر
يعود تاريخ مشروع Containerd إلى الوقت الذي كانت فيه
أشجار Docker كبيرة. في عام 2015 ، أعلن مطوروها أن الوقت قد حان لجعل محرك Docker Engine أكثر إحكاما (سريع وموثوق ومحمول ...) ، وبالتالي بدأ
في تحويل مكوناته إلى مشاريع منفصلة .
بدأ كل شيء بالإعلان عن أداة إطلاق حاوية runc (2015) ، ثم ظهر وقت تشغيل حاوية الحاويات (2016) ، وبعد مرور عام أصبحت هذه المبادرة أكثر عالمية
وجلبت لنا Moby .
شكل توضيحي لإصدار Docker 1.11 (أبريل 2016): تمت إزالة Docker Engine ومكوناته منهالعودة إلى containerd. باختصار ، تم تقليص دورها الوظيفي
(وهذا لم يتغير إلى يومنا هذا) إلى حقيقة أنها ، باعتبارها شيطان في النظام المضيف ، تمكنت من إدارة دورة حياة الحاوية بأكملها: من تلقي الصورة وتخزينها إلى إطلاق الحاوية (من خلال runc المذكور بالفعل) والسيطرة على عمله. في مارس 2017 ، بعد مرور عام على فصل الحاوية ،
نقلها Docker إلى CNCF ، والذي حدث في
وقت واحد مع مبادرة مماثلة من CoreOS تسمى
rkt (سنعود إليها) .
وتشمل التطورات الأخرى
ظهور وتطوير (بقيادة ريد هات) لمنافس موجه Kubernetes دعا CRI-O * ... ومرآة Docker Inc "استجابة" في شكل
cri-containerd .
تم استخدام برنامج خفي خاص (يحمل عنوانًا ذاتيًا) للتفاعل مع K8s في cri-containerd ، وبحلول الإصدار 1.1
تحول الحل إلى مكون إضافي لبيئة تشغيل الحاوية الجديدة في Kubernetes - واجهة Runtime Interface (CRI) - وهنا يتم توصيل المكون الإضافي مباشرة مع containerd ( استدعاء الوظائف الضرورية).

في يونيو 2018 ،
تم إعلان أن المكون الإضافي لـ containerd CRI جاهز للإنتاج. مستودع المشروع الحالي هو
containerd / cri .
* من المثير للاهتمام أن نلاحظ أن الطلب المقدم في نوفمبر 2018 لإدراج المنافس حاوية و rkt - CRI-O - في مشاريع CNCF لم تتم الموافقة عليها بعد من قبل المنظمة.واليوم ، تطلق containerd بشكل عشوائي نفسها "بيئة حاوية قابلة للتنفيذ ، وهي معيار صناعي وتركز على البساطة والموثوقية وسهولة الحمل":

الهيكل الفعلي لحلول الحاويات التي تستخدم حاوية حاوية
(بالنسبة للجزء الأكبر ، بطبيعة الحال ، فهي تركز على Kubernetes ، ولكن من الناحية الرسمية لا تقتصر على هذا النظام الأساسي) ، يبدو كما يلي:
يأتي الحل نفسه في شكل برنامج خفي لنظام التشغيل Linux (
يوصى باستخدام إصدارات kernel 4.x ، على الرغم من إمكانية وجود خيارات مع الإصدارات السابقة) ونظام Windows. شفرة المصدر مكتوبة في Go (الإصدار 1.9.x +
مطلوب ).
أحدث إصدار من حاوية هو
1.2.4 (بتاريخ 14 فبراير 2019) ، حيث تم إصلاح
ثغرة أمنية CVE-2019-5736 في runc. المعلم التالي هو
الإصدار 1.3 ، حيث يتوقع ابتكارات مثل
مجموعات الحاويات ،
وتحسين الأداء لتشغيل الصور ، وتحسينات مختلفة في العمل مع اللقطة
وغيرها .
يحتوي المشروع على 3500 نجمًا على GitHub ، و 14 مشاركًا و 166 مساهمًا من شركات (باستثناء Docker ، بالطبع) مثل
Alibaba و Facebook و Google و
Huawei و IBM و Microsoft و NTT و Tesla. يمكن الاطلاع على المزيد من إحصائيات codebase على
DevStats .
من بين
مستخدمي الحاوية
البارزين ، يكفي أن نذكر Moby نفسها والمشاريع ذات الصلة (LinuxKit ، BuildKit) ، خدمات Google السحابية (GKE) ، Microsoft (acs-engine in Azure ، و AKS في المستقبل) ، IBM (IKS ، ICP) و Alibaba ، حلول / محركات الحاويات (Rio من Rancher ، Kata Containers ، Balena) ، وكذلك حتى
Firecracker الحديثة.
عن المنافسين
أخيرًا ، تجدر الإشارة إلى أن وتيرة تطوير rkt - وهو تناظري لـ containerd ، المتضمن في CNCF في نفس الوقت تقريبًا - أقل بكثير. يكفي أن نشير إلى أن الإصدار الأخير - v1.30.0 - تم منذ عام تقريبًا (في أبريل 2018).
هناك استنتاجات منطقية من منظور الأعمال: قبل حوالي عام ، تم شراء مطور rkt الأصلي ، CoreOS ، بواسطة Red Hat. والأخير
(أو أنه من الصحيح القول أن IBM لديها بالفعل ...) ، كما هو مذكور في المادة ، لها من بنات أفكارها - cri-o - أنشطتها
أكثر نشاطًا بكثير .
ومع ذلك ، في حين أن شركة Linux العملاقة لم تتمكن من "بدء" مشروعها في CNCF ، فربما تكون الكلمات المتعلقة بالحاويات كمعيار صناعي تبدو معقولة للغاية.
PS
اقرأ أيضًا في مدونتنا: