همانطور که کانتینریسازی به انقلابی در توسعه برنامهها ادامه میدهد، Kubernetes به پلتفرم واقعی برای ارکستراسیون کانتینر تبدیل شده است. استقرار و مدیریت برنامه ها را در مقیاس با ارائه ویژگی هایی مانند استقرار خودکار، مقیاس پذیری و در دسترس بودن بالا ساده می کند. مهمترین جزء Kubernetes لایه شبکه آن است که ارتباط یکپارچه بین کانتینرها در یک خوشه را فراهم می کند. در این مقاله، ما نگاهی عمیق به چهار پلاگین شبکه محبوب Kubernetes – Flannel، Cilium، Calico و Canal خواهیم داشت. ما به نحوه عملکرد هر افزونه نگاه می کنیم، عملکرد آن را در پروتکل های مختلف ارزیابی می کنیم، ویژگی های امنیتی آن را ارزیابی می کنیم و مصرف منابع آن را تجزیه و تحلیل می کنیم. در پایان، ایده واضح تری خواهید داشت که کدام افزونه ممکن است برای مورد استفاده خاص شما بهتر عمل کند.
مواد و روش ها
برای تجزیه و تحلیل مقایسه ای خود، ما چهار CNI (رابط شبکه کانتینر) را انتخاب کردیم:
- فلانل
- سیلیوم
- کالیکو
- کانال (ترکیبی از فلانل و کالیکو)
ما عملکرد آنها را با استفاده از معیارها در چندین پروتکل -TCP، UDP، HTTP، FTP و SCP- در یک شبکه 10 گیگابیت بر ثانیه ارزیابی کردیم.
محیط تست
- سخت افزار: سه سرور Supermicro از طریق سوئیچ Supermicro 10 گیگابیت بر ثانیه متصل شده اند.
- پیکربندی شبکه: اتصالات مستقیم با استفاده از کابل های غیرفعال SFP+ DAC،…