Ali Baghery
Ali Baghery
خواندن ۱ دقیقه·۲ سال پیش

Observability in kubernetes

توی برنامه های میکروسرویس پیدا کردن ارتباط بین سرویس ها و اینکه کدام سرویس ها با کدام سرویس ها ارتباط داشته چقدر ترافیک ارسال کرده ترفیک ورودی یا خروجی هر پاد به کجاها بوده در محیط های پروداکشن یکی از موارد حیاتی است.

kiali istio
kiali istio

چندین راه حل برای این مورد موجود است:

۱- استفاده از Mesh سرویس مثل Istio و فعال کردن متریک پرومتیوس و گرافانا

۲- استفاده از calico و Network visibilityکه فقط درنسخه Enteprise وجود دارد

۳ استفاده از Hubbleدر cilium(حدود ۲۰ تا ۲۵ درصد از پرفورمنس کوبرنتیز رو کاهش میده)

۴- استفاده از Netflowدر کوبرنتیز که برای مورد ما فقط ۱ کور پردازنده مصرف کرد و از نظر مصرف منابع بسیار بهینه است.

Cilium Hubble
Cilium Hubble

برنامه Netflow یک پروتکل مانیتورینگ برای شبکه است که توسط شرکت سیسکو سیستم طراحی شد و الان به صورت یک استاندارد درآمده است که شرکت ها ابزارهای متنوعی برای آن طراحی کرده اند. برنامه ipt-netflow در سطح کرنل کار میکند و میتواند ترافیک زیادی را هندل کند (هم pps, BPS) بدون اینکه منابع زیادی را مصرف کند. این کار به خاطر پروتکل Netflowاست که فقط اطلاعات هدر بسته ها را آنالیز میکند اتفاق می افتد.بنابراین هیچ دیتایی رد وبدل یا آنالیز نمی شود. فقط این برنامه رو روی همه ی نود هاتون باید نصب کنید و تنظیمات آن‌را انجام دهید.

برای کالکتور Netflowهم به نظرم از زبیکس استفاده کنید و اونو به گرافانا متصل کنید.



مهندس DevOpskubernetesبرنامه نویسیبرنامه نود
شاید از این پست‌ها خوشتان بیاید