کار kubernetes چیست؟ و چه زمانی نیاز می شود ؟ و با داکر چه ارتباطی دارد؟

kubernetes

#1

با درود خدمت شما . همیشه بحث های پایه و مورد نیاز برای کاربران تازه وارد در یک بحثی بسیار شیرین هست و خیلی هم استفاده می شود . به عنوان مثال ویژگی های داکر که باعث شد من پروژه خودم رو با اون برم جلو و خیلی از موارد رو یاد بگیرم ولی در بحث های دوستان به این نکته اشاره شد که kubernetes می تونه میکروسرویس های زیادی رو مدیریت کنه در دپلوی نمی دونم بهتره و همینطور می تونه اسکیل کردن رو خیلی خوب انجام بده .

من سریعا سرچ زدم :

اول وارد این سایت شدم به فارسی :

http://elastico.io/blog/what-is-kubernetes-why-need-it.html

ولی هیچی نفهمیدم دقیقا کجا استفاده می شه پس داکر چی می شه ؟

بعد یک ویدیو از یک سمیناری در دانشگاه تهران پیدا کردم در مورد همین موضوع که چهار ویدیو بود :


و

و

و

این ویدیو های بالا رو که دیدم بیشتر خوشم اومد و جذب شدم چون می گفت خیلی بهتر دپلوی می کنید و راحترید و همینطور امنیت بالا تر می ره و سرعت بارگذاری و … سرور هم اوکی می شه و همینطور می گفت می تونی از یک سیستم چندین نوع بیاری بالا و اگر مشکلی خورد و نیومد خودش ریست می کنه و اگر نکرد می یاد از اون مثلا node دوتا ساختید دومی رو می یاره بالا

حالا سوال های من این ها هستند :

۱. با داکر چه فرقی می کنه ؟
۲. این همه پروژه من روی داکر و سورس هام چی می شه؟
۳. چه زمانی نیاز داریم به استفاده ازش؟
۴. به زبان ساده در کل این مورد چیست؟


#2

به زبان ساده، داکر رو برای یه اپلیکشن استفاده می کنی اما Kub رو برای ساختن یه کلاستر الستیک از که می تونه هر اپلیکشن تو این کلاستر یکی یا تعداد بیشتری داکر کانتینر باشه.

هیچی این دو مغایرتی باهم ندارن. اگر اپ هات داکرابز شده هستند یه قدم جلویی.

زمانی که سیستمت از یه حدی بزرگتر شده و می خوای یه کلاستر هوشمند داشته باشی که سرویس هاتو به صورت الستیک روش ران کنی. (‌هزینش برای سیستم های کوچیک خیلی زیاده )

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

Kub خیلی بیش از این بحت ها هست.
من شخصا Apache Mesos رو بیشتر ترجیه می دم نسبت به Kub. اما kub رو می تونی روی Mesos هم ران کنی.
بد نیست یه نگاهی به Mesos و DC/OS هم بندازی.


#3

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

این بوده . منبع خوبی ویدیویی یا چیزی که سریع بشه یاد گرفت دارید ؟ داکر که خیلی برام طول کشید هنوز هم باز مشکل دارم خیلی


#4

اموزشی نگاه نکن بذار یه سری ویدئو درست درمون بدم ببینی


#5

#6

ممنون سمیر جان . آیا دلیل خاصی دارید برای ترجی دادن Mesos نسبت به kub?


#7

Mesos کلا یه مقدار low level تر هست و می تونی framework هاشو راحت خودت بنویسی که البته kub هم همچین امکانی داره اما زیاد استفاده نمی شه. خود kub یه فریم ورک هست واسه Mesos البته اگه بخوای رو Mesos رانش کنی.

با نوشتن فریم ورک می تونی کلاسترت رو هوشمند تر کنی . مثلا در مورد خودم با توجه به لودی که روی سیستم دارم فریمورک تصمیم می گیری که اتوماتیک کلاستر رو بزرگ تر کنه و سرویس های مورد نیاز رو اسکل آپ کنه. یا مثلا من یه سری ورکر دارم که اینا کدشون تو یه Jar چند مگابایتی نگه داری میشه بجای داکر ایمیج و یسری ورکر js هم دارم که بجای داکرایز کردن تو فریم ورکم یه executor تعریف کردم برای هر کدوم و بنا به نیاز این کد ها رو مستقیم رو کلاسترم اجرا می کنم و وقتی تموم شد reschedule می کنم دوباره.

یه مورد دیگه رابطه kub و گوگل هست یه وسواس شخصی هست.

DC/OS هم که یه توزیع روی Mesos هست که امکانات زیادی رو اضافه کرده. مثل پکیج منیجر که عالیه. با یه دستور یه کلاستر کامل kub یا cassandra یا kafka و خیلی چیزای دیگه میسازی اماده به خدمت


#8

یک سوال برای من پیش اومده . واقعا یک برنامه نویس فول استک امروز چقدر باید یاد بگیره . دیگه خسته شدیم :grin: به خدا . هر روز باید با چندین زبان و چندین فناوری و … کار کرد تازه تا بری یکی رو یاد بگیری یکی بهتر می یاد

واقعا من همینجا خسته نباشید می گم به همه دوستان . دمتون گرم کی شروع کردید که انقدر پیشرفت داشتید . واقعا دمتون گرم

و ممنون از سمیر عزیز و تشکر . بنده هم در مورد محصولی که گوگل می سازه همیشه شک دارم چون واقعا محصولاتش زیبان ولی ناقص


#9

کار ما اینجوریه دیگه. باید همیشه مطالعه داشته باشی. همییییییشه


#10

سمیر جان من یک جستجو کردم ولی نتونستم به یک حجمی اطلاعات برسم که بفهمم که پروژم بزرگ شده .

من در سیستمی که فعلن در حال نوشتن هستم ۱۲ تا میکروسرویس دارم که مستقل هستند فقط با شماره یونیک برای هر یوزر بهم متصل می شوند یا ممکنه سر شماره یونیک هر محصول .

آیا پروژه من بزرگ هست ؟ یا المانی برای بزرگ بودن پروژه و استفاده از این موارد وجود داره ؟


#11

بیشتر از لحاظ مالی به داستان نگاه کن. حداقل ۸ تا سرور برای راه اندازی یه کلاستر نیاز داری که عموما سرور ها هم باید قدرتمند باشن. مثلا ۶ گیگ رم و ۸ هسته پردازنده. حالا بسنج ببین آیا نیاز داری یا هنوز لودت انقدر زیاد نیست