اختبار الوحدة 6 - التخزين والأحجام
التعليمات
يحتوي هذا الاختبار على 30 سؤالاً متعدد الخيارات.
السؤال 1
ما نوع الحجم الذي يتم إنشاؤه عند بدء تشغيل Pod ويتم حذفه عند انتهاء Pod؟
عرض التفسير
الإجابة الصحيحة: emptyDir
التفسير: emptyDir هو حجم مؤقت يوجد فقط خلال فترة حياة Pod.
السؤال 2
ما هو PersistentVolume (PV)؟
عرض التفسير
الإجابة الصحيحة: مورد تخزين في العنقود تم توفيره بواسطة مسؤول
التفسير: PersistentVolume هو مورد تخزين في العنقود، يتم توفيره يدوياً أو ديناميكياً عبر StorageClass.
السؤال 3
ما هو PersistentVolumeClaim (PVC)؟
عرض التفسير
الإجابة الصحيحة: طلب تخزين من قبل مستخدم يربط PV بـ Pod
التفسير: PVC هو طلب تخزين يربط PV بـ Pod، مما يسمح للمستخدمين بطلب التخزين دون معرفة تفاصيل التخزين الأساسية.
السؤال 4
ما هو وضع الوصول ReadWriteOnce (RWO)؟
عرض التفسير
الإجابة الصحيحة: يمكن لـ node واحد التركيب للقراءة والكتابة
التفسير: RWO يسمح لـ node واحد بتركيب الحجم للقراءة والكتابة، وهو الأكثر شيوعاً للأحجام السحابية.
السؤال 5
ما هي StorageClass؟
عرض التفسير
الإجابة الصحيحة: مورد يصف فئات التخزين ويسمح بالتوفير الديناميكي لـ PVs
التفسير: تصف StorageClass فئات التخزين المتاحة وتسمح لـ Kubernetes بإنشاء PVs تلقائياً عند إنشاء PVC.
السؤال 6
ما هي سياسة الاستعادة الافتراضية لـ StorageClass؟
عرض التفسير
الإجابة الصحيحة: Delete
التفسير: السياسة الافتراضية هي Delete، مما يعني أن PV يتم حذفه تلقائياً عند حذف PVC.
السؤال 7
ما هو StatefulSet؟
عرض التفسير
الإجابة الصحيحة: عبء عمل يدير النشر مع هويات ثابتة وتخزين دائم
التفسير: يضمن StatefulSet هويات ثابتة (أسماء متوقعة) وتخزين دائم فردي لكل Pod، مثالي لقواعد البيانات.
السؤال 8
ما هي فائدة استخدام حجم emptyDir؟
عرض التفسير
الإجابة الصحيحة: مشاركة البيانات المؤقتة بين الحاويات في نفس Pod
التفسير: emptyDir مفيد لمشاركة الملفات المؤقتة بين الحاويات في نفس Pod، مثل ذاكرة التخزين المؤقت أو ملفات العمل.
السؤال 9
ما الفرق بين PV و PVC؟
عرض التفسير
الإجابة الصحيحة: PV هو مورد التخزين، PVC هو الطلب الذي يربط PV بـ Pod
التفسير: PV هو مورد التخزين المخصص في العنقود، بينما PVC هو طلب من المستخدم يربط PV بـ Pod.
السؤال 10
ما هو التوفير الديناميكي؟
عرض التفسير
الإجابة الصحيحة: إنشاء PVs تلقائياً عند إنشاء PVC، بناءً على StorageClass
التفسير: التوفير الديناميكي يسمح لـ Kubernetes بإنشاء PV مطابق تلقائياً عند إنشاء PVC، باستخدام StorageClass.
السؤال 11
ما هو وضع الوصول الذي يسمح لعدة nodes بالتركيب للقراءة والكتابة؟
عرض التفسير
الإجابة الصحيحة: ReadWriteMany
التفسير: ReadWriteMany (RWX) يسمح لعدة nodes بتركيب الحجم للقراءة والكتابة في نفس الوقت، وهو ضروري لأنظمة الملفات المشتركة مثل NFS.
السؤال 12
ما هو حجم hostPath؟
عرض التفسير
الإجابة الصحيحة: حجم يركب ملفاً أو دليلاً من نظام ملفات node المضيف في Pod
التفسير: hostPath يركب مساراً من node المضيف في Pod. مفيد للتطوير ولكن يجب تجنبه في الإنتاج لأنه يخلق اعتماداً على node.
السؤال 13
ما الفرق بين حجم emptyDir وحجم tmpfs؟
عرض التفسير
الإجابة الصحيحة: emptyDir يستخدم تخزين node، tmpfs يستخدم RAM
التفسير: emptyDir يستخدم تخزين node (القرص)، بينما tmpfs (emptyDir مع medium: Memory) يستخدم RAM، أسرع ولكنه محدود بالذاكرة المتاحة.
السؤال 14
ما هو volumeClaimTemplate في StatefulSet؟
عرض التفسير
الإجابة الصحيحة: قالب ينشئ تلقائياً PVC لكل Pod في StatefulSet
التفسير: volumeClaimTemplate يسمح لكل Pod في StatefulSet بالحصول على PVC خاص به يتم إنشاؤه تلقائياً باسم فريد (مثلاً: data-web-0، data-web-1).
السؤال 15
ما هي سياسة الاستعادة Retain؟
عرض التفسير
الإجابة الصحيحة: يتم الاحتفاظ بـ PV حتى بعد حذف PVC، مما يسمح باستعادة البيانات يدوياً
التفسير: Retain يحتفظ بـ PV وبياناته بعد حذف PVC، مفيد لاستعادة البيانات أو التصحيح.
السؤال 16
ما هو Volume Snapshot؟
عرض التفسير
الإجابة الصحيحة: لقطة لحظية لحالة حجم دائم
التفسير: تتيح Volume Snapshots إنشاء نسخ احتياطية لحظية من الأحجام، مفيدة للنسخ الاحتياطي والاستعادة.
السؤال 17
ما هي فائدة استخدام StorageClass مع التوفير الديناميكي؟
عرض التفسير
الإجابة الصحيحة: إنشاء PVs تلقائياً دون تدخل يدوي، تبسيط الإدارة
التفسير: التوفير الديناميكي يلغي الحاجة لإنشاء PVs يدوياً، مما يبسط بشكل كبير إدارة التخزين على نطاق واسع.
السؤال 18
ما هي الأمر لرؤية PVCs؟
عرض التفسير
الإجابة الصحيحة: kubectl get pvc
التفسير: kubectl get pvc (أو persistentvolumeclaim) يعرض جميع PVCs وحالة الربط الخاصة بهم مع PVs.
السؤال 19
ما هو حجم NFS؟
عرض التفسير
الإجابة الصحيحة: حجم يركب مشاركة NFS (نظام ملفات الشبكة) في Pod
التفسير: تتيح الأحجام NFS تركيب مشاركات الشبكة، مما يدعم ReadWriteMany للمشاركة بين عدة Pods.
السؤال 20
ما الفرق بين StatefulSet و Deployment للتخزين؟
عرض التفسير
الإجابة الصحيحة: StatefulSet يضمن تخزين دائم فردي لكل Pod مع هويات ثابتة، Deployment يشارك التخزين
التفسير: تخلق StatefulSets PVC فريد لكل Pod عبر volumeClaimTemplate، بينما تشارك Deployments عادةً نفس التخزين أو لا تحتوي على تخزين.
السؤال 21
ما هو سائق CSI (واجهة تخزين الحاوية)؟
عرض التفسير
الإجابة الصحيحة: واجهة قياسية تسمح لمكونات التخزين بالتكامل مع Kubernetes
التفسير: CSI هو واجهة قياسية تسمح لمزودي التخزين بإنشاء مكونات للتكامل مع Kubernetes بطريقة موحدة.
السؤال 22
ما هو الحجم الأقصى لـ PVC؟
عرض التفسير
الإجابة الصحيحة: يعتمد على التخزين المتاح وحصص namespace
التفسير: حجم PVC محدود بالتخزين المتاح في العنقود وبحصص الموارد المحددة لـ namespace.
السؤال 23
ما هو حجم محلي؟
عرض التفسير
الإجابة الصحيحة: حجم يستخدم التخزين المتصل مباشرة بـ node
التفسير: تستخدم الأحجام المحلية التخزين المتصل مباشرة بـ node (الأقراص المحلية)، مما يوفر أداءً أفضل ولكن مع قيود التوافر.
السؤال 24
ما هي الأمر لرؤية StorageClasses؟
عرض التفسير
الإجابة الصحيحة: kubectl get storageclass
التفسير: kubectl get storageclass (أو sc) يعرض جميع StorageClasses المتاحة في العنقود.
السؤال 25
ما هو حجم ephemeral؟
عرض التفسير
الإجابة الصحيحة: حجم مؤقت يوجد فقط خلال فترة حياة Pod
التفسير: الأحجام المؤقتة (مثل emptyDir) يتم إنشاؤها مع Pod ويتم حذفها عند انتهاء Pod، ولا تستمر البيانات.
السؤال 26
ما الفرق بين PV ثابت و PV ديناميكي؟
عرض التفسير
الإجابة الصحيحة: PV ثابت يتم إنشاؤه يدوياً بواسطة مسؤول، PV ديناميكي يتم إنشاؤه تلقائياً عبر StorageClass
التفسير: التوفير الثابت يتطلب إنشاء PVs يدوياً، بينما التوفير الديناميكي ينشئ PVs تلقائياً عبر StorageClass عند إنشاء PVC.
السؤال 27
ما هو حجم secret؟
عرض التفسير
الإجابة الصحيحة: حجم يركب بيانات Secret كملفات في Pod
التفسير: الأحجام السرية تركب بيانات Secret كملفات في Pod، حيث تصبح كل مفتاح ملفاً بالقيمة المفكودة.
السؤال 28
ما هي الممارسة الجيدة للتخزين في الإنتاج؟
عرض التفسير
الإجابة الصحيحة: استخدام PVs/PVCs مع StorageClasses وتوفير ديناميكي
التفسير: في الإنتاج، استخدم PVs/PVCs مع StorageClasses للتخزين الدائم، وتجنب hostPath الذي يخلق اعتماداً على node.
السؤال 29
ما هو حجم configMap؟
عرض التفسير
الإجابة الصحيحة: حجم يركب بيانات ConfigMap كملفات في Pod
التفسير: الأحجام configMap تركب بيانات ConfigMap كملفات، حيث تصبح كل مفتاح ملفاً بالقيمة كمحتوى.
السؤال 30
ما هي الأمر لرؤية PVs؟
عرض التفسير
الإجابة الصحيحة: kubectl get pv
التفسير: kubectl get pv (أو persistentvolume) يعرض جميع PVs وحالتها (Available، Bound، Released، Failed).
نتيجة الاختبار
تهانينا على إكمال اختبار الوحدة 6!
النتيجة:
- 25-30 إجابة صحيحة: ممتاز! أنت تتقن التخزين والأحجام.
- 20-24 إجابة صحيحة: جيد جداً! راجع المفاهيم التي واجهت فيها صعوبة.
- 15-19 إجابة صحيحة: جيد! راجع الفصول حول الأحجام وPVs.
- أقل من 15: يُوصى بمراجعة الوحدة قبل المتابعة.
تم إنشاء الاختبار في: ديسمبر 2024