تخطَّ إلى المحتوى

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 ليس ملفا فقط. يجب أن تختبر restore أيضا.

أسئلة مهمة:

  • أين تحفظ النسخ الاحتياطية؟
  • كم مرة تأخذ backup؟
  • كم وقت تحتاج للرجوع؟
  • هل جربت restore فعلا؟
  • هل backup مشفر؟

في بيئات تدعم CSI snapshots، يمكن استخدام VolumeSnapshot لأخذ snapshot من PVC. الدعم يعتمد على storage provider.

Lab: PostgreSQL مع PVC

المستوى: مبتدئ الوقت: 45 دقيقة الأدوات: kubectl

الهدف: تشغيل قاعدة بيانات بسيطة والتأكد أن البيانات تبقى بعد حذف Pod.

  1. أنشئ Secret لكلمة مرور PostgreSQL.
  2. أنشئ PVC.
  3. شغل PostgreSQL كـ StatefulSet أو Deployment للتعلم.
  4. أنشئ جدول بسيط.
  5. احذف Pod وانتظر عودته.
  6. تأكد أن الجدول ما زال موجودا.

لا تعتبر أن قاعدة البيانات جاهزة للإنتاج إلا إذا كان عندك restore ناجح ومكتوب الخطوات.