Databases و Backups
هل أشغل Database داخل Kubernetes؟
Section titled “هل أشغل Database داخل Kubernetes؟”الإجابة تعتمد على الفريق والخبرة والبيئة.
قد يكون مناسبا عندما:
- عندك خبرة في تشغيل قواعد البيانات.
- لديك Storage موثوق.
- لديك Backup و restore مجربين.
- تحتاج نفس نموذج النشر داخل Kubernetes.
وقد لا يكون مناسبا عندما:
- الفريق جديد تماما.
- لا توجد خطة Backup واضحة.
- Cloud provider يوفر managed database أسهل وأكثر أمانا.
StatefulSet للتطبيقات ذات الحالة
Section titled “StatefulSet للتطبيقات ذات الحالة”StatefulSet يعطي كل Pod:
- اسم ثابت.
- ترتيب ثابت.
- PVC خاص به.
هذا مهم للتطبيقات التي تحفظ بيانات أو تحتاج هوية ثابتة.
Backup
Section titled “Backup”Backup ليس ملفا فقط. يجب أن تختبر restore أيضا.
أسئلة مهمة:
- أين تحفظ النسخ الاحتياطية؟
- كم مرة تأخذ backup؟
- كم وقت تحتاج للرجوع؟
- هل جربت restore فعلا؟
- هل backup مشفر؟
VolumeSnapshot
Section titled “VolumeSnapshot”في بيئات تدعم CSI snapshots، يمكن استخدام VolumeSnapshot لأخذ snapshot من PVC. الدعم يعتمد على storage provider.
Lab مقترح
Section titled “Lab مقترح”Lab: PostgreSQL مع PVC
الهدف: تشغيل قاعدة بيانات بسيطة والتأكد أن البيانات تبقى بعد حذف Pod.
- أنشئ Secret لكلمة مرور PostgreSQL.
- أنشئ PVC.
- شغل PostgreSQL كـ StatefulSet أو Deployment للتعلم.
- أنشئ جدول بسيط.
- احذف Pod وانتظر عودته.
- تأكد أن الجدول ما زال موجودا.
معيار الإتقان
Section titled “معيار الإتقان”لا تعتبر أن قاعدة البيانات جاهزة للإنتاج إلا إذا كان عندك restore ناجح ومكتوب الخطوات.