توسعهداکرهمه

kubernetes چیست ؛ مفاهیمی جامع درمورد کوبرنتیز

کوبرنتیز Kubernetes چیست ؟ کوبرنتیز یک پلتفرم قابل نصب و اجرا روی سیستم عامل های مختلف (portable)، با قابلیت های فراوان است که دراختیار همه می باشد و دسترسی به آن نیز برای همه میسر است(opensource) . این پلتفرم برای مدیریت بار (load) و سرویس های کانتینر استفاده می شود و کار configuration declarative و خودکار سازی (automation) را آسان می کند. برای دانستن چگونگی انتقال VM ها به کوبرنتیز(Kubernetes) به این مقاله رجوع کنید.

کوبرنیتز چیست

مفهوم کوبرنتیز Kubernetes چیست؟

کوبرنتیز (Kubernetes) که اولین بار توسط گوگل ارائه شد، حاصل پانزده سال تجربه کاری گوگل در زمینه مدیریت حجم و میزان کار (workload) می باشد. کوبرنیتز (Kubernetes) دارای یک اکوسیستم بزرگ و در حال رشد و پیشرفت است که سرویس های مختلف، ابزار ها و پشتیبانی از سیستم های متنوعی را در اختیار ما قرار می دهد.

با توسعه و پیشرفت علم در حوزه IT، بسیاری از تکنولوژی ها ی موجود به روز شده و امکان انجام کارهای همیشگی از طرق دیگر و با صرف زمان، هزینه، منابع و انرژی کمتر میسر شده است. یکی از همین تکنولوژیِ ها  کوبرنتیز (Kubernetes) است که امکانات زیادی را برای ماشین های مجازی به ارمغان آورده است.

در گذشته سازمان ها برنامه های (application) خود را روی سرور های فیزیکی اجرا می کردند و به این دلیل دچار مشکلاتی در تخصیص منابع به برنامه ها می شد. بعد ها با راهکار مجازی سازی امکان اجرا ی چندین ماشین مجازی VM رو ی یک پردازنده سرور فیزیکی فراهم شد.

با گذشت زمان دنیای تکنولوژی جایگزینی بهتر برای VM ها ارائه کرد که آن کانتینر (container) بود. کانتینر سیستمی سبک است که همانند ماشین مجازی، filesystem، CPU، مموری (memory)، فضای پردازش و موارد خاص خود را نیز به همراه دارد. کانتینر ها شباهت بسیاری به VM ها دارند اما مزایای آنها بیشتر است.
کوبرنتیز (Kubernetes) در میان ابر ها (clouds) و OS Distribution قابل انتقال (portable) می باشد.

قابلیت های کوبرنیتز چیست ؟

قابلیت های کوبرنیتز

 

۱. تنظیم کنندگی فضای ذخیره سازی (Storge Orchestration)

کوبرنتیز (Kubernetes) شما را قادر می ساز تا به طور خودکار سیستم ذخیره سازی مورد نظر خود را مانند فضای ذخیره سازی محلی (Local Storage)، ابر عمومی ساز (Public Cloud Provider) و موارد دیگر را نصب نمایید.

متوازن کردن بار (Load Balancing) و سرویس یابی (Service Discovery) با استفاده از کوبرنتیز (Kubernetes) می توان یک کانتینر را به وسیله ی IP address یا Name DNS نمایش داد. اگر ترافیک یک کانتینر زیاد شود، کوبرنتیز (Kubernetes) می تواند کار متوازن کردن بار یا همان Load Balancing را انجام دهد و برای سبک شدن ترافیک شبکه آن را توزیع کند تا استقرار پایدار و stable باشد.

Automated Rollbacks and Rollouts. ۲

کوبرنیتز (Kubernetes) می تواند وضعیت مورد نظر برای کانتینر مستقر شده را شرح داده و وضعیت موجود را به دلخواه ما تغییر دهد. همچنین  کوبرنیتز (Kubernetes) قابلیت این را دارد تا کانتینر های جدید برای استقرار ایجاد کرده، منابع را به آن اختصاص داده و کانتینر های موجود را حذف نماید.

۳. خود ترمیمی (Self-healing)

با داشتن این قابلیت کوبرنتیز (Kubernetes) ، کانتینر ها ی fail شده را مجددا راه اندازی و جایگزین کرده، همینطور کانتینر هایی را که به درستی کار نمی کنند خاموش می نماید.

۴. Automated Bin Packing

این بدین معنا می باشد که می توانیم به کوبرنتیز کلاستر (cluster) یا خوشه ای از نود (node) ها را بدهیم تا از این طریق بتواند کار های مربوط به کانتینریزه کردن (Containerized Tasks) را انجام دهد. همچنین می توان هر مقدار CPU و حافظه (RAM) که کانتینر نیاز داشته باشد را به وسیله ی  کوبرنتیز (Kubernetes) فراهم کرد، چرا که کوبرنتیز (Kubernetes) آماده ی اجرا ی دستورات شماست.

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

۵. امنیت بالای کوبرنتیز

با استفاده از کوبرنتیز(Kubernetes) می توان اطلاعات مهم، مانند Tokens OAuth، Passwords و SSH keys را ذخیره و مدیریت کرد. علاوه بر این می توان کانفیگ برنامه هایی که مهم و محرمانه هستند را بدون نیاز به باز سازی container images مستقر و به روز رسانی نمایید.

 

کوبرنتیز وارد عمل می شود

آموزش کوبرنتیز

 

حالتی را تصور کنید که شما با استقاده از داکر (docker) کانتینر های زیادی درون یک کانتینر ساخته اید و برنامه های خود را توزیع و دسته بندی کرده اید. حال اگر بخواهید برنامه خود را به روز رسانی کنید، چگونه می توانید بدون ایجاد هیچ وقفه ای در سرویس این کار را انجام دهید؟ چگونه خواهید فهمید برنامه ی شما به روش مورد نظر تان و آن گونه که انتظار می رود کار می کند؟ یا اگر قصد تغییر نسخه ی کتابخانه مورد استفاده در برنامه تان را دارید، چگونه می توانید این کار را انجام داده و مدیریت کنید؟

اینجاست که کوبرنیتز (Kubernetes) وارد عمل می شود. با استفاده از کوبرنیتز (Kubernetes) می توانید هر زمان که نیاز داشتید برنامه را مانیتور، نگه داری و بزرگ تر کنید. کوبرنتیز به منظور انجام تنظیمات کانتینر های open source، خودکار سازی عملیات استقرار کانتینر ها، مقیاس گذاری و مدیریت کانتینر های داکر نیز استفاده می شود.

ممکن است این سوال برای شما پیش آید که داکر چیست و چه کاربردی دارد؟ داکر در واقع یک نوع پلتفرم باز و سیستم نرم افزار برای توسعه، ارائه ی خدمات و راه اندازی برنامه هاست که به شما کمک می‌کند تا به جداسازی برنامه ها (application) از زیر ساخت تان بپردازید؛ برای اطلاع بیشتر در مورد این پلتفرم خارق العاده سری به مقاله داکر docker چیست بزنید.

علاوه بر این، کوبرنتیز (Kubernetes) به مهندسین و برنامه نویسان کمک می کند تا بسته های کانتینر را در محیطی بزرگ تر نظارت، مدیریت و هماهنگ کنند. کوبرنتیز به صورت خودکار به تمام اختلالات و خرابی ها رسیدگی کرده، پیکر بندی برنامه ها را نیز مدیریت کرده و آن ها را به روز رسانی می کند.

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

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

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

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