نصب Kubernetes با استفاده از kubeadm

اگه بخوایم Kubernetes رو درست و اصولی یاد بگیریم، یکی از بهترین کارها اینه که حداقل یک بار خودمون یه Cluster رو از صفر راه‌اندازی کنیم.

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

توی این ویدیو قراره یک Kubernetes Cluster رو با استفاده از kubeadm راه‌اندازی کنیم و مرحله‌به‌مرحله ببینیم برای بالا آوردن Cluster به چه چیزهایی نیاز داریم.

kubeadm چیه؟

kubeadm یکی از ابزارهای رسمی Kubernetes برای راه‌اندازی و آماده‌سازی Cluster هست.

با استفاده از اون می‌تونیم Control Plane رو راه‌اندازی کنیم و بعد Worker Nodeها رو به Cluster اضافه کنیم.

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

برای همین گزینه‌ی خیلی خوبی برای یاد گرفتن ساختار Kubernetes محسوب میشه.

قبل از نصب به چی نیاز داریم؟

قبل از اینکه Cluster رو بالا بیاریم، باید Nodeها رو آماده کنیم.

تنظیماتی مثل Hostname، شبکه، Swap و یک سری پیش‌نیازهای سیستم‌عامل باید بررسی بشن.

بعد از اون ابزارهای موردنیاز Kubernetes مثل kubelet، kubeadm و kubectl رو نصب می‌کنیم.

همچنین به یک Container Runtime نیاز داریم تا Containerهای ما بتونن روی Nodeها اجرا بشن.

راه‌اندازی Control Plane

بعد از آماده کردن سرورها، کار رو از Control Plane شروع می‌کنیم.

با kubeadm init اولین Node رو راه‌اندازی می‌کنیم و Cluster اولیه شکل می‌گیره.

بعد از اون kubectl رو تنظیم می‌کنیم تا بتونیم از طریق خط فرمان با Kubernetes ارتباط داشته باشیم و وضعیت Nodeها، Podها و بقیه منابع Cluster رو ببینیم.

اینجا کم‌کم Cluster ما شروع می‌کنه به زنده شدن!

اضافه کردن Worker Nodeها

داشتن Control Plane به‌تنهایی کافی نیست.

برای اجرای Workloadها، Worker Nodeها رو هم به Cluster اضافه می‌کنیم.

بعد از اجرای kubeadm init یک دستور برای Join کردن Nodeهای جدید دریافت می‌کنیم. این دستور رو روی Workerها اجرا می‌کنیم تا به Cluster متصل بشن.

در نهایت با kubectl get nodes می‌تونیم ببینیم که Nodeهای ما به Cluster اضافه شدن.

دیدن همه‌ی Nodeها توی این خروجی بعد از کلی تنظیمات، حس خوبی داره! 

شبکه Kubernetes

یکی از بخش‌های مهم نصب، راه‌اندازی شبکه بین Podهاست.

برای این کار باید یک CNI Plugin روی Cluster نصب کنیم تا Podهایی که روی Nodeهای مختلف قرار دارن بتونن با هم ارتباط برقرار کنن.

بدون CNI ممکنه Cluster رو ساخته باشیم، ولی هنوز کارمون کامل نشده باشه.

در نهایت چی داریم؟

بعد از انجام این مراحل، یک Kubernetes Cluster واقعی داریم که از Control Plane و Worker Nodeها تشکیل شده و می‌تونیم Workloadهای خودمون رو روش اجرا کنیم.

البته هدف این ویدیو فقط اجرای چند دستور نیست.

مهم‌تر اینه که در طول نصب ببینیم هر مرحله برای چیه و Nodeها چطور کنار هم قرار می‌گیرن تا یک Kubernetes Cluster تشکیل بشه.

توی این ویدیو مراحل نصب Kubernetes با kubeadm رو از آماده‌سازی Nodeها شروع می‌کنیم، Control Plane رو بالا میاریم، شبکه Cluster رو راه‌اندازی می‌کنیم و در نهایت Worker Nodeها رو به Cluster اضافه می‌کنیم.

اگه می‌خواید Kubernetes رو جدی یاد بگیرید، به نظرم حداقل یک بار باید خودتون از صفر Cluster رو بالا بیارید. خراب هم شد اشکال نداره؛ اتفاقاً معمولاً از همون خراب شدن‌ها بیشتر یاد می‌گیریم.