الفصل 2.8 - وقت تشغيل الحاويات
أهداف التعلم
في نهاية هذا الفصل، ستكون قادرًا على:
- فهم دور وقت تشغيل الحاويات
- تحديد أوقات التشغيل المدعومة المختلفة
- شرح واجهة CRI
- فهم عزل الحاويات
ما هو وقت تشغيل الحاويات؟
وقت تشغيل الحاويات هو البرنامج المسؤول عن تنفيذ الحاويات على العقدة. يدير دورة حياة الحاويات: الإنشاء، البدء، الإيقاف، الحذف.
واجهة وقت تشغيل الحاويات (CRI)
يستخدم Kubernetes CRI للتواصل مع أوقات التشغيل:
عمليات CRI
RunPodSandbox()- إنشاء بيئة معزولةCreateContainer()- إنشاء حاويةStartContainer()- بدء حاويةStopContainer()- إيقاف حاويةRemoveContainer()- حذف حاوية
أوقات التشغيل المدعومة
1. containerd (موصى به)
وقت تشغيل حديث، خفيف، يستخدم بشكل افتراضي في العديد من التوزيعات:
المزايا:
- خفيف وذو أداء عالي
- معيار الصناعة
- يدعم OCI (مبادرة الحاويات المفتوحة)
2. CRI-O
وقت تشغيل محسن لـ Kubernetes:
المزايا:
- مصمم خصيصًا لـ Kubernetes
- خفيف
- متوافق مع OCI
3. Docker (مهمل)
Docker عبر dockershim (مهمل منذ Kubernetes 1.24):
ملاحظة: يمكن استخدام Docker Engine دائمًا، ولكن عبر containerd.
العزل والأمان
مساحات الأسماء في لينكس
تستخدم الحاويات مساحات الأسماء في لينكس للعزل:
أنواع مساحات الأسماء:
- PID: عزل العمليات
- Network: عزل الشبكة
- Mount: عزل نظام الملفات
- UTS: عزل اسم المضيف
- IPC: عزل بين العمليات
- User: عزل المستخدمين
Cgroups
تحديد الموارد:
دورة حياة الحاوية
صور الحاويات
سحب الصور
يقوم وقت تشغيل الحاويات بتنزيل الصور من السجلات:
تنسيقات الصور
- OCI: مبادرة الحاويات المفتوحة (معيار)
- Docker: تنسيق Docker (متوافق مع OCI)
الأوامر المفيدة
# عرض الحاويات (إذا كان Docker)
docker ps
# عرض الصور
docker images
# عرض سجلات الحاوية
docker logs <container-id>
# فحص حاوية
docker inspect <container-id>
ملخص
في هذا الفصل، تعلمت:
وقت تشغيل الحاويات: تنفيذ الحاويات على العقد
CRI: واجهة قياسية للتواصل مع أوقات التشغيل
أوقات التشغيل: containerd, CRI-O (موصى بها)، Docker (مهمل)
العزل: مساحات الأسماء في لينكس وcgroups
الصور: التنزيل من السجلات
الخطوات التالية
الآن بعد أن فهمت وقت تشغيل الحاويات:
الفصل 2.9: التواصل بين المكونات
الفصل 2.10: الإضافات والامتدادات
تم إنشاء الفصل في: ديسمبر 2024