آموزش kubernetes

آموزش Kubernetes – قسمت چهارم

همونطور که در قسمت سوم آموزش Kubernetes بهتون گفتم Pod ها موجودیت هایی موقت هستن و اگر به هر دلیلی که قبلا گفتم استاپ بشن، به طور خودکار اسکژول و دوباره اجرا نمیشن و کلا مکانیزم self-healing ندارن و به همین خاطر از اونها به طور مستقیم استفاده نمیکنیم. در این قسمت قصد دارم در مورد چندتا موجودیت Workload ای دیگه که از اونها برای استقرار برنامه هامون استفاده میکنیم صحبت کنم تا با نحوه استقرار برنامه ها در کوبرنتیز بیشتر آشنا بشید.

 

آشنایی با ReplicationController:

این موجودیت که یک controller مدیریت Pod بحساب میاد، تعداد Replica مورد نیاز برنامه یا Pod رو به عنوان معیار دسترس پذیری میگیره و تضمین میکنه همیشه به تعداد گفته شده از Pod های مورد نظر نمونه(Instance) در حال اجرا باشه. با استفاده از این کنترلر هر زمان که Pod ای استاپ یا از دسترس خارج بشه، به طور خودکار دوباره اسکژول و به اجرا در میاد تا تعداد نمونه در حال اجرا با تعداد گفته شده برابر باشه. اینکه چطور تعداد نمونه در حال اجرای چه Pod هایی رو کنترل کنه، توسط دو پارامتر Selector و Template و با قرار دادن Label های مشخصی کارش رو انجام میده. از این کنترلر معمولا برای استقرار برنامه های Stateless استفاده میکنیم.

kubernetes replication controller

تصویر بالا یک نمونه ReplicationController با Replicas=3 رو نشون میده که Pod ای با Template خاص و Label ای مشخص(به رنگ قرمز جهت بیان مفهوم) رو انتخاب کرده و کنترل میکنه که همیشه 3 نمونه از اون در حال اجرا باشه و در صورت استاپ شدن هر کدوم از این Pod ها به طور خودکار دوباره Pod رو اسکژول و اجرا میکنه. در نسخه های اخیر کوبرنتیز با اومدن موجودیت جدید ReplicaSet این موجودیت منسوخ شده و دیگه ازش استفاده نمیکنیم.

 

آشنایی با ReplicaSet:

این موجودیت مدیریت Workload ها، یک controller دیگه مثل ReplicationController میمونه که در بخش Selector بجای انتخاب Labels به صورت ساده(Equality) میشه از پترن های پیشرفته تر و مجموعه(Set) استفاده کرد که به همین دلیل هم اسمش ReplicaSet هست. عملکرد ReplicaSet دقیقا مثل ReplicationController میمونه و در حال حاضر به عنوان جایگزین اون مورد استفاده قرار میگیره. جالبه بدونید با اومدن موجودیت جدید Deployment در کوبرنتیز دیگه به صورت مستقیم از ReplicaSet هم استفاده نمیکنیم و برنامه های Stateless رو با استفاده از Deployment مستقر خواهیم کرد. به صورت کلی معمولا وقتی با این موجودیت سروکار داریم که یا در حال خطایابی هستیم یا فقط میخوایم بخشی از Deployment رو بروز کنیم.

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

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

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

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

18

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

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