با توجه به اینکه در پست قبلی اجزای Master Node در کوبرنتیز را نیز برای شما عزیزان توضیح دادیم در دنیای مدرن توسعه نرمافزار، کوبرنتیز (Kubernetes) به عنوان ستون فقرات مدیریت کانتینرها شناخته میشود. اما برای بسیاری از علاقهمندان، درک دقیق اجزای آن، مخصوصاً Worker Node، ممکن است چالشبرانگیز باشد. در این پست، ما به زبان ساده اما دقیق، اجزای اصلی یک Worker Node را بررسی میکنیم؛ طوریکه نه تنها مفهوم را درک میکنید، بلکه به راحتی میتوانید آن را آموزش دهید یا در پروژههایتان پیادهسازی کنید.
Worker Node چیست؟
در کوبرنتیز، Worker Node به ماشینی گفته میشود که کانتینرهای اپلیکیشن روی آن اجرا میشوند. این ماشین میتواند فیزیکی یا مجازی باشد و نقش اساسی در اجرای بارهای کاری دارد. هر Worker Node شامل چندین مولفهی کلیدی است که باعث میشوند کانتینرها به درستی اجرا و مدیریت شوند.
اجزای اصلی یک Worker Node
هر Worker Node در کوبرنتیز معمولاً از ۳ جزء اصلی تشکیل شده است که در ادامه به معرفی آنها میپردازیم:
1. Kubelet
Kubelet قلب تپندهی Node است. این سرویس، مسئول ارتباط بین کنترلپلن (Control Plane) و Node است. Kubelet بررسی میکند که کانتینرهایی که تعریف شدهاند، به درستی روی Node اجرا شده باشند.
- اطلاعات پاد (Pod) را از API سرور دریافت میکند
- سلامت پادها را بررسی میکند
- در صورت نیاز پادها را راهاندازی مجدد میکند
2. Container Runtime
Container Runtime نرمافزاری است که مسئول اجرای کانتینرها روی سیستم عامل است. معروفترین آنها شامل:
- Docker
- containerd
- CRI-O
کوبرنتیز از طریق یک رابط استاندارد به نام CRI (Container Runtime Interface) با این نرمافزارها ارتباط برقرار میکند.
3. Kube-Proxy
Kube-Proxy نقش مهمی در شبکه ایفا میکند. این سرویس مسئول تنظیم قوانین شبکه روی Node است تا ارتباط بین سرویسها و پادها برقرار شود.
- مدیریت ترافیک ورودی و خروجی پادها
- برقراری ارتباط بین سرویسها و آدرسهای IP پادها
- استفاده از iptables یا ipvs برای مدیریت جریان داده
نقش Worker Node در اکوسیستم کوبرنتیز
درحالی که Control Plane مغز سیستم کوبرنتیز است، Worker Node عضلات آن محسوب میشود. بدون Worker Node، هیچ کانتینری اجرا نخواهد شد. در واقع این Nodeها هستند که عملیات اصلی را انجام میدهند؛ از اجرای اپلیکیشن گرفته تا مدیریت منابع.
جمعبندی
در این مطلب با اجزای مهم Worker Node در کوبرنتیز آشنا شدیم: Kubelet، Container Runtime و Kube-Proxy. درک درست این اجزا به شما کمک میکند تا بهتر کوبرنتیز را درک کرده و در پروژههای واقعی از آن بهره ببرید.