Kubernetes

Kubernetes که اغلب به‌صورت K8s خلاصه می‌شود، ارکستراتور متن‌باز کانتینر است. این پلتفرم چرخه عمر Applicationهای کانتینری را روی زیرساخت‌های مدرن خودکار می‌کند و مانند «سیستم‌عامل مرکز داده» عمل می‌کند که Applicationها را در سراسر یک سیستم توزیع‌شده مدیریت می‌کند.

Kubernetes Containerها را روی Nodeهای یک کلاستر زمان‌بندی می‌کند و چندین منبع زیرساختی مانند Load Balancer، ذخیره‌سازی Persistent و غیره را برای اجرای Applicationهای کانتینری در کنار هم قرار می‌دهد.

Kubernetes Automation و قابلیت توسعه‌پذیری را ممکن می‌کند و به کاربران اجازه می‌دهد Applicationها را به‌صورت Declarative (تعریف‌شده در ادامه) و به شکلی تکرارپذیر مستقر کنند. Kubernetes از طریق API خود قابل توسعه است و به کاربران حرفه‌ای اجازه می‌دهد توانایی‌های Automation آن را مطابق نیازشان به‌کار بگیرند.

مسئله‌ای که حل می‌کند

Automation زیرساخت و مدیریت پیکربندی Declarative مدت‌ها مفاهیم مهمی بوده‌اند، اما با افزایش محبوبیت Cloud Computing اهمیت بیشتری پیدا کرده‌اند. هرچه تقاضا برای منابع محاسباتی افزایش می‌یابد و سازمان‌ها باید توان عملیاتی بیشتری را با تعداد مهندسان کمتر ارائه کنند، فناوری‌ها و روش‌های کاری جدیدی لازم است تا این تقاضا را پوشش دهند.

چگونه کمک می‌کند

مشابه ابزارهای سنتی Infrastructure as Code، Kubernetes به Automation کمک می‌کند، اما مزیت آن کار کردن با کانتینرهاست. کانتینرها نسبت به ماشین‌های مجازی یا فیزیکی در برابر Configuration Drift مقاوم‌تر هستند.

علاوه بر این، Kubernetes به‌صورت Declarative عمل می‌کند؛ یعنی به‌جای این‌که اپراتورها به ماشین بگویند چگونه کاری را انجام دهد، معمولاً به‌صورت Manifest (برای نمونه YAML) توصیف می‌کنند زیرساخت باید چه شکلی داشته باشد. Kubernetes سپس «چگونگی» را خودش انجام می‌دهد. این باعث می‌شود Kubernetes کاملاً با Infrastructure as Code سازگار باشد.

Kubernetes همچنین Self-Heal است. وضعیت واقعی کلاستر همیشه با وضعیت مطلوب اپراتور منطبق می‌شود. اگر Kubernetes انحرافی از آنچه در فایل‌های Manifest توصیف شده تشخیص دهد، Controller مربوطه وارد عمل می‌شود و آن را اصلاح می‌کند. هرچند زیرساختی که Kubernetes از آن استفاده می‌کند ممکن است دائماً در حال تغییر باشد، Kubernetes به‌طور مستمر و خودکار به تغییرات سازگار می‌شود و اطمینان می‌دهد که با وضعیت مطلوب هم‌خوان است.


آخرین ویرایش September 26, 2025: [fa] Add Persian to the list of localized languages (6511f5f)