آموزش kubernetes

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

تو قسمت اول آموزش Kubernetes در مورد داستان کوبرنتیز و اجزای اون صحبت کردیم. تو این قسمت قصد دارم در مورد اینکه چرا از کوبرنتیز استفاده میکنیم و این پلتفرم چه قابلیت هایی به ما میده، صحبت کنم. پلتفرم هایی مثل کوبرنتیز رو Container Orchestration Engine یا COE صدا میکنن و این ابزارها اومدن که کانتینرها رو روی چندین سیستم(Host) اجرا و مدیریت کنن. این پلتفرم ها مشخص میکنن که Life-cycle یک کانتینر توسط کودوم Container runtime و روی کودوم Host دنبال بشه و محیطی رو فراهم میکنن که کانتینرها به راحتی در هر مقیاسی اجرا بشن. به طور خلاصه، این سیستم ها درست شدن تا محیطی برای مدیریت فعالیت های پیچیده ای که کانتینرها انجام میدن تا نیازمندی های کسب و کار و پروداکشن ما برآورده بشه رو به وجود بیارند.

 

چرا پلتفرم کوبرنتیز؟

برای اینکه روشن بشه چرا Kubernetes رو انتخاب میکنیم باید بدونید این پلتفرم یکی از پلتفرم هایی هست که بیشترین قابلیت ها و امکاناتی که در دنیای کانتینرها بهشون نیاز داریم رو فراهم و ارایه میکنه و از طرفی یک پروژه آزاد و متن باز هست که هرکسی میتونه اون رو شخصی سازی کنه!

 

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

  • مدیریت شبکه، توزیع بار(Load Balancing) و Service Discovery: کوبرنتیز در بخش شبکه توجه ویژه ای به نیازمندی محیط های تجاری و پروداکشن داره و بستری ایمن، توسعه پذیر و قابل اطمینان درست کرده. همچنین این امکان وجود داره که پروژه ها و درایورهای مختلف شبکه رو با کوبرنتیز ادغام کرد. کوبرنتیز علاوه بر ارایه نیازمندی های پایه شبکه، امکان Service Discovery کانتینرها از طریق DNS و IP رو فراهم کرده به طوری که کانتینرها میتونن خیلی راحت همدیگه رو پیدا و داده ردوبدل کنن. در کنار این موارد سرویس Load balancing داخلی کوبرنتیز این امکان رو میده که ترافیک شبکه بین چندین کانتینر به راحتی توزیع بشه.
  • ذخیره سازی(Storage): کوبرنتیز از انواع زیرساخت های ذخیره سازی پشتیبانی میکنه و قادر هست از یک دایرکتوری ساده، Local storage تا زیرساخت های ذخیره سازی کلاستری و توزیع شده و Shared-storage ها رو به کانتینرها مانت و مورد استفاده قرار بده.
  • زمانبندی(Scheduling) و تخصیص منابع: کوبرنتیز با توجه به منابع مورد نیاز کانتینر و حتی شرایطی که ما تعریف میکنیم، بهترین نود برای اجرای کانتینر رو مشخص و کانتینر رو روی اون اجرا میکنه. سیستم زمان بندی کوبرنتیز به قدری انعطاف داره که میتونه بین تشخیص خودکار نیازمندی ها و گوش دادن به حرف ما، بهترین تصمیم رو بگیره.
  • قابلیت Health check و Self-healing: اگر کانتینری دچار مشکل بشه، از دسترس خارج بشه و هر اتفاق غیر منتظره ای براش بیفته، کوبرنتیز به طور خودکار اون رو ری استارت و در صورت نیاز یک کانتینر جدید رو زمانبندی، اجرا و ترافیک شبکه رو به سمت کانتینر جدید هدایت میکنه. همچنین میتونه برای گرفتن Health check کانتینر، ی Command درون کانتینر اجرا کنه، ی درخواست HTTP بفرسته یا ی ارتباط TCP برقرار کنه و سلامت کانتینر رو بررسی کنه.
  • امکان Rollout و Rollback خودکار: وضعیت موجودیت ها به صورت Declarative مشخص میشه و کافیه وضعیت مورد نظرمون رو برای موجودیت ها مشخص کنیم. عملیات Rollout یک کانتینر و بروزرسانی اون خودکار انجام میشه و در صورت بروز هر مشکلی این امکان وجود داره که به طور خودکار به وضعیت پایدار قبلی Rollback بشه.
  • مدیریت Config و Secret: نیاز نیست کانفیگ و اطلاعات محرمانه رو همراه با برنامه جابجا کنیم، این عملیات در کوبرنتیز به صورت ایمن و مجزا مدیریت میشه. همچنین با وجود این موجودیت ها، امکان اجرای یک برنامه با چندین کانفیگ و انجام A/B Testing وجود داره.

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

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

هرچی به ذهنتون رسید رو کامنت کنید.

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

41

6 comments

  1. عالی بود خسته نباشید.
    فقط بخش اول آموزش کلمه «کودوم» فکر کنم به این صورت «کدوم» درست باشه.
    و مورد دیگه ای که به ذهنم رسید اینه که از نظر سئو بهترِ متن لینکی که قرار می‌دید با عنوان نوشته هماهنگ باشه، همون بخش اول بهتره که بجای لینک کردن کلمه «اول»، «قسمت اول آموزش Kubernetes» رو بصورت کامل لینک می‌کردید.
    ممنون از آموزش خوب‌تون.

  2. آیا از والت منیجر هایی مثل Hashicorp Vault میتونه برای ذخیره سازی مرکزی احراز ها استفاده کنه ؟

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

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