آموزش kubernetes

آموزش Kubernetes – قسمت سوم

تو این قسمت از آموزش Kubernetes قصد دارم در مورد Workload های کوبرنتیز صحبت کنم. اگر به صورت خلاصه بخوایم بدونیم Workload چیه؟ به “برنامه در حال اجرا روی کوبرنتیز” Workload میگیم. اما اگر کمی عمیق به این موضوع نگاه کنیم، کوبرنتیز پلتفرمی برای مدیریت کانتینر ها است و هر Task یا Service ای که در این پلتفرم به اجرای یک کانتینر ختم بشه رو Workload میگیم. توجه داشته باشید که ما در کوبرنتیز موجودیتی به اسم Workload نداریم و در واقع Workload مفهومی است که به اجرای کانتینر، اجرای پردازه و شروع پردازش توسط CPU اشاره میکنه.

 

آشنایی با Pod و کاربرد آن:

ابتدایی ترین Workload در کوبرنتیز Pod نام داره. Pod یک موجودیت Atomic هست که یک یا چند Container در اون اجرا میشن. شبکه و ذخیره سازی کانتینرهای یک Pod به صورت مشترک هست و فقط در بحث cgroups و بعضی namespace ها از یکدیگر جدا و ایزوله هستن. در یک Pod میتونیم بی نهایت کانتینر داشته باشیم ولی بهترین حالت اینه که در هر Pod فقط یک Container تعریف بشه تا مدیریت و کنترل اون راحتتر صورت بگیره. البته موارد پیشرفته تری هم مثل init container, data container یا sidecar ها هم هستن که لازم میشه بیشتر از یک کانتینر در یک Pod تعریف کنیم که فعلا خارج از بحث این آموزش هست.

در محیط های پروداکشن ما به صورت مستقیم Pod ها رو ایجاد نمیکنیم و این وظیفه رو به Controller ها که جلوتر در موردشون میگم میسپاریم چرا که Pod ها موجودیت هایی موقت(Ephemeral) و از بین رفتنی(Disposable) هستن. Pod ها دارای طول عمر محدودی هستن و اگر:

  • کارشون تموم بشه
  • حذف بشن
  • به خاطر کمبود منابع از یک نود خارج بشن
  • نود از دسترس خارج بشه

از بین میرن و غیرقابل بازیابی هستند. توجه داشته باشید که Pod یک پردازه نیست، یک محیط برای اجرای کانتینر هست و تا زمانی که پاک نشه به صورت یک موجودیت Atomic به کارش ادامه میده، در نتیجه: ری استارت شدن Pod با ری استارت شدن Container رو باهم اشتباه نگیرید.

نکته: در صورتی که Pod به هر دلیلی مجبور به ری استارت بشه، تمام محتوای تغییر کرده در کانتینرهای اون هم از بین میره. پس دقت داشته باشید که اگر قرار هست داده ای در کانتینرها ذخیره بشه(مثل: دیتابیس) حتما از Persistent Volume ها استفاده کنید.

نکته: از اونجایی که Pod موجودیت موقتی هست، دارای مکانیزم self-healing نیست.

به پایان قسمت سوم رسیدیم.

در قسمت بعد آموزش Kubernetes بقیه موجودیت هارو براتون توضیح میدم.

با کامنت کردن نظراتتون به بهبود نوشته ها کمک کنید.

موفق و پیروز باشید.

8

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *