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

☸️ شرح Kubernetes

ما هو الـ DaemonSet في Kubernetes؟

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

بعض المهامّ لا تحتاج «عددًا» من النسخ، بل نسخةً على كل عقدة. لهذا وُجد الـ DaemonSet. درس متوسّط يبني على معمارية العُقد.

ما هو الـ DaemonSet؟

الـ DaemonSet كائن يضمن تشغيل نسخة واحدة من الـ Pod على كل عقدة في العنقود (أو على مجموعة عقد تختارها). حين تُضاف عقدة جديدة، يشغّل عليها نسخته تلقائيًا؛ وحين تُزال عقدة، تُزال نسختها معها.

بينما يهتمّ الـ Deployment بـ«كم نسخة نريد إجمالًا؟»، يهتمّ الـ DaemonSet بـ«نسخة على كل عقدة».

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: log-agent
spec:
  selector:
    matchLabels:
      app: log-agent
  template:
    metadata:
      labels:
        app: log-agent
    spec:
      containers:
        - name: agent
          image: fluent-bit:3.1

حالات الاستخدام

DaemonSet مثاليّ للمهامّ التي يجب أن تعمل على مستوى كل عقدة:

  • جمع السجلّات (Logging): وكيل على كل عقدة يجمع سجلّات حاوياتها.
  • المراقبة (Monitoring): وكيل يجمع مقاييس العقدة (المعالج، الذاكرة، القرص).
  • الشبكة والتخزين: مكوّنات بنية تحتية تحتاج الحضور على كل عقدة.

DaemonSet مقابل Deployment

DeploymentDaemonSet
عدد النسختحدّده أنتواحدة لكل عقدة
التوزيعيوزّعها المُجدوِلواحدة على كل عقدة حكمًا
الاستخدامتطبيقات المستخدموكلاء على مستوى العقدة

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

بعد أنواع الأحمال، ستتعرّف على التوسيع التلقائي عبر التوسيع الأفقي للـ Pods، وضمان صحّة الحاويات عبر فحوص الصحّة.

شرح ما هو الـ DaemonSet في Kubernetes؟ — Kubernetes بالعربي
ما هو الـ DaemonSet في Kubernetes؟Kubernetes بالعربي · The Code Fix

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