يتبع CRI-O دورات إصدار Kubernetes فيما يتعلق بإصداراته الثانوية ( 1.xy
). لا تتزامن إصدارات التصحيح ( 1.xz
) الخاصة بـ Kubernetes مع تلك الصادرة عن CRI-O، نظرًا لأنه تمت جدولتها لكل شهر، في حين توفرها CRI-O فقط إذا لزم الأمر. إذا انتهى عمر إصدار Kubernetes، فيمكن اعتبار إصدار CRI-O المقابل بنفس الطريقة.
وهذا يعني أن CRI-O يتبع أيضًا سياسة انحراف إصدار إصدار Kubernetes n-2
عندما يتعلق الأمر بتخرج الميزات أو إهمالها أو إزالتها. ينطبق هذا أيضًا على الميزات المستقلة عن Kubernetes. ومع ذلك، فإن ميزة النقل الخلفي إلى فروع الإصدار المدعومة، والتي تكون مستقلة عن Kubernetes أو أدوات أخرى مثل أدوات cri، لا تزال ممكنة. يتيح ذلك لـ CRI-O الانفصال عن دورة إصدار Kubernetes والحصول على مرونة كافية عندما يتعلق الأمر بتنفيذ ميزات جديدة. ستكون كل ميزة سيتم نقلها بشكل خلفي بمثابة قرار من المجتمع لكل حالة على حدة بينما لا ينبغي المساس بمصفوفة التوافق الشاملة.
لمزيد من المعلومات، تفضل بزيارة سياسة انحراف إصدار Kubernetes.
كري-O | كوبيرنيتيس | حالة الصيانة |
---|---|---|
الفرع main | الفرع master | يتم تنفيذ الميزات من مستودع Kubernetes الرئيسي بشكل نشط |
فرع release-1.x ( v1.xy ) | فرع release-1.x ( v1.xz ) | تتم الصيانة يدويًا، وسيتم نقل إصلاحات الأخطاء فقط إلى الخلف. |
ملاحظات الإصدار الخاصة بـ CRI-O مصنوعة يدويًا ويمكن استرجاعها بشكل مستمر من موقع صفحات GitHub الخاص بنا.
يهدف CRI-O إلى توفير مسار تكامل بين أوقات التشغيل المتوافقة مع OCI وKubelet. على وجه التحديد، فهو يطبق واجهة Kubelet Container Runtime Interface (CRI) باستخدام أوقات التشغيل المتوافقة مع OCI. يرتبط نطاق CRI-O بنطاق CRI.
على مستوى عالٍ، نتوقع أن يقتصر نطاق CRI-O على الوظائف التالية:
CRI-O هو تطبيق لواجهة تشغيل حاوية Kubernetes (CRI) التي ستسمح لـ Kubernetes بإطلاق وإدارة حاويات مبادرة الحاوية المفتوحة (OCI) مباشرة.
تتمثل الخطة في استخدام مشاريع OCI وأفضل المكتبات في جوانب مختلفة:
وهو حاليًا قيد التطوير النشط في مجتمع Kubernetes من خلال مقترح التصميم. ينبغي طرح الأسئلة والقضايا في قناة Slack لعقدة التوقيع الخاصة بـ Kubernetes.
يمكن العثور على خريطة الطريق التي تصف اتجاه CRI-O هنا. يتتبع المشروع جميع الجهود الجارية كجزء من مشروع GitHub لخريطة الطريق المميزة.
يتم تقسيم CI الخاص بـ CRI-O بين إجراءات GitHub وOpenShift CI (Prow). يتم إنشاء صور الآلة الافتراضية ذات الصلة المستخدمة في المهام التمهيدية بشكل دوري في الوظائف:
يتم الاحتفاظ بالوظائف من مستودع openshift/الإصدار وتحديد مسارات العمل المستخدمة لوظائف معينة. يمكن العثور على تعريفات الوظيفة الفعلية في نفس المستودع ضمن ci-operator/jobs/cri-o/cri-o/cri-o-cri-o-main-presubmits.yaml للفرع main
بالإضافة إلى الملفات المقابلة لـ فروع الافراج. يتوفر تكوين الصورة الأساسي لهذه المهام في نفس المستودع ضمن ci-operator/config/cri-o/cri-o.
يأمر | وصف |
---|---|
كريو(8) | برنامج OCI Kubernetes لوقت تشغيل الحاوية |
من أمثلة أدوات سطر الأوامر للتفاعل مع CRI-O (أو أوقات التشغيل الأخرى المتوافقة مع CRI) Crictl وPodman.
ملف | وصف |
---|---|
كريو.كونف(5) | ملف التكوين CRI-O |
سياسة.json(5) | ملف (ملفات) سياسة التحقق من التوقيع |
السجلات.conf(5) | ملف تكوين السجلات |
تخزين.conf(5) | ملف تكوين التخزين |
تم وصف العملية الأمنية للإبلاغ عن الثغرات الأمنية في SECURITY.md.
يمكنك تكوين CRI-O لإدخال خطافات OCI عند إنشاء الحاويات.
نحن نقدم معلومات مفيدة للعمليات ونقل التطوير من حيث صلتها بالبنية التحتية التي تستخدم CRI-O.
للاتصال غير المتزامن والمناقشات طويلة الأمد، يرجى استخدام المشكلات وسحب الطلبات على GitHub repo. سيكون هذا هو أفضل مكان لمناقشة التصميم والتنفيذ.
للتواصل عبر الدردشة، لدينا قناة على Kubernetes حيث نرحب بالجميع للانضمام إليها والدردشة حول التطوير.
نحن نحتفظ بقائمة منسقة من الروابط المتعلقة بـ CRI-O. هل وجدت شيئًا مثيرًا للاهتمام على الويب حول المشروع؟ رائع، لا تتردد في فتح العلاقات العامة وإضافته إلى القائمة.
لتثبيت CRI-O
، يمكنك اتباع دليل التثبيت الخاص بنا. وبدلاً من ذلك، إذا كنت تفضل إنشاء CRI-O
من المصدر، فاطلع على دليل الإعداد الخاص بنا.
قبل أن تبدأ، ستحتاج إلى تشغيل CRI-O
يمكنك تشغيل إصدار محلي من Kubernetes باستخدام CRI-O
باستخدام local-up-cluster.sh
:
CGROUP_DRIVER=systemd
CONTAINER_RUNTIME=remote
CONTAINER_RUNTIME_ENDPOINT='unix:///var/run/crio/crio.sock'
./hack/local-up-cluster.sh
لمزيد من الإرشادات حول تشغيل CRI-O
، قم بزيارة صفحتنا التعليمية
يعرض CRI-O بشكل افتراضي واجهة برمجة تطبيقات gRPC لتحقيق واجهة تشغيل الحاوية (CRI) الخاصة بـ Kubernetes. بالإضافة إلى ذلك، توجد واجهة برمجة تطبيقات HTTP إضافية لاسترداد المزيد من معلومات حالة وقت التشغيل حول CRI-O. يرجى العلم أن واجهة برمجة التطبيقات هذه لا تعتبر مستقرة وأن حالات استخدام الإنتاج لا ينبغي أن تعتمد عليها.
في مثيل CRI-O قيد التشغيل، يمكننا الوصول إلى واجهة برمجة التطبيقات (API) عبر أداة نقل HTTP مثل cur:
$ sudo curl -v --unix-socket /var/run/crio/crio.sock http://localhost/info | jq
{
"storage_driver": "btrfs",
"storage_root": "/var/lib/containers/storage",
"cgroup_driver": "systemd",
"default_id_mappings": { ... }
}
نقاط إدخال واجهة برمجة التطبيقات التالية مدعومة حاليًا:
طريق | نوع المحتوى | وصف |
---|---|---|
/info | application/json | معلومات عامة حول وقت التشغيل، مثل storage_driver و storage_root . |
/containers/:id | application/json | معلومات الحاوية المخصصة، مثل name pid image . |
/config | application/toml | تكوين TOML الكامل (الافتراضي هو /etc/crio/crio.conf ) المستخدم بواسطة CRI-O. |
/pause/:id | application/json | إيقاف حاوية قيد التشغيل مؤقتًا. |
/unpause/:id | application/json | قم بإلغاء الإيقاف المؤقت لحاوية متوقفة مؤقتًا. |
/debug/goroutines | text/plain | طباعة مكدسات goroutine. |
/debug/heap | text/plain | اكتب تفريغ الكومة. |
يمكن استخدام crio status
للأمر الفرعي للوصول إلى واجهة برمجة التطبيقات (API) باستخدام أداة سطر أوامر مخصصة. وهو يدعم جميع نقاط نهاية واجهة برمجة التطبيقات عبر الأوامر الفرعية المخصصة config
و info
و containers
، على سبيل المثال:
$ sudo crio status info
cgroup driver: systemd
storage driver: btrfs
storage root: /var/lib/containers/storage
default GID mappings (format <container>:<host>:<size>):
0:0:4294967295
default UID mappings (format <container>:<host>:<size>):
0:0:4294967295
يرجى الرجوع إلى دليل قياسات CRI-O.
يرجى الرجوع إلى دليل تتبع CRI-O.
تستحق بعض جوانب وقت تشغيل الحاوية بعض التوضيحات الإضافية. يتم تلخيص هذه التفاصيل في دليل مخصص.
هل تواجه مشكلة؟ توجد بعض النصائح والحيل الخاصة بتصحيح الأخطاء في دليل تصحيح الأخطاء الخاص بنا
يمكن العثور هنا على قائمة غير كاملة بأسماء مستخدمي CRI-O في بيئات الإنتاج. إذا كنت مستخدمًا، فيرجى مساعدتنا في إكماله عن طريق إرسال طلب سحب!
يتم عقد اجتماع أسبوعي لمناقشة تطوير CRI-O. إنه مفتوح للجميع. تفاصيل الانضمام إلى الاجتماع موجودة على الويكي.
لمزيد من المعلومات حول كيفية إدارة CRI-O، قم بإلقاء نظرة على ملف الإدارة