کلاد

کوبرنتیز (Kubernetes) چیست و رابطه آن با داکر

اگر اینجایید احتمالا به این خاطر است که واژه کوبرنتیز ذهنتان را حسابی مشغول کرده است، آیا مایلید در مورد کوبرنتیز بیشتر بدانید؟ تبریک میگویم به جای درستی امده اید. کوبرنتیز در حال حاضر بازار کار خوبی دارد و صاحبان کسب و کار دنبال افرادی هستند که این سامانه را بشناسند، در این صفحه پرسش و پاسخ و حقایقی را در مورد Kubernetes با هم مرور میکنیم.

قبل از اینکه کوبرنتیز را معرفی کنیم ابتدا باید با چند چیز اشنا شوید.

چالش ها

فرض کنید شما یک برنامه کوچک درست کرده اید. آن را تکمیل کرده اید و می خواهید دیگران از برنامه استفاده کنند. چگونه و کجا آن را آپلود  میکنید تا دیگران بتوانند از آن استفاده کنند؟؟ به احتمال زیاد، شما آن را در یک میزبان وب مشترک (سرور) ذخیره می کنید. به فضای زیادی احتیاج ندارید و خریدن یک سرور مخصوص به کار نیز بسیار پر هزینه است.

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

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

راه حل:

می توانید برنامه خود را در یک کانتینر (container) جمع کنید.

کانتینرها> کانتینرها منابعی به آنها اختصاص داده شده است که هیچ فرآیند دیگری نمی تواند به آن دسترسی داشته باشد و در صورت عدم اجازه، آنها همچنین به هیچ منبعی از خارج دسترسی ندارند.

Docker > سیستم کانتینر : مطمعنا شاید در جایی قبلا در مورد داکر شنیده باشید. بسیار محبوب است و هنوز هم پرکاربردترین گزینه برای ساخت کانتینر ها است. داکر یکی سری  خدمات پلتفرم به عنوان سرویس است، با Docker می توانید تمام منابع خود را در یک جا جمع کنید که به آن Docker Image گفته می شود، به این شکل قابلیت حمل بیشتری میابد

یک ایمیج کانتینر Docker نرم افزاری سبک ، مستقل و قابل اجرا (همچنین قابل حمل) است که شامل همه چیز لازم برای اجرای یک برنامه است: ران تایم (runtime) ، زمان اجرا ، کتابخانه های سیستم و تنظیمات:

این ایمیجها به کانتینر تبدیل شده وقتی بر روی موتور داکر (داکر انجین) اجرا میشوند ، به همین دلیل کانتینر داکر می توانند روی هر سیستمی عامل کار کد و از منظر امنیت هم کاملا امن هستند.

بنابراین داکر مشکلات زیادی را حل و فصل میکند و هم اکنون شرکت های بزرگی از Docker استفاده می کنند.

بیایید به برنامه ای که ساخته اید برگردیم ، بنابراین آنرا با Docker مخلوط کردید و به خوبی کار میکند، کانتینر های زیادی درون یک کانتینر وجود دارد .بنابراین تعداد کانتینر ها زیاد است اما با کمک داکر امن و قابل حمل هستند. اکنون اگر بخواهید برنامه خود را به روز رسانی کنید ، چگونه می توانید بدون هیچگونه وقفه ای در سرویس این کار را انجام دهید؟

چگونه می دانید برنامه شما به روشی که میخواهید و قرار است کار کند، کار می کند؟ یا اگر می خواهید نسخه کتابخانه مورد استفاده در برنامه خود را تغییر دهید ، چگونه می خواهید این کار را انجام دهید و ان را مدیریت کنید؟

راه حل :
راحل حل شما استفاده از کوبرنتیز است.

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

Kubernetes چیست؟

Kubernetes یک موتور ارکستراسیون کانتینر منبع باز برای اوتوماتیک سازی استقرار ، مقیاس گذاری و مدیریت  کانتینر های داکر است.
با این حال ، موتور ارکستراسیون کانتینر مانند یک مفهوم پیچیده به نظر می رسد اما فقط کلمه ارکستراسیون این مسئله را پیچیده می کند.

ارکستراسیون به معنای ‘برنامه ریزی یا هماهنگی عناصر (یک موقعیت) برای تولید اثر مورد نظر است. __Google Translate

نکته کلیدی: Kubernetes به مهندسان و برنامه نوئسان کمک می كند تا این بسته های گسسته کانتینر را در محیط بزرگتر نظارت كنند ، مدیریت كنند و هماهنگ كنند. با Kubernetes ، پاسخ به خرابی ها ، مدیریت پیکربندی برنامه ها و به روزرسانی برنامه ها همه می تواند به صورت خودکار انجام شود.

What is Kubernetes / کوبرنیتز چیست؟
کوبرنتیز و داکر به صورت تنگاتنگی در ارتباط هستند

