واجهت مشكلة اليوم أثناء ترقية تثبيت يتكون من حاويتين. أدى تهيئة حاوية جديدة إلى نقل قاعدة البيانات إلى حالة معطلة (ربما لم يكن ذلك ليحدث لو استخدمت SKIP_POST_DEPLOYMENT_MIGRATIONS=1، لكن هذه قضية أخرى)، مما جعل الحاوية النشطة تعرض رسالة “أوه، هذا الموقع معطوب”.
هذا الأمر متوقع، لكن مراقبي يتحقق من /srv/status ويعيد ببساطة حالة OK حتى عندما يكون رايلز معطلاً بشكل كبير.
هل هذا خطأ برمجي؟ أريد حقًا أن تعرف مراقباتي إذا كانت هناك مشكلة، فهل يجب علي بدلاً من ذلك استرجاع شيء آخر مثل /about.json (للمواقع التي لا تتطلب تسجيل الدخول)؟
يُفحص نقطة النهاية /srv/statusفقط العملية المحلية، وليس أي اعتمادات. “هل كومة HTTP عالقة؟”، بالإضافة إلى “هل أنا في وضع البطء؟”. في مصطلحات Kubernetes، هذا هو livenessProbe، وليس readinessProbe.
إذا أردنا إدخال readinessProbe، فيجب أن يكون موجودًا في عنوان URL مختلف.