بررسی اجمالی معماری Kubernetes – انجمن DEV
Kubernetes یک پلت فرم منبع باز محبوب است که برای مدیریت برنامه های کاربردی کانتینری استفاده می شود. این روشی انعطافپذیر و مقیاسپذیر برای استقرار، مدیریت و خودکارسازی بارهای کاری کانتینری ارائه میکند. یک خوشه Kubernetes از یک صفحه کنترل و گره های کارگر تشکیل شده است.
کنترل هواپیما
هواپیمای کنترلی Kubernetes از اجزای متعددی تشکیل شده است که وظیفه نظارت و مدیریت خوشه را در مقیاس جهانی بر عهده دارند. وظیفه اصلی آن کنترل عملیات کل خوشه است. در حالی که اجزای صفحه کنترل را می توان بر روی هر ماشینی در داخل خوشه مستقر کرد، اجرای آنها بر روی ماشین های کنترل کننده اختصاصی معمول است.
- را به api-server نقش سرویس Kubernetes API را انجام می دهد، که به عنوان رابط اصلی برای تعامل با صفحه کنترل و خوشه به عنوان یک کل عمل می کند. وقتی با خوشه Kubernetes خود تعامل دارید، معمولاً این کار را از طریق Kubernetes API انجام خواهید داد.
- و غیره به عنوان ذخیرهسازی داده زیربنایی برای خوشه Kubernetes عمل میکند و به عنوان یک راهحل ذخیرهسازی قابل اعتماد و بسیار در دسترس برای همه دادههای مربوط به خوشه عمل میکند. وظیفه ذخیره و نگهداری اطلاعات وضعیت خوشه را بر عهده دارد.
- را کوبه-زمانبندی وظیفه زمانبندی را بر عهده دارد که شامل انتخاب یک گره مناسب در داخل خوشه برای اجرای کانتینرها است. این تضمین می کند که کانتینرها بر اساس عواملی مانند نیاز به منابع و در دسترس بودن به گره های موجود تخصیص داده می شوند و توزیع بارهای کاری را در کلستر بهینه می کند.
- را kube-controller-manager چندین ابزار کنترل کننده را در یک فرآیند ادغام می کند. این کنترلکنندهها وظایف مختلف خودکار را در داخل خوشه انجام میدهند و مدیریت و عملیات کارآمد را تسهیل میکنند. با اجرای چندین کنترلر در یک چارچوب یکپارچه، kube-controller-manager اجرای این وظایف اتوماسیون را به شیوه ای منسجم ساده می کند.
- را Cloud-Controller- Manager به عنوان پلی بین Kubernetes و پلتفرم های ابری متنوع عمل می کند و یکپارچه سازی و مدیریت یکپارچه منابع ابری را در محیط Kubernetes تسهیل می کند. این مؤلفه به طور خاص هنگام استفاده از منابع مبتنی بر ابر در کنار Kubernetes مورد استفاده قرار می گیرد و امکان استفاده کارآمد از خدمات ابری را در ارتباط با قابلیت های Kubernetes فراهم می کند.
اجزای صفحه کنترل را می توان بر روی یک سرور یا چند سرور، بسته به پیکربندی مورد نظر، مستقر کرد. به منظور دستیابی به دسترسی بالا برای خوشه، توصیه می شود این مؤلفه ها را روی چندین سرور اجرا کنید. این امر افزونگی و تحمل خطا را تضمین می کند و انعطاف پذیری کلی خوشه را افزایش می دهد.
گره های کارگری
گره های Kubernetes به عنوان محیط اجرای کانتینرهای مدیریت شده توسط خوشه عمل می کنند. یک خوشه می تواند شامل هر تعداد گره باشد که هر کدام مسئول میزبانی و مدیریت کانتینرها هستند. گره ها از اجزای متعددی تشکیل شده اند که بر عملیات کانتینر بر روی ماشین نظارت می کنند و با صفحه کنترل ارتباط برقرار می کنند. این مولفه ها هماهنگی و هماهنگی مناسب کانتینرها را در خوشه تضمین می کنند.
- را Kubelet به عنوان عامل Kubernetes مستقر در هر گره در خوشه عمل می کند. این ارتباط را با صفحه کنترل برقرار می کند و اجرای کانتینرها را در گره مربوطه خود با پیروی از دستورالعمل های ارائه شده توسط صفحه کنترل تضمین می کند. علاوه بر این، kubelet مسئول گزارش وضعیت کانتینر و انتقال داده های مربوط به کانتینرها به صفحه کنترل است.
- را پروکسی باشد به عنوان یک پروکسی شبکه در خوشه Kubernetes عمل می کند. بر روی هر گره اجرا میشود و مسئولیتهای خاص مرتبط با تسهیل شبکهسازی بین کانتینرها و سرویسها را بر عهده میگیرد.
- را زمان اجرا کانتینر یک جزء نرم افزاری مستقل است که Kubernetes برای اجرای کانتینرها در ماشین زیرین به آن متکی است. ذاتاً در خود Kubernetes ادغام نشده است. در عوض، Kubernetes از پیاده سازی های متعدد از زمان اجرا کانتینر پشتیبانی می کند. این پیاده سازی های زمان اجرا مسئول اجرا و مدیریت واقعی کانتینرها هستند.
در نتیجه، معماری Kubernetes شامل یک صفحه کنترل قوی است که شامل اجزای مختلفی مانند سرور kube-api، kube-scheduler، kube-controller-manager و cloud-controller-manager است. این مؤلفهها برای مدیریت خوشه، زمانبندی کانتینرها، رسیدگی به وظایف اتوماسیون و رابط با پلتفرمهای ابری با هم کار میکنند. در گرههای کارگر، kubelet و kube-proxy نقش اساسی در مدیریت و اجرای کانتینرها دارند و در عین حال از شبکهسازی یکپارچه اطمینان میدهند. این معماری توزیعشده، هماهنگسازی و مقیاسپذیری کارآمد برنامههای کانتینری را در خوشههای Kubernetes امکانپذیر میسازد.