کوبرنتیز یکی از پلتفرم های کاربردی مدیریت کانتینرها است و آموزش Kubernetes از یادگیری مفاهیم پایه و معماری اون شروع میشه که در این مجموعه قصد دارم شما رو با مفاهیم مهم کوبرنتیز آشنا کنم تا برای یادگیری و کار با این سیستم یک پایه بسیار قوی داشته باشید. کوبرنتیز(Kubernetes) یا k8s یک پلتفرم آزاد با معماری مایکروسرویس است که به ما کمک میکنه تا کانتینرها و سرویس های کانتینری رو بهتر و راحتتر مدیریت کنیم و محیطی پایدار با دسترسی پذیری بالا بسازیم.
کوبرنتیز(Kubernetes) در یک نگاه:
پلتفرم کوبرنتیز یک پلتفرم آزاد، توسعه پذیر و قابل حمل برای مدیریت کانتینرها است که در سال 2014 توسط گوگل با این نام به صورت متن باز منتشر شد. این پلتفرم حاصل بیش از 15سال تجربه مهندسین در حوزه پردازش و اجرای Workloads در مقیاس های بسیار بزرگ است.
اگر در مورد کانتینرها چیزی نمیدونید اینجا رو بخونید:
چرا به Kubernetes نیاز داریم؟
در یک محیط پروداکشن که برنامه های ما در کانتینرها اجرا میشن باید طوری اونها رو مدیریت کنیم که در هر حالتی به Downtime نخوریم. اگر سیستم دچار مشکل شد، راهی برای بازگشت سریع باشه، اگر کانتینری از بین رفت، کانتینر جدیدی جایگزینش بشه و کلی اگر دیگه…
اینجاست که کوبرنتیز وارد میشه و باید آموزش Kubernetes رو به خوبی دنبال کنیم. 😀
آشنایی با اجزای پلتفرم کوبرنتیز:
وقتی یک پلتفرم کوبرنتیز رو نصب و مستقر میکنیم، یک کلاستر کوبرنتیز ایجاد کردیم. هر کلاستر کوبرنتیز از یک یا چند worker که به اونها Node میگیم، تشکیل شده. Node ها وظیفه اجرای Pod ها که موجودیتی برای اجرای workloads در این پلتفرم هستند رو به عهده دارند. در سمت دیگه Control Plane وظیفه کنترل و مدیریت Node و Pod ها را به عهده داره که در سیستم های Production بخش control plane در چند سیستم و تعدادی Node برای تحمل خطا(Fault-tolerance) و دسترسی پذیری بالا(High Availability) نصب و پیاده سازی میشه.
اجزای Control Plane کوبرنتیز:
kube-apiserver: این سرویس API کوبرنتیز رو جهت ارتباط با سیستم ارایه و منتشر میکنه.
kube-scheduler: وظیفه انتخاب نود مناسب برای اجرای Pod رو به عهده داره.
kube-controller-manager: برنامه ای است که controller های مختلفی رو اجرا و دیگر موجودیت های سیستم مانند Node, Replication, Endpoint و… رو کنترل و مدیریت میکنه.
cloud-controller-manager: وظیفه اتصال کلاستر کوبرنتیز به API های سرویس دهنده ابری رو به عهده داره. زمانی که کوبرنتیز رو در محیط خصوصی نصب میکنیم این ماژول در دسترس نیست.
etcd: یک ابزار نگهداری داده key-value است که داده های کوبرنتیز رو نگهداری میکنه.
اجزای Node در کوبرنتیز:
این ماژول و برنامه ها روی تمام نودهای worker اجرا میشن…
kubelet: کنترل میکنه که کانتینرها درون موجودیت Pod به درستی اجرا بشن.
kube-proxy: وظیفه ارتباط شبکه رو به عهده داره و نیازمندی های موجودیت Service رو فراهم میکنه. همچنین rule های شبکه Pod ها رو مدیریت و میگه کی به کی و از کجا میتونه دسترسی داشته باشه. این ماژول کارشو با ابزار iptables یا به صورت مستقل انجام میده.
Container runtime: برنامه ای هست که وظیفه اجرای کانتینرها رو به عهده داره. کوبرنتیز از Docker, containerd, CRI-O به طور کامل پشتیبانی میکنه.
به پایان قسمت اول رسیدیم.
نظراتتون رو لطفا برام کامنت کنید.
موفق و پیروز باشید.
106
سلام. خسته نباشید.
پیشنهاد میکنم در نوشته بعدی با یک مثال از لحظه اجرا یک کانتینر و اینکه هر کدام از این ماژول ها طی این پروسه ها روی این کانتینر چیکار میکنند تا به سرویس دهی ختم بشه جلو ببرید یا به همین نوشته اضافه کنید.
سلام تو قسمت های بعد لحاظ میشه
هنوز خیلی مونده
سلام
کوبرنتیس UI هم داره یا اینکه مثل داکر براساس خط فرمان هست.
سلام وقت بخیر
هم خط فرمان هم رابط گرافیکی
هر دو رو داره
سلام
منظور از container development tools چیه؟ دونستنش برای sys admin کاربردی داره؟
سلام آقای بستان دوست
خواستم بگم آموزش های ویدیویی و این آموزش رو که دارم میخونم بصورت چکیده و خوب میگه و دید خوبی رو به من داده حداقل تا الان
سلام خواهش میکنم. خوشحالم که کمکتون کرده.
سلام آقا سعید ممنون از زحمات جنابعالی
چرا آموزش های داکر لینک دانلود نداره تویه آپارات ؟
سلام
بنظرم خیلی کلی بود و شاید میشد موارد کمتر ولی با توضیحات بیشتر و قابل فهم تر ارایه بشه