Kubernetes چیست؟ اجرای مقاوم workloadهای کانتینری
Kubernetes پلتفرم باز برای مدیریت workload کانتینری با پیکربندی اعلانی است — قابلیتها و آنچه K8s نیست، از مستندات رسمی.
Founder & product engineer

Container بستهبندی و اجرای یک اپ را ساده میکند؛ اما در Production واقعی سوال بعدی این است: اگر Container مرد چه کسی جایگزینش میکند؟ ترافیک را چطور پخش میکنیم؟ نسخهٔ جدید را چطور تدریجی و برگشتپذیر منتشر کنیم؟ Kubernetes (کوبرنتیز، مخفف رایج K8s) پلتفرمی قابل حمل و توسعهپذیر و متنباز برای مدیریت workload و سرویسهای کانتینری است که پیکربندی اعلانی و خودکارسازی را ممکن میکند.
نام از یونانی به معنی سکاندار یا خلبان میآید؛ K8s از شمردن هشت حرف بین K و s ساخته شده. گوگل پروژه را در ۲۰۱۴ متنباز کرد. اکوسیستم بزرگ و ابزار و پشتیبانی گستردهای دور آن شکل گرفته است.
این مقاله از مستندات رسمی «چه میکند» و «چه نیست» را جمع میکند تا قبل از مقالهٔ ۱۱۰ (چرا همیشه لازم نیست) تصویر درستی داشته باشید.

