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

☸️ شرح Kubernetes

كيف تشخّص Pod عالقًا في CrashLoopBackOff؟

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

CrashLoopBackOff من أشهر حالات Kubernetes المحيّرة للمبتدئين. لكنّها في الواقع رسالة واضحة إن عرفت قراءتها. درس تشخيص يبني على الـ Pods.

ماذا تعني الحالة؟

تعني أنّ الحاوية تبدأ ثمّ تنهار مرارًا، فيحاول Kubernetes إعادة تشغيلها بفواصل زمنية متزايدة (Back-off). أي أنّ المشكلة داخل حاويتك، لا في Kubernetes نفسه.

الخطوة 1: افحص الحالة والأحداث

kubectl get pods                 # تأكيد الحالة CrashLoopBackOff
kubectl describe pod <اسم-الـ pod>   # الأحداث (Events) في الأسفل غالبًا تكشف السبب

الخطوة 2: اقرأ سجلّات الحاوية

السجلّات هي المفتاح الأهمّ:

kubectl logs <اسم-الـ pod>
kubectl logs <اسم-الـ pod> --previous   # سجلّات المحاولة السابقة التي انهارت

--previous مهمّ: يعرض سجلّ الحاوية قبل آخر انهيار، حيث يظهر الخطأ الحقيقي غالبًا.

الأسباب الشائعة وحلولها

  1. خطأ في التطبيق: استثناء غير معالَج يُنهي العمليّة عند الإقلاع. الحلّ: أصلح الخطأ الظاهر في السجلّات.
  2. إعداد ناقص: متغيّر بيئة أو ملفّ إعداد مفقود يجعل التطبيق يفشل فورًا. الحلّ: وفّر الإعداد المطلوب.
  3. أمر تشغيل خاطئ: command/args غير صحيحة في التعريف. الحلّ: صحّحها.
  4. فحص حياة فاشل: فحص الحياة (Liveness) صارم جدًا فيعيد تشغيل حاوية سليمة. الحلّ: اضبط عتبات الفحص (initialDelaySeconds مثلًا).

منهجية التشخيص

describe لرؤية الأحداث → logs --previous لرؤية سبب الانهيار → أصلح السبب (كود/إعداد/أمر/فحص). الرسالة دائمًا في السجلّات.

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

لخطأ سحب الصور راجع إصلاح ImagePullBackOff، ولضبط الفحوص راجع فحوص الصحّة.

شرح كيف تشخّص Pod عالقًا في CrashLoopBackOff؟ — Kubernetes بالعربي
كيف تشخّص Pod عالقًا في CrashLoopBackOff؟Kubernetes بالعربي · The Code Fix

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