یکپارچگی کوبرنتس با ویندوز سرور ۲۰۱۹
زندگی انسانها در سیطره صنایع مختلفی قرار گرفته که همگی مدعی بهبود وضعیت زندگی آنها هستند. در این میان فناوریاطلاعات از معدود عرصههایی است که رقابت و سرعت در آن موج میزند. شرکتهای فعال در حوزه فناوری شبانهروز در تلاش برای شناسایی راههای منحصر به فردی هستند که بهرهوری و سرعت انجام کارها را بیشتر میکند. سیر پیشرفت و تکامل در دنیای شبکههای کامپیوتری بیشتر از سایر عرصههای فناوریاطلاعات است، زیرا دنیای امروز بر پایه ارتباطات بنا شده و ما مجبور هستیم برای انجام کارهای خود از زیرساختهای ارتباطی به اشکال مختلف استفاده کنیم. یکی از مباحث داغ دنیای شبکههای کامپیوتری که سیر تحول در آن خیرهکننده بوده، برنامههای مدرن نوظهوری هستند که کانتینرها و ارکستراسیون را به خدمت میگیرند تا مشکل انتقال نرمافزارها از یک محیط به محیط دیگر را حل کنند. بازار جهانی محصولات کانتینر در سال ۲۰۱۶ میلادی به رقم ۶۹۸ میلیون دلار رسید و پیشبینی میشود این رقم تا سال ۲۰۲۵ میلادی به ارزش ۸.۲ میلیارد دلار برسد.
آمارهای منتشر شده از سوی بزرگان این عرصه نشان میدهد که برنامههای کاربردی در حال تغییر کاربری هستند و از ماشینهای مجازی به سمت کانتینرها متمایل شدهاند.
در همین حال، تیمهایفناوری اطلاعات و دوآپس نیز به یک مدیریت چابک برای مدیریت مراکز داده نرمافزارمحور (SDDC)سرنام Datacenter Defined Databases نیاز دارند. کوبرنتس چارچوب متنبازی که در قالب یک استاندارد معتبر در اختیار سازمانها قرار دارد، یکی از ابزارهای اصلی دنیای کانتینرها است که توانسته این شکاف را پر کند.
مایکروسافت در بیلد ۱۷۰۹ برای اولین بار از کوبرنتس نسخه ۱.۹ در ویندوز سرور برای مدیریت کانتینرها رونمایی کرد. با عرضه رسمی ویندوز سرور ۲۰۱۹، مایکروسافت با انعطافپذیرتر کردن شبکهسازی و پشتیبانی از پلاگینهای شبکهساز کانتینر قابلیت استفاده از کوبرنتس در ویندوز را بهبود بخشید. در واقع، کوربرتینس یک ابزار تنظیم کانتینر است که پیادهسازی و مدیریت دقیقتر، گسترشپذیرتر و کارآمدتر را ارائه میکند. مایکروسافت با پیادهسازی کوبرنتس در ویندوز سرور ۲۰۱۹ موفق شد به پنج هدف زیر دست پیدا کند.
برنامهریزی: پیادهسازی یک ماشین مناسب برای اجرا در کانتینر با داشتن یک ایمیج کانتینر
نظارت بر درستی عملکرد: بررسی وضعیت خرابیهای کانتینرها و برنامهریزی دوباره آنها به شکل خودکار
شبکهسازی: ارائه شبکهای برای کانتینرهای هماهنگ با یکدیگر با هدف برقراری ارتباط میان آنها از طریق ماشینهای مختلف
شناسایی سرویس: قابلیت فوق به کانتینرها اجازه میدهد، حتا در صورت تغییر میزبان یا آدرسآپی، یکدیگر را به شکل خودکار پیدا کنند.
گسترشپذیری: اضافه یا حذف دستی یا خودکار نمونه کانیتنرها با هدف رسیدگی به تقاضاها و دسترسی به قابلیتهای دیگر.
مشتریان در زمان استقرار بارکاری خود روی کوبرنتس انتظار دارند مکانیزمهای امنیتی شبکه از سرویسهای لینوکسی و ویندوزی آنها به بهترین شکل محافظت کرده و ابزارهایی به شکل توکار در اختیار آنها قرار گیرد. متخصصان دپارتمان شبکه مایکروسافت برای پاسخگویی به این نیاز، تعامل نزدیکی با شرکت Tigera برقرار کردند. ماحصل این همکاری مشترک دسترسی به Tigera Calico در ویندوز است.
کوبرنتس همراه با ویندوز سرور ۲۰۱۹
متخصصان بخش شبکه ویندوز در تعامل با جامعه کوبرنتس در هر دو زمینه زیرساخت و ارائه ابزارهای متنباز مرتبط با کوبرنتس به دستاوردهای مهمی نائل شدند. ویندوز سرور ۲۰۱۹ از همه بلوکهای سازنده کوبرنتس موسوم به primitives همچون استقرار خوشههای کوبرنتس متشکل از سیستمعاملها در محیطی که خودتان انتخاب میکنید پشتیبانی میکند. فرقی نمیکند که به دنبال حداکثر کارکرد روی استقرار درون سازمانی مرکز داده خود باشید یا ترجیح میدهید از زیرساخت اژور برای انجام کارهای خود استفاده کنید. شما میتوانید در هر دو حالت همه بخشهای شبکه را روی کلاستر خودتان با یکدیگر ترکیب کنید. مایکروسافت برای آنکه نشان دهد برای پشتیبانی از کانیتنرها و به ویژه کوبرنتس در ویندوز سرور چه راه سختی را پیموده، نقشه راهی ترسیم کرده که نشان از زحمت شبانهروزی تیم سازنده دارد(شکل ۱).
مهمترین رخداد به تصویر کشیده شده در شکل یک، ورود کوبرنتس نسخه ۱.۳ به ویندوز سرور در قالب پروژه GA است. این پروژه سرآغازی بر پشتیبانی رسمی ویندوز سرور از فناوری فوق است. مایکروسافت با پشتیبانی رسمی از کوبرنتس در ویندوز سرور به دنبال دستیابی به دو هدف بزرگ بود. اول آنکه نشان دهد به درخواستهای کاربران احترام گذاشته و فناوری فوق را به عنوان یکی از مولفههای اصلی ویندوز سرور در اختیار آنها قرار داده و دوم آنکه به دنبال جذب جامعه متخصصان کوبرتینس بود. کوبرنتس یکی از داغترین موضوعات حال حاضر گیتهاب است و انتظار میرود این جامعه فعال و بزرگ نقش بزرگی در پیشرفت کوبرنتس در ویندوز سرور بازی کنند.
نیکل شامپور از شرکت ESRI میگوید: «گره ویندوزی من به درستی با کلاستر هماهنگ شده و من قادر به برنامهریزی یک پاد (pod) روی آن هستم. این معرکه است». در کوبرنتس کانتینرهای مختلفی که بهطور مشترک برنامه کاربردی خاصی را شامل میشوند، در حالت تفکیک شده و مستقل تحت عنوان پاد (Pod) دستهبندی میشوند.
اولریش رابنشتاین، توسعهدهنده ارشد SAP میگوید: «برای من یک قابلیت منحصر به فرد است که کوبرنتس روی ویندوز خیلی روان کار میکند».
یک سناریو ساده که نحوه استقرار کوبرتینس روی ویندوز سرور ۲۰۱۹ را نشان میدهد
یک برنامه مبتنی بر ویندوز که شامل یک سرویس سفارش، سرویس موقعیت مکانی و سرویس هویت است را در نظر بگیرید. ما میتوانیم اطلاعات محرمانه را با تعیین خطمشیهای امنیتی شبکه که بر نحوه کنترل دسترسی به اطلاعات دلالت دارند محافظت کرده و به این شکل از بارکاری (workload) خود در برابر دسترسیهای غیر مجاز محافظت کنیم. در همین حال به سامانهای با قابلیت دسترسی بالا نیاز داریم که همیشه در دسترس بوده و هیچگاه خراب نشود. برنامهها یا سرویسهای کاربردی یک شرکت ممکن است در برههای از زمان همچون شنبهها پر بازدید شوند و بر حسب تقاضا ترافیک سیر صعودی به خود گیرد. همچنین، برخی از شرکتها یکسری سرویس ویندوزی و لینوکسی دارند که باید با یکدیگر ارتباط برقرار کنند. چگونه میتوانیم با کمک گرفتن از کوبرنتس و ویندوز سرور ۲۰۱۹ به این مسائل رسیدگی کنیم؟
ما میتوانیم طرح بالا را بدون مشکل درون یک کانتینر اجرا کنیم، بهگونهای که هر یک از این سرویسها از طریق شبکههای اشتراکی و منابع پردازشی با یکدیگر ارتباط برقرار کنند. با این حال، ما به دنبال یکسری مزایای فنی همچون انعطافپذیری بالا و تعادل بار کاری هستیم. در نتیجه باید به فکر تقسیم این برنامه به مولفههای کوچکتری باشیم تا مدیریت بهتر و کنترل دقیقتری روی مولفهها داشته باشیم.
برای انجام اینکار در کوتاهترین زمان و موثرترین روش باید به فکر بازنویسی معماری و استانداردسازی این سیستم توزیعی از طریق یک کانتینر مبتنی بر زمانبندی و هماهنگی باشیم. بهترین گزینه پیش روی ما کوبرنتس است. در حال حاضر، کوبرتینس یکسری ویژگیهای بومی در اختیار ما قرار داده که پاسخگوی این فرضیه است. ویژگیهایی که اجازه میدهند در آینده هر زمان الزامات تغییر پیدا کرد، بدون آنکه به یک بازطراحی کامل نیازی داشته باشیم با کمترین زحمت ممکن برنامه فعلی را منطبق با نیازمندهای آینده کنیم. یک چنین رویکردی قابلیت حمل بالایی در اختیار ما قرار میدهد. چگونه این راهحل مبتنی بر کوبرنتس را پیادهسازی کنیم؟ اجازه دهید در قالب پرسشوپاسخی به این مسئله رسیدگی کنیم.
۱.چگونه میتوانم از اطلاعات محرمانه با تعیین استراتژیهای امنیتی شبکه که نحوه کنترل دسترسی به اطلاعات را مدیریت میکنند محافظت کنم؟
راهحل: از ویژگی خطمشی شبکه استفاده کنید. رویکرد فوق روش دقیقی برای محدود کردن ترافیک و جدا کردن کانتینرهایی است که در حال اجرای بارکاری هستند.
۲. چگونه میتوانم یک سامانه با دسترسپذیری بالا در اختیار داشته باشم که همواره در دسترس باشد؟
راهحل: از قابلیت استقرار (deployment feature) برای نظارت بر سلامتی و جایگزینی خودکار کانتینرها در زمان وقوع خرابیها استفاده کنید.
۳. برنامههای من ممکن است بر حسب تقاضا در برخی از زمانها ترافیک بالایی داشته باشند. (به ویژه در اوایل هفته کاری) چه راهکاری پیشنهاد میکنید؟
راهحل: از قابلیت service feature کوبرتینس همراه با استقرار برای تعریف مجموعهای از پادهای متعادلکننده بار که میتوانند به راحتی برای پردازش ترافیک ورودی شبکه گسترشپذیر شوند استفاده کنید.
۴. سرویسهای ویندوزی دارم که باید با سرویسهای لینوکسی و بالعکس ارتباط برقرار کنند، این مشکل چگونه حل میشود؟
راهحل: کوبرنتس مدلی برای اتصال کانتینترها ارائه کرده که اجازه میدهد برنامههای کاربردی از طریق سرویسها با یکدیگر ارتباط برقرار کنند. هر سرویسی روی هر سیستمعاملی از طریق آدرس آیپی یا نامی که دارد قادر به برقراری ارتباط با دیگری است.
شاید چالشبرانگیزترین حالتی که برای استقرار (با وجودی که بیشترین کنترل در اختیار شما قرار داده شده) وجود دارد این است که شما خودتان باید کوبرنتس را در مرکز دادهتان طراحی کرده و مستقر کنید. البته شاید چالش فوق را بتوانیم یک مزیت نیز در نظر بگیریم که وابستگی شما به اشخاص ثالث را کاهش داده و اجازه میدهد اطلاعات و دادههای اختصاصی خود را درون زیرساختتان نگهداری کنید. برای این منظور، ویندوز از Flannel CNI برای مدیریت مسیر و Calico CNI برای اجرای سیاستهای شبکه پشتیبانی میکند. برای کنترل حداکثری شبکه، شما می توانید خودتان برنامههای ایستا را برنامهریزی کرده و از پلاگین شبکه Wincni استفاده کنید.
برای بهره مندی از این ویژگی قدرتمند چه ملزوماتی نیاز است؟
در اولین گام، به یک کامپیوتر یا ماشین مجازی که ویندوز سرور ۲۰۱۹ روی آن نصب شده نیاز دارید. در ادامه به یک کامپیوتر یا ماشین مجازی با سیستمعامل لینوکس نیاز دارید که از کوبرتینس پشتیبانی کند (برای گره اصلی).
کلام آخر
مایکروسافت در زمینه استقرار یک کلاستر کوبرنتس روی اژور بر مبنای پروژه متنباز Acs-engine راهکار جالبی ارائه کرده که ما در این مقاله به آن راهکار اشارهای نداشتیم.
علاوه بر گزینههای ذکر شده، تعامل با ردهت باعث شده تا کانتینر ویندوزسرور بهنام RedHat OpenShift Container Platform که یک کانتینر در مقیاس سازمانی است در اختیار علاقهمندان به طراحی راهحلهای پیچیده قرار گیرد؛ افرادی که حیطه کاری آنها ترکیبی از سیستمعاملهای مختلفی است که بارکاری آنها روی سیستمعاملهای مختلف توزیع شده است. درست است که کوبرتینس در ویندوز سرور راه طولانی پیشرو دارد، اما متخصصان شبکه مایکروسافت تصمیم دارند با جامعه کوبرتینس مشارکت فعالی داشته باشند تا کاستیهایی که هنوز شناسایی نشدهاند به سرعت شناخته شده و برطرف شوند.
منبع:شبکه-مگ