TGViewer
DevTwitter | توییت برنامه نویسی DevTwitter | توییت برنامه نویسی @devtwitter · 32.3K subscribers
Post #12875 6.37K
یکی از مفاهیم جالب Kubernetes که معمولا درکش هم برای بار اول خیلی یجوریه و اذیت کنندس و باید چنتا سایت و داکیومنت رو خوند تا قشنگ فهمید موضوع Headless Service هستش و این که Service همیشه قرار نیست ترافیک رو بین Podها پخش کنه.

مثلا اگه سه تا Pod داشته باشیم که پشت یک Service قرار گرفته باشن، وقتی Application به اون Service وصل میشه، معمولا Service درخواست رو به یکی از Podها میرسونه.

ولی حالا ممکنه شرایطی پیش بیاد که Application بخواد IP تک تک Podها رو بدونه و مستقیم با هرکدوم یه ارتباطی برقرار کنه، مثلا توی بعضی سیستم‌ ها مثل کافکا یا clickhouse لازمه خب که اعضای خودشون رو بشناسن و با هر Node به‌صورت جداگانه ارتباط داشته باشن و ... که اینجا Service معمولی خیلی مناسب نیست.

یکی از راهاش اینه که بریم سراغ Kubernetes API و از اونجا لیست Podها و IPهاشون رو بگیریم بعد دونه دونه هرکار میخوایم بکنیم، ولی خب این یعنی Application ما باید Kubernetes رو بشناسه و مستقیم با API Server کار کنه.

راه تمیزترش میشه همون Headless Service .

توی حالت نرمال، DNS مربوط به یک Service، آدرس ClusterIP رو برمیگردونه، ولی وقتی Service رو Headless می‌کنیم، با نوشتن:

clusterIP: None

دیگه Kubernetes برای اون Service یک ClusterIP نمیذاره، بجاش وقتی Application از طریق DNS اون Service رو Lookup می‌کنه، DNS میتونه IP خود Podهای پشت Service رو برگردونه، حالا Application خودش تصمیم می‌گیره با کدوم Pod ارتباط برقرار کنه با یکی، چندتا یا همشون‌.

پس تفاوت مهمی که اینجا هست اینه که:

کوبر برای Service معمولی یه آیپی ثابت میده، خودشم یکی از Podها رو انتخاب میکنه و ...

ولی برای Headless Service دیگه Load Balancing انجام نمیده، آیپی Podهای پشت این Service رو بهمون میده، دیگه بقیش با خودمونه که چکار کنیم باهاش.

@DevTwitter | <S.M.Sadegh Raeeskarami/>
  • ❤ 25
  • 👍 7
  • 👎 1
More from @devtwitter
  1. Sep 30, 2026🔎 #وبینار عملی ریشه‌یابی خطا با Sentry 🔮 در وبینار «از گزارش خطای کاربر تا ریشه‌یابی مشک…
  2. Sep 30, 2026دوره‌ی Stanford درباره‌ی Transformers و LLMها در فصل جدید شروع شده دوره CME 295 از پایه‌ی…
  3. Sep 30, 2026تست‌های سنتی E2E شکننده‌اند؛ یک تغییر جزیی در CSS یا تایمینگ انیمیشن، کل CI/CD pipeline را…
  4. Sep 30, 2026این رایگانه و خیلی سرویس خفنیه. ایده اینه که آدرس هر سایتی که خواستی رو بهش بدی و این سروی…
  5. Sep 30, 2026شرکت امنیتی Group-IB یک بدافزار جاسوسی مبتنی بر تلگرام با نام HEAVYGRAM و یک ابزار مبتنی ب…
  6. Sep 30, 2026خیلی ناگهانی برای یه مسئله‌ای نیاز پیدا کردم که یه بروزر داشته باشم که هر وقت یه session ا…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →