Kubit logoکوبیت

کوبرنتیز

معرفی کلی

سرویس KaaS کوبیت (Kubernetes as a Service) بستری یکپارچه برای ساخت، مدیریت و مقیاس‌دهی کلاسترهای کوبرنتیز در زیرساخت ابری کوبیت است.
با استفاده از این سرویس، می‌توانید تنها با چند کلیک یک کلاستر کوبرنتیز اختصاصی ایجاد کنید، نسخه‌ی دلخواه Kubernetes را انتخاب کنید، منابع محاسباتی خود را به‌صورت خودکار در اختیار بگیرید و در هر لحظه وضعیت سلامت کامپوننت های موجود در کلاستر را پایش کنید.

سرویس KaaS برای تیم‌های توسعه، عملیات، و DevOps طراحی شده تا بدون نیاز به تنظیمات پیچیده‌ی زیرساختی، بتوانند محیط‌های قابل اطمینان و آماده برای اجرای سرویس‌ها و کانتینرها برای محیط های پروداکشن ایجاد کنند.


شروع ساخت کلاستر جدید

گام ۱ — ورود به بخش «کوبرنتیز»

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


پیکربندی کلاستر و شبکه

در اولین مرحله از ساخت، باید نام کلاستر و تنظیمات شبکه آن را مشخص کنید.

فیلدها و گزینه‌ها

  • نام کلاستر: نامی دلخواه برای کلاستر جدید (مثلاً elecomp).

  • نسخه‌ی کوبرنتیز: نسخه‌ی مورد نظر خود را از فهرست انتخاب کنید. KaaS از چندین نسخه‌ی پایدار Kubernetes پشتیبانی می‌کند (مثلاً 1.33.5).

  • رنج آی‌پی پادها و سرویس‌ها (CIDR): مقادیر پیش‌فرض پیشنهاد شده برای شبکه داخلی کوبرنتیز است؛ در صورت نیاز قابل ویرایش است.

  • روتر (Router): انتخاب شبکه‌ی مجازی (VPC) مرتبط با کلاستر.

  • گروه امنیتی (Security Group): تنظیمات فایروال و دسترسی‌ها برای کلاستر.

💡 نکته: کاربران یا گروه‌هایی که در این مرحله اضافه می‌کنید، همراه با سازنده‌ی کلاستر، سطح دسترسی Cluster Admin خواهند داشت.

گام ۲ —تعریف گروه ماشین‌ها (Node Groups)

در این مرحله می‌توانید منابع محاسباتی کلاستر خود را تعیین کنید. هر گروه ماشین (Node Group) مجموعه‌ای از نودهاست که با پیکربندی مشابه اجرا می‌شوند. این بخش به شما اجازه می‌دهد ظرفیت پردازش، اندازه‌ی ماشین‌ها و تنظیمات خاص برای هر گروه را مشخص کنید.

تنظیمات اصلی گروه ماشین

  • نام گروه: نامی دلخواه برای گروه ماشین‌ها (مثلاً elecomp-worker).

  • ایمیج سیستم‌عامل: نسخه‌ای از سیستم‌عامل و کوبرنتیز برای نودها، مثلاً Kubernetes 1.32 Debian 12.

  • تعداد ماشین‌ها: تعداد نودهایی که در این گروه ساخته می‌شوند.

  • اندازه‌ی دیسک (Root Disk): حجم دیسک اصلی هر ماشین، بر حسب گیگابایت (GB).

  • قالب ماشین (Flavor): انتخاب نوع ماشین با توجه به منابع سخت‌افزاری (مثلاً c3i.large با ۲ هسته CPU و ۴ گیگابایت RAM).

💡 نکته: انتخاب نوع ماشین تأثیر مستقیم بر عملکرد و هزینه‌ی کلاستر دارد. برای محیط‌های تستی از قالب‌های کوچک‌تر و برای سرویس‌های پرمصرف از قالب‌های بزرگ‌تر استفاده کنید.

افزودن برچسب‌ها و Taintها

برچسب‌ها (Labels) و Taintها برای سازماندهی و زمان‌بندی پادها روی نودها به‌کار می‌روند.

  • برچسب‌ها (Labels): برای گروه‌بندی ماشین‌ها یا مشخص کردن نقش آن‌ها در کلاستر استفاده می‌شوند (مثلاً role=worker).

  • Taintها: برای محدود کردن استقرار پادها روی نودها به‌کار می‌روند. تنها پادهایی که Toleration سازگار دارند، روی نودهای Taintشده مستقر می‌شوند.

در صورت نیاز می‌توانید چند برچسب یا Taint مختلف اضافه کنید. در حالت عادی این بخش اختیاری است و می‌توانید بدون آن ادامه دهید.

گام ۳ —انتخاب افزونه‌ها (Add-ons)

در این بخش می‌توانید پلاگین‌ها و افزونه‌های مدیریتی برای کلاستر خود را فعال کنید.
افزونه‌ها ابزارهایی هستند که قابلیت‌های خاصی مثل مدیریت گواهی‌نامه‌ها، کنترل Ingress و یا افزودن StorageClass را فراهم می‌کنند.

افزونه‌های در دسترس

  • Ingress NGINX: کنترلر ورود (Ingress Controller) برای مدیریت ترافیک ورودی به سرویس‌ها از طریق NGINX.

  • Cinder CSI (Block Storage): افزودن StorageClass و مدیریت Volumeهای بلوکی (Block Storage) از طریق Cinder.

  • Shared Storage CSI: فراهم‌کردن StorageClass برای تخزین مشترک (Shared Storage) بین پادها.

  • Cert Manager: صدور و مدیریت خودکار گواهی‌های TLS برای سرویس‌های درون کلاستر.

  • Cluster Autoscaler: مقیاس‌دهی خودکار نودهای کلاستر بر اساس نیاز و بار کاری.

  • API Server Audit Log: ثبت و نظارت بر درخواست‌های API Server برای مقاصد امنیتی و تدقیق.

  • Default Storage Classes: تعریف StorageClass‌های پیش‌فرض برای کلاستر.

💡 در صورت عدم فعال‌سازی این بخش، کلاستر خام (بدون افزونه) ساخته می‌شود و می‌توانید افزونه‌ها را بعداً نصب کنید.

گام ۴ —مرور نهایی و ساخت کلاستر

در مرحله‌ی پایانی، خلاصه‌ای از تنظیمات شما نمایش داده می‌شود:

  • نسخه‌ی کوبرنتیز

  • محدوده‌های شبکه

  • گروه ماشین‌ها و تعداد نودها

  • افزونه‌های انتخاب‌شده

  • کاربران دارای دسترسی مدیریت (Cluster Admin)

اگر همه چیز درست است، روی دکمه‌ی تأیید و ساخت کلاستر کلیک کنید.
فرآیند ساخت بسته به منابع انتخابی چند دقیقه زمان می‌برد و پس از اتمام، وضعیت کلاستر در لیست به حالت آماده تغییر خواهد کرد.

مشاهده و بررسی وضعیت کلاستر

پس از اتمام فرآیند ساخت، کلاستر شما وارد وضعیت در حال ساخت می‌شود. بسته به منابع انتخابی و افزونه‌های فعال‌شده، این مرحله ممکن است چند دقیقه طول بکشد.
زمانی که تمام سرویس‌های اصلی کوبرنتیز آماده شوند، وضعیت به آماده (Ready) تغییر پیدا می‌کند و کلاستر شما قابل استفاده خواهد بود.

وضعیت‌های کلاستر

کلاستر در هر لحظه در یکی از وضعیت‌های زیر قرار دارد:

  • آماده (Ready): کلاستر کاملاً عملیاتی است و می‌توانید از آن استفاده کنید.

  • در حال ساخت (Creating): کلاستر در حال راه‌اندازی اولیه است.

  • در حال به‌روزرسانی (Updating): یک یا چند گروه ماشین در حال ایجاد، تغییر یا حذف هستند.

  • در حال حذف (Deleting): کلاستر در حال پاک‌سازی و حذف است.

💡 نکته: اگر یکی از گروه‌های ماشین دچار خطا شود، وضعیت کلاستر همچنان آماده نمایش داده می‌شود؛ چون کلاستر به خودی خود سالم است.

