ویرگول
ورودثبت نام
شایان کیان پور
شایان کیان پورمقالات در حوزه امنیت، DevOps و بازیسازی بصورت مرتب در این صفحه آپلود میشود ، این مقالات یا نوشته من هست یا بهترین اطلاعات جمع آوری شده . knpshayan@gmail.com
شایان کیان پور
شایان کیان پور
خواندن ۲ دقیقه·۳ ماه پیش

آشنایی به Kubernetes

تعریف Kubernetes

Kubernetes (یا K8s) یک پلتفرم ارکستریشن کانتینر پیشرفته است که برای مدیریت، مقیاس‌دهی و اتوماسیون کانتینرهای Docker یا سایر کانتینرها استفاده می‌شود.

💡 به زبان ساده:
اگر Docker Swarm یک مدیر ربات ساده باشد، Kubernetes مثل یک فرمانده حرفه‌ای و دقیق است که صدها کانتینر را روی صدها سرور مدیریت می‌کند و همیشه اطمینان می‌دهد که برنامه‌ها درست کار کنند.

کاربرد Kubernetes

  • مدیریت چندین کانتینر در محیط‌های بزرگ و پیچیده

  • مقیاس‌پذیری خودکار (Auto-scaling) بر اساس ترافیک و منابع

  • توزیع کانتینرها روی چند سرور برای پایداری و تحمل خطا

  • مدیریت Deployment، Rollback و Upgrade برنامه‌ها به صورت خودکار

  • هماهنگی شبکه، Storage و سرویس‌ها در محیط کانتینری

مزایای Kubernetes

  • مقیاس‌پذیری عالی: اضافه یا کم کردن کانتینرها بدون توقف سرویس

  • High Availability: سیستم همیشه در دسترس است، حتی اگر چند سرور خراب شوند

  • Self-healing: کانتینرهای خراب یا متوقف به صورت خودکار جایگزین می‌شوند

  • Load Balancing داخلی: بین کانتینرهای مشابه ترافیک تقسیم می‌شود

  • پشتیبانی از Microservices: اجرای سرویس‌های کوچک و مستقل با هماهنگی کامل

اجزای اصلی Kubernetes

  1. Cluster: مجموعه‌ای از نودها (Nodes)

  2. Node: یک سرور فیزیکی یا مجازی در Cluster

  3. Pod: کوچکترین واحد اجرایی که یک یا چند کانتینر را شامل می‌شود

  4. Deployment: مدیریت و کنترل نسخه‌های برنامه و تعداد Podها

  5. Service: دسترسی پایدار به Podها، شامل Load Balancing

  6. ConfigMap و Secret: مدیریت تنظیمات و اطلاعات حساس

  7. Ingress: مدیریت دسترسی خارجی به سرویس‌ها

مثال ساده (ساده در حد فهم کودک)

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

  • Pod: هر ماشین یک بسته میوه دارد

  • Deployment: تعداد ماشین‌ها را کنترل می‌کند و مطمئن می‌شود همیشه کافی باشند

  • Service: مسیر درست برای رساندن میوه به خانه

  • اگر یکی از ماشین‌ها خراب شد، Kubernetes ماشین جدید جایگزین می‌کند

مثال پیشرفته

فرض کن یک فروشگاه آنلاین جهانی داری که روی صدها سرور و کانتینر اجرا می‌شود:

  1. هر بخش وب‌سایت (Front-end, Back-end, Database) در Podهای جداگانه قرار دارد

  2. Deployment تعداد Podها را بر اساس ترافیک تنظیم می‌کند (Auto-scaling)

  3. Service و Ingress مسیر درست را برای کاربران جهانی فراهم می‌کنند

  4. اگر یک Node خراب شود، Podها به Nodeهای سالم منتقل می‌شوند (Self-healing)

  5. آپدیت نرم‌افزار بدون توقف کاربران انجام می‌شود (Rolling Update)

نتیجه: سیستم مقیاس‌پذیر، پایدار و خودترمیم با حداقل دخالت انسانی


جمع‌بندی

  • Kubernetes ابزاری قدرتمند برای مدیریت کانتینرها در مقیاس بزرگ است

  • خودکارسازی Deployment، مقیاس‌پذیری و تحمل خطا را فراهم می‌کند

  • مثال ساده ربات‌ها و مثال پیشرفته فروشگاه آنلاین نشان می‌دهد که K8s چگونه محیط کانتینری را کنترل می‌کند

kubernetesk8sبرنامه نویسبرنامه نویسی
۱
۰
شایان کیان پور
شایان کیان پور
مقالات در حوزه امنیت، DevOps و بازیسازی بصورت مرتب در این صفحه آپلود میشود ، این مقالات یا نوشته من هست یا بهترین اطلاعات جمع آوری شده . knpshayan@gmail.com
شاید از این پست‌ها خوشتان بیاید