این کار تمام عملکرد پردازش بسته های بومی ابری را بدون اعطای امتیازات مدیریت به هر برنامه ارائه می دهد. نسخه ی نمایشی زیر را بررسی کنید تا ببینید که چگونه یک گره Kubernetes با پلاگین های AF_XDP برای Kubernetes – پلاگین دستگاه و CNI – با برنامه CNDP کار می کند.
Cloud Native Data Plane (CNDP) برای ارائه یک چارچوب پردازش بسته سبک ایجاد شده است که توسعه دهندگان بومی ابر را قادر می سازد از آن استفاده کنند و سایر رابط ها عملکرد بهتری را در مقایسه با رابط های شبکه استاندارد لینوکس* ارائه دهند.
Ethtool ترافیک برنامه ها را به صف های خاص در دستگاه شبکه هدایت می کند تا سوکت AF_XDP ترافیک را دریافت کند. این فیلترهای ethtool توسط CNI برنامه ریزی شده اند. معیارهای ترافیک دریافتی در برنامه CNDP با استفاده از معیارهای برنامه صادرکننده عامل Prometheus* در میزبان قابل مشاهده است.
ادغام CNDP با افزونههای AF_XDP برای Kubernetes، برنامههای CNDP را قادر میسازد تا در پادهای امن و غیرمجاز اجرا شوند. پشتیبانی از تابع فرعی – که در آن یک netdev منفرد به زیرشبکهها یا تابعهای فرعی تقسیم میشود – نیز در دست توسعه است. این مقیاسپذیری را در محیطهای ابری بهبود میبخشد، زیرا میتواند از رابطهای AF_XDP صفر کپی برای بارهای کاری یا کانتینرهای متعدد استفاده و مقیاسبندی کند.
نتیجه؟ میتوانید با استفاده از مزایای عملکرد AF_XDP در یک سناریوی Cloud Native، یک غلاف امن بدون امتیاز ایجاد کنید.
CNDP از مشارکت جامعه استقبال می کند. لطفاً مخزن GitHub و وب سایت در cndp.io را بررسی کنید. کد یک تست درایو را بگیرید و نمونه برنامه ها را امتحان کنید. با ایجاد درخواست های کششی در مخزن GitHub، تغییراتی را که می خواهید انجام دهید. اگر سؤالی دارید، با توسعه دهندگان با استفاده از ویژگی مشکلات مخزن GitHub برای پیشنهاد پیشرفت یا گزارش هر گونه اشکال در ارتباط باشید. همچنین میتوانید افزونههای AF_XDP برای Kubernetes را در GitHub بررسی کنید. اگر مشتری هستید که قبلاً از آن استفاده میکنید، لطفاً با بازخورد و الزامات تماس بگیرید.
برای محتوای متن باز بیشتر از اینتل، بررسی کنید open.intel
تعریف پیوست شبکه و مشخصات پاد برای راه اندازی برنامه CNDP در حال اجرا در یک پاد ایجاد شده است. این برنامه ارسال بسته در مخزن CNDP GitHub* موجود است.
هدف CNDP ارائه عملکرد بهتر نسبت به رابطهای سوکت شبکه استاندارد با بهرهگیری از فناوریهای پلتفرم برای تسریع کتابخانهها و الگوریتمهای مختلف است. همچنین معیارها و تله متری را با نمونه هایی که خدمات شبکه را در Kubernetes استقرار می دهند، ارائه می دهد. قبلاً، برنامههای CNDP که از مزایای عملکرد AF_XDP بهره میبردند، در پادهای ممتاز اجرا میشدند. با ادغام با افزونههای AF_XDP برای Kubernetes، برنامههای CNDP از مزایای عملکرد AF_XDP برخوردار هستند اما میتوانند بدون امتیاز اجرا شوند.
CNDP مجموعه ای از کتابخانه های فضای کاربر است که برای تسریع پردازش بسته برای برنامه های کاربردی ابری ساخته شده بر روی AF_XDP طراحی شده است. پلاگین های AF_XDP برای Kubernetes* یک افزونه دستگاه Kubernetes و افزونه رابط شبکه کانتینری (CNI) است که شبکه AF_XDP را به پادهای Kubernetes ارائه می کند.
الزا متیو، مهندس نرم افزار شبکه، حدود شش سال است که در اینتل کار می کند و در حال حاضر بر روی کتابخانه های نرم افزار پردازش بسته و درایورهای شبکه اترنت تمرکز دارد.
ارائه کامل را اینجا ببینید.
Sushma Sitaram، مهندس نرم افزار شبکه، به مدت 9 سال در اینتل بوده و نرم افزار پردازش بسته، درایورهای اترنت و کتابخانه های سطح پایین را توسعه می دهد.
AF_XDP یک خانواده آدرس است که برای برنامه های پردازش بسته با کارایی بالا مانند فایروال ها، دروازه ها و متعادل کننده های بار بهینه شده است. این برنامه که در هسته لینوکس 4.18 معرفی شده است، قصد دارد مزایای AF_XDP را در محیطهای بومی ابری افزایش دهد. با این حال، دو چالش وجود داشت: سهولت در توسعه و نیاز به غلاف های بی امتیاز. اجرای پادها در حالت ممتاز می تواند یک خطر امنیتی باشد – که به طور بالقوه از طریق انواع مختلف حملات مورد سوء استفاده قرار می گیرد – و باید از آن اجتناب شود.
بیایید با یک نمودار توپولوژی شروع کنیم که یک سیستم را نشان می دهد که خوشه تک گره Kubernetes را اجرا می کند و سیستم دوم که برنامه تولید کننده بسته را اجرا می کند. این دو سیستم پشت به پشت با یک کنترلر اترنت اینتل XL710 برای اترنت 40 گیگابیتی متصل می شوند.