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

☸️ شرح Kubernetes

Deployment مقابل StatefulSet مقابل DaemonSet: اختيار الحمل المناسب

الدرس 33 من 35· ⏱ 1 دقائق قراءة

Kubernetes يقدّم عدّة أنواع من الأحمال، واختيار الخطأ منها مصدر شائع للإرباك. هذه المقارنة توضّح متى تستخدم كلًّا منها. تبني على دروس Deployment وStatefulSet وDaemonSet.

السؤال الجوهري

يختلف الاختيار بحسب طبيعة تطبيقك: هل هو بلا حالة؟ هل يحتاج هويّة ثابتة؟ هل يجب أن يعمل على كل عقدة؟

جدول المقارنة

DeploymentStatefulSetDaemonSet
الاستخدامتطبيقات بلا حالةتطبيقات ذات حالةوكلاء على مستوى العقدة
هويّة الـ podsمجهولة متطابقةأسماء ترتيبية ثابتةواحدة لكل عقدة
التخزينعابر/مشتركمستقرّ لكل نسخةحسب الحاجة
عدد النسختحدّده أنتتحدّده أنت (بترتيب)واحدة لكل عقدة تلقائيًا
أمثلةخادم ويب، APIقاعدة بيانات، Kafkaجامع سجلّات، مراقبة

كيف تختار؟

  • Deployment: الخيار الافتراضي لمعظم التطبيقات. اختره ما لم يكن لديك سبب محدّد لغيره.
  • StatefulSet: حين يحتاج تطبيقك هويّةً شبكية ثابتة أو تخزينًا مستقرًّا لكل نسخة (قواعد البيانات الموزّعة).
  • DaemonSet: حين يجب أن تعمل نسخة على كل عقدة (وكلاء البنية التحتية للسجلّات والمراقبة والشبكة).

قاعدة سريعة

ابدأ دائمًا بالسؤال: هل تطبيقي بلا حالة؟ → Deployment. هل يحتاج حالةً وهويّة؟ → StatefulSet. هل هو وكيل يجب أن يغطّي كل عقدة؟ → DaemonSet.

الخطوات التالية

راجع كل نوع بعمق: Deployment، StatefulSet، DaemonSet.

شرح Deployment مقابل StatefulSet مقابل DaemonSet: اختيار الحمل المناسب — Kubernetes بالعربي
Deployment مقابل StatefulSet مقابل DaemonSet: اختيار الحمل المناسبKubernetes بالعربي · The Code Fix

هل كان هذا الدرس مفيدًا؟