چه زمانی ساخته شد و چه کسی ان را ساخته است؟

توسعه دهندگان گوگل،  Borg را ساختند تا برنامه های جدید آنها را در شبکه سرورهای توزیع شده در سراسر جهان مستقر کند. بعدا از اینکه borg مفید واقع میشود آنها (گوگل)، یک پروژه منبع باز را از Borg با نام Project-Seven ساختند که بعداً به آن نسخه Kubernetes نسخه 1.0 گفته نام گرفت. گوگل Kubernetes را به عنوان یک پروژه منبع باز در سال 2014 معرفی کرد. طی یک هفته اول، اولین commit در Github ارسال شد ، بعد از آن بسیاری از شرکت های شناخته شده فناوری و شرکت های متن باز سریع به این پروژه پیوستند.

Kubernetes توسط CNCF (بنیاد رایانش ابری ) پشتیبانی می شود که توسط غول های فناوری مانند مایکروسافت ، ابر علی بابا (Alibaba cloud) و آمازون پشتیبانی می شود.

بنابراین Kubernetes بازی کودکانه نیست و یک راه حل بسیار کارآمد در سطح enterprise است.

چرا کوبرنتس؟

کانتینرها استقرار برنامه هارا اسان میکنند ، اما با افزایش کانتینر ، مدیریت و نظم دهی به انها بسیار سخت است و بدون ابزاری مانند Kubernetes امکان پذیر نیست. این برنامه به شما امکان می دهد برنامه های پیچیده کانتینر شده را تعریف کنید ، و برنامه را می توان به راحتی از سیستم ها و سرور های محلی به ابر منتقل کرد.

Container کوچکترین چیز در Kubernetes است ، مانند اتم ها. یک ظرف واحد به یک ظرف (کانتینر) گفته می شود و بیش از یک ظرف که به صورت خوشه ای (کلاستر) طبقه بندی شده و در حال اجرا است غلاف (pod) نامیده می شود. این غلاف ها حافظه و شبکه خود را با پیکربندی Kubernetes به اشتراک می گذارند. هر غلاف دارای آدرس IP منحصر به فرد خود با غلافهایی است که می توانند با سایر غلافهای موجود در خوشه ارتباط برقرار کنند.
کانتینرها شبیه به VM ها هستند ، اما آنها ویژگی های ایزوله سازی آرام را برای به اشتراک گذاشتن سیستم عامل (OS) در میان برنامه ها دارند. بنابراین ، کانتینر ها بسیار سبک و لایت محسوب می شوند. مشابه یک VM ، یک کانتینر سیستم فایل ، CPU ، حافظه ، فضای پردازش و موارد خاص خود را دارد. از آنجا که از زیرساخت های زیرین جدا می شوند ، قابل حمل در میان ابرها و سیستم عامل ها هستند.

کانتینرها محبوب هستند زیرا مزایای زیادی دارند

  • ایجاد و استقرار سریع نرم افزار : افزایش سهولت و کارآیی ایجاد ایمیج کانتینر نسبت به استفاده از VM (ماشین مجازی).
  • توسعه ، ادغام و استقرار مداوم: ساخت و استقرار ایمیج کانتینر به صورت مکر رو بدون دردسر و همچنن قابلیت رول بک کردن ان (به دلیل تغییرپذیری ایمیج) را فراهم می کند.
  • نظارت:رصد نه تنها اطلاعات و معیارهای مربوط به سطح OS بلکه سطح سلامت برنامه و موارد دیگر را نیز میتوان با کانتینر انجام داد.
  • سازگاری محیطی در سراسر مراحل توسعه ، آزمایش و تولید: همانطور که روی ابر اجرا میشود روی لپ تاپ نیز اجرا می شود.
  • توزیع ابری قابل حمل و مناسب برای عموم سیستم عامل ها : در اوبونتو ، RHEL ، CoreOS موتور Google Kubernetes و هر جای دیگر اجرا می شود.
  • خدمات توزیع شده ، الاستیک و آزاد: برنامه های کاربردی به قطعات کوچکتر و مستقل شکسته می شوند و می توانند بصورت داینامیکی مستقر و مدیریت شوند – نه یک برنامه روی هم جمع شده که بر روی یک سیستم بزرگ کار می کند.
  • استفاده از منابع: راندمان بالا تر و مصرف کمتر منابع.

 

نظر شما چیست؟
در این مقاله با مفهوم داکر و کوبرنیتز اشنا شدید، ایا تجربه استفاده از آن را دارید؟ نظر شما در مورد کانتینرها چیست؟  لطفا اگر سوال یا نظری دارید در قسمت زیر بفرستید .همینطور از هر گونه انتقاد جهت بهتر شدن مقالات  سایت استقبال میکنیم.

این مطلب رو چه قدر دوست داشتی؟
[تعداد: 2 میانگین رای: 4]
برچسب ها

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

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

دکمه بازگشت به بالا
بستن