پاسخ کوتاه
Kubernetes چارچوبی برای اجرای مقاوم سیستمهای توزیعشده روی Container است: مقیاس، failover، الگوهای استقرار، کشف سرویس، ارکستراسیون ذخیرهسازی، و نزدیک کردن وضعیت واقعی خوشه به وضعیت مطلوبی که شما اعلان کردهاید. شما مشخص میکنید چه چیزی باید اجرا شود و با چه منابعی؛ کنترلپلینها مدام وضعیت را به سمت آن هدف میرانند.
K8s جایگزین نوشتن اپ، CI/CD، یا انتخاب دیتابیس نیست. بلوکهای ساخت پلتفرم توسعهدهنده را میدهد و انتخاب لاگ، مانیتورینگ و بسیاری سرویسهای کاربردی را به شما وامیگذارد.
Container واحد اجراست؛ Kubernetes واحد «مطلوب را نگه دار حتی وقتی چیزها میشکنند» است — با هزینهای که باید توجیه شود.
چرا به چیزی بیش از Container نیاز میشود؟
مستندات میگوید Container برای بستهبندی خوب است؛ در Production باید Containerهایی که اپ را اجرا میکنند مدیریت شوند و downtime کم بماند. اگر یکی پایین آمد، دیگری باید بالا بیاید. انجام دستی این کار در مقیاس درد است؛ Kubernetes این رفتار را سیستمی میکند.
مسیر تاریخی رسمی: سرور فیزیکی با مرز منابع ضعیف → مجازیسازی و VM → Container سبک با اشتراک OS. Containerها توسعه چابک، CI/CD با Image تغییرناپذیر، جداسازی دغدغهٔ Dev/Ops، یکنواختی محیط و بهرهوری منابع را تقویت کردند. K8s لایهٔ مدیریت این Containerها در مقیاس است.
قابلیتهایی که Kubernetes فراهم میکند
- کشف سرویس و load balancing: افشای Container با DNS یا IP؛ پخش ترافیک هنگام فشار.
- ارکستراسیون ذخیرهسازی: mount خودکار ذخیرهسازی محلی یا ابری.
- Rollout و Rollback خودکار: توصیف وضعیت مطلوب و حرکت کنترلشده به سمت آن.
- Bin packing: جاگذاری Containerها روی نودها بر اساس CPU/RAM درخواستی.
- خودترمیمی (self-healing): ریاستارت، جایگزینی، حذف نمونهٔ ناسالم، عدم معرفی به کلاینت تا آماده شدن.
- مدیریت Secret و پیکربندی: بدون بازسازی Image و بدون افشای Secret در stack به شکل ناامن.
- اجرای batch و مقیاس افقی: از فرمان و UI تا مقیاس بر اساس CPU.
- دو پشتهٔ IPv4/IPv6 و طراحی برای توسعهپذیری بدون تغییر کد بالادستی.
برای محصول، ترجمه این است: انتشار کمریسکتر، بازیابی سریعتر از خرابی نمونه، و استفادهٔ بهتر از ظرفیت خوشه — اگر تیم بتواند خوشه را اداره کند.
Kubernetes چه چیزی نیست؟
صفحهٔ رسمی تأکید میکند K8s یک PaaS همهچیزتمام سنتی نیست. در سطح Container کار میکند نه سختافزار خام؛ برخی ویژگیهای شبیه PaaS (استقرار، مقیاس، LB) را دارد اما راهحلهای پیشفرض اختیاری و قابل تعویضاند. انتخاب و انعطاف جایی که مهم است حفظ میشود.
فهرست صریح «انجام نمیدهد» از مستندات:
- نوع اپ را محدود نمیکند؛ stateless، stateful و دادهپرداز — اگر در Container اجرا شود، هدف پشتیبانی است.
- سورس را deploy و اپ را build نمیکند؛ CI/CD به فرهنگ و نیاز سازمان بستگی دارد.
- میانافزار، دیتابیس، cache یا ذخیرهسازی خوشهای را بهصورت سرویس توکار اجباری نمیدهد؛ میتوانند روی K8s یا بیرون اجرا شوند.
- لاگ، مانیتورینگ و هشدار را دیکته نمیکند؛ سازوکار جمعآوری و یکپارچگیهای نمونه دارد.
- زبان پیکربندی واحد تحمیلی ندارد؛ API اعلانی هدف ابزارهای مختلف است.
- مدیریت جامع ماشین و پچ میزبان را کامل به عهده نمیگیرد.
- صرفاً «ارکستراسیون workflow خطی A سپس B سپس C» نیست؛ مجموعهای از کنترللوپهای مستقل است که وضعیت را به مطلوب نزدیک میکنند.
مفاهیم نزدیک برای شروع ذهنی
بدون غرق شدن در همهٔ اشیاء API، این واژهها برای گفتگو کافیاند:
- Cluster: مجموعهٔ نودها + کنترلپلین.
- Node: ماشین کارگر (اغلب VM) که Pod اجرا میکند.
- Pod: کوچکترین واحد زمانبندی؛ یک یا چند Container همنشین.
- Deployment: کنترلر برای نگه داشتن تعداد مطلوب replica و rollout.
- Service: نقطهٔ دسترسی پایدار شبکه به مجموعهای از Podها.
جزئیات عملیاتی را وقتی خوشه دارید از مستندات اشیاء بخوانید؛ اول باید بدانید آیا اصلاً به این لایه نیاز دارید.
جدول تصمیم: درد و پاسخ K8s
| درد واقعی | آیا K8s معمولاً کمک میکند؟ | جایگزین سبکتر |
|---|---|---|
| یک VPS و یک اپ | خیر | Docker / Compose |
| چند Container روی یک میزبان | اغلب خیر | Compose + systemd/اسکریپت |
| چند نود، نیاز به خودترمیمی و LB | بله | سرویس ابری managed یا PaaS |
| انتشار تدریجی و Rollback مکرر در مقیاس | بله | ابزارهای deploy سادهتر اگر مقیاس کم است |
| تیم بدون ظرفیت عملیات خوشه | خطرناک | پلتفرم مدیریتشده یا تعویق |
هزینهٔ پنهان پذیرش
یادگیری مفاهیم، امنیت خوشه، ارتقای نسخه، شبکهٔ Pod، مشاهدهپذیری، و پشتیبان etcd بخشی از بهای ورود است. تیم دو نفره که هنوز Deploy دستی شکننده دارد، با آوردن K8s معمولاً سطح حادثه را بالا میبرد نه پایین. مقالهٔ ۱۱۰ این را باز میکند؛ اینجا فقط هشدار صادقانه است.
اگر به قابلیتهای لیست رسمی نیاز دارید و ترافیک/تیم آن را توجیه میکند، K8s (ترجیحاً managed) گزینهٔ جدی است. اگر فقط «رزومه» یا مد روز motivator است، صبر کنید.
جمعبندی برای تصمیم
Kubernetes پلتفرم متنباز مدیریت workload کانتینری با مدل وضعیت مطلوب، خودترمیمی، مقیاس و انتشار کنترلشده است. PaaS کامل، سیستم CI، یا فروشگاه دیتابیس توکار نیست. قدرت و پیچیدگیاش با هم میآیند.
قبل از نصب خوشه: سه درد مشخص بنویسید که Compose و یک/دو VM حل نمیکنند. اگر نتوانستید، مقالهٔ ۱۱۰ را اول بخوانید.
منابع و مراجع
- Kubernetes Docs — Overview — https://kubernetes.io/docs/concepts/overview/
- Kubernetes Docs — What is Kubernetes? — https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/
برای «لازم نیست همیشه» مقالهٔ ۱۱۰ و برای مقایسه با Docker مقالهٔ ۱۱۱ را ببینید.
Author
Soheil Ebrahimpour is the founder of FutureForge. He works on product design, architecture, and getting custom software into production.
Related notes
If you are unsure about architecture or the build path, we can talk about the project.
Describe the problem and the constraints. If there is a fit, we will schedule a conversation.




