nima hodhodi
nima hodhodi
خواندن ۱ دقیقه·۲ ماه پیش

LivenessProbe و ReadinessProbe در کوبرنتیز

رای آگاهی از وضعیت کانتینرهای داخل یک پاد بر روی کلاستر کوبرنتیز از دو مفهوم LivenessProbe و  ReadinessProbe میتونیم استفاده کنیم.
با استفاده از این مکانیزم و این Probe ها کلاستر کوبرنتیز میتونه تشخیص بده که آیا کانتینر آماده سرویس دهی هست یا خیر و همچنین آیا کانتینر سالمه یا نه !

LivenessProbe

بررسی می‌کنه که آیا کانتینر زنده است یا خیر. اگر این پروب ناموفق باشه ، یعنی کانتینر دچار مشکل شده و Kubernetes  باید کانتینر را ری‌استارت کنه.
زمانی به کار میاد که کانتینر به هر دلیلی Crash کرده  و نیاز به ریستارت داره.

Readiness Probe

بررسی میکنه آیا کانتینر آماده سرویس دهی هست و ترافیک شبکه رو قبول میکنه یا نه. اگر این Probe موفق نباشه ، ترافیک به سمت کانتینر ارسال نمیشه.
برای زمانی که کانتینر هنوز در حال شروعه یا به دلایلی (مثل لود شدن یکسری داده‌ها) هنوز آماده نیست که درخواست‌ها را پاسخ بده. با استفاده از این پروب، Kubernetes می‌تونه تصمیم بگیره که آیا این کانتینر را به لیست کانتینرهای آماده اضافه کنه یا نه.

پروب‌ها به سه روش قابل بررسی هستند :

HttpRequest :  ارسال درخواست HTTP به یک آدرس مشخص در کانتینر (میتونیم API برای Healthcheck بنویسیم)
TCP Socker : بررسی کنیم که پورت مشخصی روی کانتینر بالا هست یا نه و درواقع TCP Connection باز میشه یا نه.
Command Execution : اجرای یک دستور مشخص در کانتینر و بررسی وضعیت خروجی (مثلا ببینیم پروسه مورد نظرمون اجرا شده یا نه ps -aux | grep myprocess )

livenessprobe readinessprobekubernetesdockerdevops
متخصص حوزه ی مجازی سازی که به DevOps به اجبار علاقمند شد ...
شاید از این پست‌ها خوشتان بیاید