اختبار الوحدة 3 - الحاويات والنشر
تعليمات
يحتوي هذا الاختبار على 30 سؤالاً متعدد الخيارات للتحقق من فهمك للوحدة 3.
نصيحة: أجب عن كل سؤال قبل الكشف عن الإجابة. الإجابات مخفية مباشرة بعد كل سؤال.
السؤال 1
ما هو الـ Pod في Kubernetes؟
عرض التفسير
الإجابة الصحيحة: أصغر وحدة قابلة للنشر، تحتوي على حاوية أو أكثر تشترك في الموارد
التفسير: الـ Pod هو مجموعة من حاوية أو أكثر تشترك في نفس عنوان الـ IP، ونفس مساحة الأسماء الشبكية، ونفس الأحجام. إنها الوحدة الذرية للنشر في Kubernetes.
السؤال 2
ما هو الدور الرئيسي لـ ReplicaSet؟
عرض التفسير
الإجابة الصحيحة: الحفاظ على عدد ثابت من النسخ المتطابقة من الحاويات
التفسير: يضمن ReplicaSet أن عددًا محددًا من الحاويات المتطابقة متاح دائمًا. إذا تعطل Pod، يقوم ReplicaSet بإنشاء Pod جديد تلقائيًا.
السؤال 3
ما هي الفائدة الرئيسية من استخدام Deployment مقارنة بـ ReplicaSet؟
عرض التفسير
الإجابة الصحيحة: يوفر إدارة الإصدارات، التحديثات المتدحرجة، والتراجع
التفسير: تقوم Deployments بإدارة ReplicaSets وتوفر ميزات متقدمة مثل التحديثات المتدحرجة (التحديثات بدون انقطاع)، التراجع، وإدارة الإصدارات.
السؤال 4
ما هو دورة حياة الـ Pod في Kubernetes؟
عرض التفسير
الإجابة الصحيحة: Pending → Running → Succeeded/Failed/Unknown
التفسير: يمر الـ Pod بمراحل Pending (في انتظار التخطيط)، ثم Running (تشغيل)، ويمكن أن ينتهي بـ Succeeded (نجاح)، Failed (فشل)، أو Unknown (حالة غير معروفة).
السؤال 5
ما هو الـ Label في Kubernetes؟
عرض التفسير
الإجابة الصحيحة: زوج مفتاح-قيمة مرفق بالأشياء لتنظيم وتحديد الموارد
التفسير: الـ Labels هي بيانات وصفية على شكل أزواج مفتاح-قيمة تسمح بتنظيم، تجميع وتحديد موارد Kubernetes بشكل مرن.
السؤال 6
ما هو دور الـ Selector في Kubernetes؟
عرض التفسير
الإجابة الصحيحة: تحديد مجموعة من الموارد بناءً على الـ Labels الخاصة بها
التفسير: تسمح الـ Selectors بتحديد الموارد (Pods، خدمات، إلخ) بناءً على الـ Labels الخاصة بها، مما يسمح لـ ReplicaSets، Deployments والخدمات باستهداف الـ Pods الصحيحة.
السؤال 7
ما هو الفرق الرئيسي بين ReplicaSet و ReplicationController؟
عرض التفسير
الإجابة الصحيحة: يدعم ReplicaSet المحددات القائمة على التعبيرات (matchExpressions)، بينما لا يدعمها ReplicationController
التفسير: ReplicaSet هو النسخة الحديثة والمحسنة من ReplicationController، مع دعم أكثر مرونة للمحددات عبر matchExpressions.
السؤال 8
ما هي استراتيجية النشر الافتراضية في Deployment؟
عرض التفسير
الإجابة الصحيحة: RollingUpdate
التفسير: RollingUpdate هي الاستراتيجية الافتراضية التي تقوم بتحديث الـ Pods تدريجيًا، باستبدال القديمة بالجديدة واحدة تلو الأخرى أو في مجموعات صغيرة، مما يضمن توفر الخدمة.
السؤال 9
ما هو Liveness Probe؟
عرض التفسير
الإجابة الصحيحة: مسبار يتحقق مما إذا كانت الحاوية لا تزال حية وتعمل بشكل صحيح
التفسير: يكتشف Liveness Probe ما إذا كانت الحاوية في حالة متوقفة أو ميتة. إذا فشل المسبار، يقوم Kubernetes بإعادة تشغيل الحاوية.
السؤال 10
ما هو Readiness Probe؟
عرض التفسير
الإجابة الصحيحة: مسبار يتحقق مما إذا كان الـ Pod جاهزًا لاستقبال حركة المرور
التفسير: يحدد Readiness Probe ما إذا كان الـ Pod جاهزًا لاستقبال الطلبات. إذا فشل المسبار، يتم إزالة الـ Pod من نقاط النهاية للخدمة حتى يصبح جاهزًا مرة أخرى.
السؤال 11
ما هو Startup Probe؟
عرض التفسير
الإجابة الصحيحة: مسبار يتحقق مما إذا كانت التطبيق في الحاوية قد بدأ
التفسير: يسمح Startup Probe للحاويات ذات أوقات البدء الطويلة بالإشارة إلى أنها قد بدأت، قبل أن تبدأ المسابير الأخرى.
السؤال 12
ما هو نوع المسبار الذي يمكن استخدامه لفحوصات الصحة؟
عرض التفسير
الإجابة الصحيحة: HTTP، TCP، أو Exec
التفسير: يدعم Kubernetes ثلاثة أنواع من المسابير: HTTP (يتحقق من استجابة HTTP)، TCP (يتحقق مما إذا كان المنفذ مفتوحًا)، و Exec (ينفذ أمرًا في الحاوية).
السؤال 13
ما هي الأمر kubectl الذي يسمح برؤية تاريخ النشر؟
عرض التفسير
الإجابة الصحيحة: kubectl rollout history deployment/[name]
التفسير: يعرض هذا الأمر تاريخ الإصدارات لنشر معين، مما يتيح رؤية الإصدارات المختلفة المنشورة وإجراء التراجعات إذا لزم الأمر.
السؤال 14
كيف يمكن التراجع عن نشر إلى إصدار سابق؟
عرض التفسير
الإجابة الصحيحة: kubectl rollout undo deployment/[name]
التفسير: يقوم هذا الأمر بإلغاء آخر نشر واستعادة الإصدار السابق، مما يسمح بالتراجع السريع في حالة حدوث مشكلة.
السؤال 15
ما هو Init Container؟
عرض التفسير
الإجابة الصحيحة: حاوية تعمل قبل الحاويات الرئيسية ويجب أن تنتهي بنجاح
التفسير: تعمل Init Containers بشكل تسلسلي قبل الحاويات الرئيسية وتكون مفيدة للإعداد، انتظار التبعيات، أو تحضير البيئة.
السؤال 16
ما هو الفرق بين maxSurge و maxUnavailable في استراتيجية RollingUpdate؟
عرض التفسير
الإجابة الصحيحة: maxSurge يحدد العدد الأقصى للحاويات الإضافية، maxUnavailable يحدد العدد الأقصى للحاويات غير المتاحة
التفسير: يسمح maxSurge بوجود حاويات أكثر من العدد المطلوب أثناء التحديث، بينما يحد maxUnavailable من عدد الحاويات التي يمكن أن تكون غير متاحة في نفس الوقت.
السؤال 17
ما هو Pod Disruption Budget (PDB)؟
عرض التفسير
الإجابة الصحيحة: سياسة تحد من عدد الحاويات لتطبيق معين التي يمكن أن تتعطل في نفس الوقت
التفسير: يضمن PDB أن عددًا معينًا من الحاويات لتطبيق معين يبقى متاحًا أثناء التحديثات أو الصيانة، مما يضمن التوافر العالي.
السؤال 18
ما هي الفائدة من استخدام Deployment بدلاً من Pod مباشرة؟
عرض التفسير
الإجابة الصحيحة: توفر Deployments إدارة الإصدارات، التحديثات المتدحرجة، التراجعات والتكرار التلقائي
التفسير: تقوم Deployments بإدارة ReplicaSets تلقائيًا، وتوفر ميزات متقدمة للنشر والتراجع، وهو ما لا يمكن تحقيقه مع الحاويات المباشرة.
السؤال 19
ما هي الأمر لتحديث صورة Deployment؟
عرض التفسير
الإجابة الصحيحة: kubectl set image deployment/[name] [container]=[new-image]
التفسير: يقوم هذا الأمر بتحديث صورة حاوية في Deployment، مما يؤدي تلقائيًا إلى تشغيل تحديث متدحرج.
السؤال 20
ما الذي يفعله ReplicaSet إذا تم حذف Pod يدويًا؟
عرض التفسير
الإجابة الصحيحة: يقوم بإنشاء Pod جديد تلقائيًا للحفاظ على العدد المطلوب من النسخ
التفسير: يراقب ReplicaSet باستمرار عدد الحاويات ويقوم بإنشاء حاويات جديدة تلقائيًا إذا كان العدد الحالي أقل من العدد المطلوب.
السؤال 21
ما هو الفرق بين Pod وحاوية؟
عرض التفسير
الإجابة الصحيحة: يمكن أن يحتوي Pod على حاوية أو أكثر تشترك في موارد الشبكة والتخزين
التفسير: الـ Pod هو الوحدة الذرية للنشر في Kubernetes ويمكن أن يحتوي على حاويات متعددة تشترك في نفس عنوان الـ IP، ونفس مساحة الأسماء الشبكية ونفس الأحجام.
السؤال 22
ما هو Static Pod؟
عرض التفسير
الإجابة الصحيحة: Pod يُدار مباشرة بواسطة kubelet على عقدة محددة، دون المرور عبر API Server
التفسير: يتم تعريف Static Pods في ملف على العقدة ويتم إدارتها مباشرة بواسطة kubelet، وغالبًا ما تُستخدم لمكونات Control Plane.
السؤال 23
ما هي استراتيجية النشر Recreate؟
عرض التفسير
الإجابة الصحيحة: يتم إنهاء جميع الحاويات القديمة قبل إنشاء الجديدة
التفسير: توقف استراتيجية Recreate جميع الحاويات الموجودة قبل إنشاء الجديدة، مما يسبب انقطاع الخدمة ولكنه يضمن تشغيل نسخة واحدة فقط في كل مرة.
السؤال 24
ما هو DaemonSet؟
عرض التفسير
الإجابة الصحيحة: عبء عمل يضمن تشغيل Pod على جميع (أو بعض) العقد في العنقود
التفسير: يُستخدم DaemonSet لوكلاء النظام مثل وكلاء التسجيل أو المراقبة الذين يجب تشغيلهم على كل عقدة.
السؤال 25
ما هي التردد الافتراضي لـ Liveness Probe؟
عرض التفسير
الإجابة الصحيحة: كل 10 ثوانٍ
التفسير: بشكل افتراضي، تعمل المسابير كل 10 ثوانٍ، ولكن يمكن تكوين هذه القيمة عبر المعلمة periodSeconds.
السؤال 26
ما هو Pod Preset (متوقف)؟
عرض التفسير
الإجابة الصحيحة: مورد يقوم بحقن المعلومات تلقائيًا (متغيرات البيئة، الأحجام) في الحاويات التي تتطابق مع محددات معينة
التفسير: كان Pod Preset ميزة (الآن متوقفة) تسمح بحقن ConfigMaps، Secrets والأحجام تلقائيًا في الحاويات. تشمل البدائل الحديثة Admission Controllers.
السؤال 27
ما هي الأمر الذي يسمح برؤية حالة النشر؟
عرض التفسير
الإجابة الصحيحة: kubectl rollout status deployment/[name]
التفسير: يراقب هذا الأمر حالة النشر الجاري وينتظر اكتماله، وهو مفيد لمعرفة متى ينتهي التحديث.
السؤال 28
ما الذي يفعله ReplicaSet إذا تجاوز عدد الحاويات العدد المطلوب؟
عرض التفسير
الإجابة الصحيحة: يقوم بحذف الحاويات الزائدة للعودة إلى العدد المطلوب
التفسير: يحافظ ReplicaSet دائمًا على العدد الدقيق للنسخ المطلوبة، ويقوم بحذف الحاويات الزائدة إذا لزم الأمر.
السؤال 29
ما هو الفرق بين Deployment و ReplicaSet؟
عرض التفسير
الإجابة الصحيحة: يقوم Deployment بإدارة ReplicaSets ويوفر ميزات النشر والتراجع
التفسير: Deployment هو تجريد على مستوى أعلى يقوم بإدارة ReplicaSets ويوفر ميزات متقدمة مثل التحديثات المتدحرجة والتراجعات.
السؤال 30
ما الذي يمكن أن يشاركه Pod مع الحاويات الأخرى في نفس Pod؟
عرض التفسير
الإجابة الصحيحة: عنوان الـ IP، مساحة الأسماء الشبكية، والأحجام
التفسير: تشترك الحاويات في نفس Pod في نفس عنوان الـ IP، ونفس مساحة الأسماء الشبكية (يمكنها التواصل عبر localhost)، ونفس الأحجام المركبة.
نتيجة الاختبار
تهانينا لإكمال اختبار الوحدة 3!
النتيجة:
- 25-30 إجابة صحيحة: ممتاز! أنت تتقن الحاويات والنشر.
- 20-24 إجابة صحيحة: جيد جدًا! راجع المفاهيم التي واجهت فيها صعوبة.
- 15-19 إجابة صحيحة: جيد! راجع الفصول حول الحاويات وDeployments.
- أقل من 15: يُوصى بمراجعة الوحدة قبل المتابعة.
الخطوات التالية
الآن بعد أن تحققت من معرفتك:
الوحدة 4: الخدمات والشبكات
المختبرات العملية: طبق الحاويات وDeployments
تم إنشاء الاختبار في: ديسمبر 2024