اصول مهم Kubernetes
در این بخش، با برخی از اصول و مفاهیم پایه Kubernetes آشنا میشویم:
Cluster یا خوشه:
مجموعهای از هاستها (سرورها) که منابع آنها مانند CPU، RAM و دیسک در یک استخر جمعآوری میشود و قابل استفاده برای کانتینرها است.
Master:
مجموعهای از مولفهها که صفحه کنترل Kubernetes را تشکیل میدهند و برای تمامی تصمیمات خوشهای استفاده میشوند، مانند زمانبندی و پاسخگویی به رویدادها.
Node یا گره:
یک هاست منفرد (فیزیکی یا مجازی) که کانتینرها روی آن اجرا میشوند. هر گره باید اجزایی مانند kube-proxy، kubelet و minikube را اجرا کند.
Namespace:
یک محیط منطقی در خوشه برای تفکیک منابع و کنترل دسترسی که امکان مدیریت بهتر خوشه را فراهم میکند.
نحوه کار Kubernetes
Kubernetes از یک خوشه تشکیل شده است که شامل صفحه کنترل (Control Plane) و گرهها (Nodes) است. هر گره محیطی برای اجرای گروهی از کانتینرها فراهم میکند.
صفحه کنترل مسئول حفظ وضعیت مطلوب خوشه است، از جمله اینکه کدام برنامهها در حال اجرا هستند و از چه ایمیج کانتینری استفاده میکنند. گرهها، برنامهها و بارهای کاری را اجرا میکنند.
هنگامی که مدیر یا تیم DevOps دستوری به Kubernetes میدهد، صفحه کنترل تصمیم میگیرد که کدام گره برای اجرای هر کار مناسب است، منابع را تخصیص میدهد و Pods را برای انجام کار آماده میکند.
Kubernetes را با تعریف nodeها، clusterها و کانتینرها پیکربندی میکنید. این ابزار مراقبت از تنظیم کانتینرها را بر عهده دارد و میتواند روی سرورهای فیزیکی، ماشینهای مجازی، ابرهای عمومی و خصوصی و محیطهای ترکیبی اجرا شود.
معماری Kubernetes
معماری Kubernetes شامل گرههای اصلی و کارگر است که هر کدام وظایف مشخصی دارند.

گره اصلی (Master Node)
گره اصلی مسئول مدیریت خوشه است و نقطه ورود برای تمامی وظایف مدیریتی محسوب میشود. ممکن است بیش از یک گره اصلی برای تحمل خطا وجود داشته باشد.
اجزای کلیدی گره اصلی عبارتند از:
- API Server: نقطه ورودی برای دستورات REST و مدیریت خوشه.
- Scheduler: زمانبندی وظایف روی گرهها و تخصیص منابع به Pods.
- Controller Manager: نظارت بر وضعیت خوشه و هماهنگی منابع.
- Etcd: ذخیرهسازی اطلاعات پیکربندی و دادههای خوشه و مدیریت قوانین شبکه.
گرههای کارگر (Worker Nodes)
گرههای کارگر برنامهها و کانتینرها را اجرا میکنند و شامل اجزای زیر هستند:
- Kubelet: دریافت پیکربندی Pods از API Server و اطمینان از اجرای صحیح آنها.
- Docker Container: اجرای کانتینرهای Docker روی گره.
- Kube-proxy: مدیریت شبکه و متعادلسازی بار روی گرهها.
- Pods: گروهی از کانتینرهای منطقی که با هم روی یک گره اجرا میشوند.
ساختارهای دیگر Kubernetes

- Replication Controller: تعریف قالب Pods و کنترل تعداد کپیهای در حال اجرا.
- Replication Sets: جایگزینی کنترلرهای تکرار با انعطاف بیشتر برای مدیریت Pods.
- Deployments: مدیریت چرخه حیات Pods و استفاده از Replication Sets به عنوان بلوک ساختاری.
- Stateful Sets: کنترل دقیق ترتیب استقرار، شبکه پایدار و دادههای پایدار برای Pods خاص.
- Daemon Sets: اجرای یک کپی از Pod روی هر گره در خوشه برای ارائه خدمات خاص و تعمیر و نگهداری آسان.