Kubernetes / الأساسي: الكائنات وحدود التنفيذ / الدرس 6
مطالب التخزين ودورة حياة البيانات
ميز البيانات المؤقتة والمطالب المستمرة والتوفير وضمانات الاستعادة قبل اختيار عقد التخزين.
في هذه الصفحة
أهداف الدرس
- اشرح النموذج والافتراضات والحدود المتعلقة بموضوع «مطالب التخزين ودورة حياة البيانات».
- فسر المثالين وميز النية المعلنة من الدليل المثبت.
- شخص الإخفاقات وعلل قرارات الاستعادة المشروحة دون تنفيذ عمليات عنقود.
فصل حياة الحاوية والبيانات
طبقة كتابة الحاوية مؤقتة وليست مكان البيانات المهم الوحيد. لـemptyDir حياة Pod وتتحمل بعض إعادات الحاوية، وللمستمر حياة مستقلة. يظل اتساق التعطل والاستعادة واجب التطبيق. حدد القابل للحذف أوالتوليد أوالمحتاج لنسخة متحقق منها. لا يثبت استبدال Pod الفقد أوالحفظ قبل معرفة الحجم ونظامه. لا تستنتج الديمومة من كلمة volume.
قراءة المطالبة والحجم والفئة منفصلة
تمثل PV تخزينا وتطلب PVC مناسبا، وتصف StorageClass سياسة التوفير ومعاملات المزود. يعتمد التوفير على المحرك والفئة والهوية والطوبولوجيا والسعة. يطلب المثال training-retained كعقد مختبر مفترض لا فئة مدمجة. قد تبقى المطالبة الصحيحة Pending؛ فافحص الربط والتوفير قبل التطبيق أو الأذونات. لا توفر الدورة تخزينا أو تتصل بمحرك أو سحابة.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: booking-data
namespace: training
spec:
accessModes: [ReadWriteOnce]
storageClassName: training-retained
resources:
requests:
storage: 5Gi
يلزم توفير الفئة والتخزين. تعبر 5Gi وReadWriteOnce عن طلب لا سعة موفرة أونسخة أوقفل Pod.
فهم الأنماط دون افتراض قفل
تصف الأنماط ربطا أوتركيبا حسب التنفيذ. يشير ReadWriteOnce عادة لعقدة واحدة لا قفل Pod شامل، ولـReadWriteOncePod معنى أقوى بإعداد CSI مدعوم. لا يوفر أيهما عزل معاملات أوتنسيق كتاب. تفصل المصفوفة قاعدة الموضع وقيد التطبيق. تحقق من المحرك والنظام والمنصة والإصدار قبل التعافي؛ فلا تجعل ملفات مشتركة كتابا مستقلين متسقين تلقائيا.
property supplied by
node attachment constraints storage driver and volume policy
transaction correctness application and database
restorable historical copy verified backup process
replacement identity workload controller
credential protection access and secret controls
لكل ضمان مالك مختلف ولا يحقق التخزين المستمر المعاملات والنسخ والهوية والوصول تلقائيا.
مراجعة طوبولوجيا الربط والحذف
قد يقيد التخزين موضع Pod ويراعي الربط المؤجل الجدولة. تفسر المنطقة والألفة والنمط والسعة الانتظار. تضبط سياسة الاسترجاع مصير الحجم بعد التحرير حسب النوع والمزود، وقد يكون الحذف غير قابل للعكس. لا تعني Retain نسخة كاملة أوتعافيا تلقائيا. حدد الملكية واللقطات والمفاتيح والسلوك والاستعادة قبل الحذف أوالنقل. لا تحذف مطالبة لإزالة حالة مجهولة.
التحقق من الاستعادة عند التطبيق
تفيد اللقطات والتماثل مع نطاق اتساق واحتفاظ ومفاتيح واستعادة مختبرة. لا يثبت كائن لقطة تطبيقا قابلا للاستعادة. افحص المخطط والعلاقات والعمليات والآثار في عزلة مصرح بها. لا تستبدل هوية StatefulSet وربطها النسخ والعزل. سجل الافتراضات مع الإصدار والسعة؛ فالتوسع والاستبدال يعتمدان عليها. الأمثلة تصريحات وسجلات ولا تغير جهازا أوملفا أوقاعدة أومطالبة أولقطة أوبيانات.
الأخطاء الشائعة وإصلاحها
يُعد ReadWriteOnce ضمان كاتب واحد
- لماذا يحدث؟
- اختلط وصول العقدة بقفل التطبيق.
- كيف تصلحه؟
- راجع المحرك وتنسيق الكتابة الصريح.
- كيف تتجنب تكراره؟
- اختبر التعافي والتزامن بأمان.
يدمر حذف المطالبة بيانات مهمة
- لماذا يحدث؟
- لم تراجع السياسة وآثار الخلفية.
- كيف تصلحه؟
- استخدم الاستعادة المعتمدة واحفظ الدليل.
- كيف تتجنب تكراره؟
- اطلب ملكية ونسخا متحققا منها قبل الحذف.
لا تجدول Pod مع تخزين مربوط
- لماذا يحدث؟
- تتعارض طوبولوجيا التخزين وقيود العقدة.
- كيف تصلحه؟
- قارن الألفة والمناطق ودليل الجدولة.
- كيف تتجنب تكراره؟
- خطط الطوبولوجيا والربط معا.
اختبر فهمك
1. تعاد حاوية داخل Pod القائمة. هل تحذف emptyDir بالضرورة؟
اعرض الحل المشروح
لا؛ ترتبط بحياة Pod لا كل حاوية، وينهي استبدال Pod حياتها. لا يجعلها ذلك النسخة الوحيدة المناسبة للبيانات الدائمة.
2. تطلب PVC فئة غائبة. هل تخفف فحوص التطبيق؟
اعرض الحل المشروح
لا؛ افحص التوفير والربط مع المالك. لا يستخدم التطبيق تخزينا لم يوفر. صحح الفئة أوعقد البيئة وتحقق من الربط قبل البدء أوالجاهزية.
أهم ما تعلمته
- طبقة كتابة الحاوية مؤقتة وليست مكان البيانات المهم الوحيد.
- تصف الأنماط ربطا أوتركيبا حسب التنفيذ.
- تفيد اللقطات والتماثل مع نطاق اتساق واحتفاظ ومفاتيح واستعادة مختبرة.