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

☸️ شرح Kubernetes

فهم فحوص الصحّة في Kubernetes: Liveness و Readiness

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

كيف يعرف Kubernetes أنّ حاويتك حيّة فعلًا وجاهزة لاستقبال الطلبات؟ عبر فحوص الصحّة (Probes). درس متوسّط يبني على الـ Pods.

المشكلة: «يعمل» لا يعني «سليم»

قد تكون العمليّة داخل الحاوية قائمة، لكنّها معلّقة أو غير جاهزة (تحمّل بياناتها بعد). لو أرسل Kubernetes الترافيك إليها في هذه الحالة، لفشلت الطلبات. نحتاج طريقةً ليتحقّق Kubernetes من الحالة الحقيقية.

فحص الحياة (Liveness Probe)

يجيب عن سؤال: هل الحاوية حيّة أم معلّقة؟ إن فشل فحص الحياة، يستنتج Kubernetes أنّ الحاوية عالقة فيعيد تشغيلها تلقائيًا. هذا يعالج التطبيقات التي «تتجمّد» دون أن تنهار.

فحص الجاهزية (Readiness Probe)

يجيب عن سؤال: هل الحاوية جاهزة لاستقبال الترافيك؟ إن فشل فحص الجاهزية، لا يعيد Kubernetes تشغيل الحاوية، بل يوقف إرسال الترافيك إليها مؤقّتًا (يزيلها من نقاط نهاية الخدمة) حتى تصبح جاهزة. مفيد أثناء الإقلاع أو التحميل المؤقّت.

apiVersion: v1
kind: Pod
metadata:
  name: web
spec:
  containers:
    - name: web
      image: nginx:1.27
      livenessProbe:
        httpGet:
          path: /healthz
          port: 80
        initialDelaySeconds: 5
        periodSeconds: 10
      readinessProbe:
        httpGet:
          path: /ready
          port: 80

الفرق الجوهري

LivenessReadiness
السؤالهل هي حيّة؟هل هي جاهزة؟
عند الفشلإعادة تشغيل الحاويةإيقاف الترافيك مؤقّتًا
يعالجالتطبيقات المعلّقةفترات عدم الجاهزية المؤقّتة

استخدامهما معًا يجعل نشرك أكثر صمودًا: لا ترافيك لحاوية غير جاهزة، وإعادة تشغيل تلقائية لحاوية عالقة.

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

الفحوص أساس التحديثات دون توقّف في الـ Deployment، وأساس التوسيع الآمن في HPA. راجع الـ Pods.

شرح فهم فحوص الصحّة في Kubernetes: Liveness و Readiness — Kubernetes بالعربي
فهم فحوص الصحّة في Kubernetes: Liveness و ReadinessKubernetes بالعربي · The Code Fix

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