نمای کلی کلاستر

در صفحه‌ی نمای کلی (Overview)، خلاصه‌ای از مشخصات و وضعیت کلاستر قابل مشاهده است:

  • نام کلاستر و نسخه کوبرنتیز

  • رنج آی‌پی پادها و سرویس‌ها (CIDR)

  • تاریخ ایجاد کلاستر

  • وضعیت گروه ماشین‌ها (Node Groups)

  • گروه امنیتی و افزونه‌های فعال

  • کاربران دارای دسترسی مدیریت (Cluster Admin)

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

    • ارتقای Patch: نسخه‌ی جزئی‌تر در همان نسخه‌ی اصلی (مثلاً ۱.۳۲.۳ → ۱.۳۲.۵)
    • ارتقای Minor: نسخه‌ی اصلی جدیدتر (مثلاً ۱.۳۲.x → ۱.۳۳.x)

💡 نکته: در همین بخش می‌توانید به تنظیمات مدیریتی کلاستر، مدیریت نودها و افزونه‌ها دسترسی داشته باشید.

وضعیت اجزای کوبرنتیز

در پایین صفحه، وضعیت سرویس‌های کلیدی کوبرنتیز نمایش داده می‌شود.
هر مؤلفه زمانی که آماده شود، با وضعیت سبز و برچسب آماده (Ready) مشخص می‌شود.

سرویس‌های اصلی شامل موارد زیر هستند:

  • API Server: مرکز فرمان کوبرنتیز برای ارتباط بین کاربر و کلاستر

  • Etcd: پایگاه داده‌ی داخلی کوبرنتیز برای ذخیره تنظیمات و وضعیت

  • Scheduler: وظیفه‌ی زمان‌بندی پادها بر روی نودها را بر عهده دارد

هنگامی که تمام این سرویس‌ها به حالت آماده برسند، کلاستر شما به‌طور کامل فعال شده و قابل استفاده است.

مدیریت کلاستر پس از ساخت

پس از آماده شدن کلاستر، از منوی سمت راست می‌توانید وارد بخش‌های مدیریتی شوید:

  • مدیریت گروه ماشین‌ها: افزودن یا حذف نودها، تغییر تنظیمات منابع. گروه‌های ماشینی که در وضعیت خطا قرار دارند، به محض درخواست حذف، بلافاصله پاک می‌شوند.

  • مدیریت افزونه‌ها: فعال یا غیرفعال‌سازی پلاگین‌ها مثل NGINX یا Cert Manager

  • تنظیمات کلاستر: تغییر شبکه، دسترسی‌ها، یا کاربران مدیریتی

⚠️ توجه: ویرایش تنظیمات کلاستر تنها زمانی امکان‌پذیر است که کلاستر در وضعیت آماده یا در حال به‌روزرسانی باشد. در سایر وضعیت‌ها (مثلاً در حال ساخت یا در حال حذف) این امکان موقتاً غیرفعال است.

💡 اگر نیاز دارید کاربران دیگری به کلاستر دسترسی داشته باشند، از بخش دسترسی اعضا و گروه‌ها اقدام کنید. کاربران اضافه‌شده، سطح دسترسی تعیین‌شده توسط شما را دریافت خواهند کرد

حذف کلاستر

برای حذف کلاستر، از تنظیمات کلاستر گزینه‌ی حذف را انتخاب کنید. هنگام حذف، گزینه‌ای برای پاک‌سازی Volume‌ها نیز در اختیار شما قرار می‌گیرد:

  • با پاک‌سازی Volume (پیش‌فرض): علاوه بر حذف کلاستر، تمام Volumeهای موجود در آن نیز به‌صورت دائم پاک می‌شوند.

  • بدون پاک‌سازی Volume: کلاستر حذف می‌شود اما Persistent Volumeهای موجود در آن نگه داشته می‌شوند.

⚠️ هشدار: پاک‌سازی Volume برگشت‌پذیر نیست. پیش از فعال‌سازی این گزینه، از داده‌های مهم نسخه‌ی پشتیبان تهیه کنید.