انتقل إلى المحتوى الرئيسي

اختبار الوحدة 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