معرفی VMware vSphere با Kubernetes، بررسی اهداف و قابلیت های آن باید گفت، اگر کاربری در دنیای فناوری اطلاعات جستجو کرده باشد احتمالا کلمه Kubernetes را معمولا همراه با Containerها و Developer ها دیده است. Containerها ابتدا در سال 2008 و در Linux شروع به فعالیت کرده و یک روش Portable و سبک برای توزیع و راهاندازی برنامههای کاربردی در تمام سیستمهای عملیاتی و Cloud هاست. Containerها ماشینهای مجازی نیستند و طبق انتظار هم مزایا و هم یکسری معایبی دارد.
Containerها میتوانند برای توسعه برنامههای کاربردی بسیار موثر باشند. Kubernetes ایجاد شد تا به مدیریت بسیاری از چالشهای پیرامون پیادهسازی برنامههای کاربردی به ویژه با کمک به خودکارسازی و تنظیم پیادهسازیها و دسترسی مساعدت کند،.
خود Kubernetes یک پروژه Open-Source است که با Cloud Native Computing Foundation هدایت میشود. VMware با نرمافزار Open-Source Kubernetes همکاری بسیاری داشته و بطور عمیق در مجامع Kubernetes و چگونگی هدایت آن مشارکت میکند. Kubernetes شدیدا مبتنی بر API بوده و خود را به خوبی وقف خودکارسازی میکند. این امر برای Developerهای برنامههای کاربردی بسیار خوشایند است زیرا آنها به دنبال اجرای اقدامات مدرن توسعه همراه با چرخههای توسعه مداوم یا کوتاه هستند و همچنین آنها به دنبال APIهای تعریف شده و سرویسهایی هستند که به خوبی جدا و تعریف شدهاند که معمولا با عنوان Microserviceها از آنها یاد میشود.
مدیران vSphere و Virtual Infrastructure معمولا خود را میان Developerهایی مییابند که به دنبال اقدامات توسعه برنامههای کاربردی مدرن و زیرساخت قدیمی IT و مدیریتی هستند که حاصل دهها سال است. این مقاله جهت یاری به مدیران سازمان ها برای درک ماهیت vSphere with Kubernetes، چگونگی کمک کردن آن در ساخت Bridgeها و چگونگی شروع به کار با این زیرساخت جدید برای برنامههای کاربردی Cloud-Native در Cloudهای Public و On-Premises نگاشته شده است.
جهت مشاوره رایگان و یا راه اندازی زیرساخت مجازی سازی دیتاسنتر با کارشناسان شرکت APK تماس بگیرید. |
اهداف VMware vSphere با Kubernetes
اهداف ما در این مقاله فهم موارد زیر توسط کاربران است:
- ماهیت VMware vSphere با Kubernetes
- ارزشی که Kubernetes Namespace برای VMware Administrator و Developerها به همراه دارد.
- تفاوتهای میان یک Supervisor Cluster و Tanzu Kubernetes Cluster
- نحوده شروع کار با VMware vSphere با Kubernetes و VMware Cloud Foundation Services
Kubernetes چیست؟
طبق Kubernetes.io ،Kubernetes یک پلتفرم پرتابل، قابل توسعه و Open-Source است و برای مدیریت Workloadها و سرویسهای Containerشده بکار میرود و بدین ترتیب خودکارسازی و پیکربندی ِDeclarative تسهیل میشود. این تکنولوژی یک محیط بزرگ دارد که دائما درحال گسترش است و سرویسها، پشتیبانی و ابزارهای Kubernetes بطور گستردهای در دسترساند.
این چه مفهومی برای یک VMware Administrator دارد؟ Kubernetes یک رویکرد نوآورانه برای تنظیم پیادهسازی و مدیریت مداوم چرخه عمر Workloadهای مدرن و مبتنی بر Container است. شاید توضیح مختصری از رویکردهای مختلف پیادهسازی برنامههای کاربردی در فهم چگونگی سازگاری Kubernetes در یک سازمان مدرن کمک کند:
- پیادهسازی قدیمی: پیادهسازی مستقیم برنامههای کاربردی و Workloadها در سرورهای فیزیکی را پیادهسازی قدیمی گویند. این گونه پیادهسازیها انعطاف پذیر نیستند، به سختی توسعه مییابند و با حبس کردن منابع با ارزش در سیستمهای خاص آنها را هدر میدهند.
- پیادهسازی مجازی: Mware ESXi که یک Hypervisor است یک لایه جداسازی اضافه میکند که ایجاد ماشینهای مجازی تقلید کننده عملکرد یک سرور فیزیکی استاندارد را در نظر میگیرد بنابراین یک Workload نمیداند که بطور مستقیم در یک سرور فیزیکی درحال فعالیت نیست. هر ماشین مجازی مجموعه منابع اختصاصی خود و سیستم عملیاتی خود را دارد و میتواند ایزولهسازی منابع را از سایر ماشینهای مجازی تامین کند. همچنین VMware ESXi قابلیتهای دسترسی بسیاری مانند vMotion، Dynamic Resource Scheduling ،High Availability و غیره را فراهم میسازد و تمامی این موارد مزایای بسیاری نسبت به پیادهسازی قدیمی دارند.
بیشتر بخوانید: دلایل استفاده از قابلیت HA در مجازی سازی سرور VMware
- پیادهسازی Container شده : Containerها مانند ماشینهای مجازی هستند اما سبک بوده و محدودیتهای شدید ماشینهای مجازی را ندارند. این ویژگیها آنها را در گروهی از سیستمهای عملیاتی Guest مانند Linux، پرتابلتر میکند، سیستم عملیاتی یک Container از سیستمی میآید که Container در آن فعالیت میکند و میان تمامی Containerهایی که در یک Host فعالیت میکنند به اشتراک گذاشته میشود. با این حال، Containerها دارای Filesystem و مکانیزمهای اختصاص منابع خود هستند. Containerها بخاطر داشتن پیادهسازی مداوم و یکپارچگی در پیادهسازی محبوب هستند و این ویژگیها بخاطر طبیعت سبک آنها ممکن شده است.
Namespace VMware vSphere با Kubernetes در مراسم VMworld سال 2019 به عنوان Project Pacific معرفی شد. این تکنولوژی قابلیتهای Kubernetes را طوری به vSphere اضافه میکند که تجربههای قدیمی Developerها و مدیران vSphere را لحاظ کند.
برای یک Developer ،VMware vSphere با Kubernetes همانند یک کلاستر استاندارد Kubernetes به نظر میرسد و عمل میکند. ابزارها و فرآیندهای آنها در تمامی پیادهسازیها کار میکند و میتوانند با استفاده از Declarative Syntax مربوط به Kubernetes منابع مورد نیاز خود مانند ذخیرهساز، شبکه و حتی روابط و الزامات دسترسی را تعریف نمایند. با استفاده از Syntax صنعتی استاندارد Kubernetes آنها نیازی به دسترسی مستقیم یا دانش زیرساخت، Clientها یا APIهای vSphere ندارند.
بیشتر بخوانید: VMware vSphere VMFS چیست؟ معرفی و بررسی عملکردها و قابلیت های آن – قسمت اول
برای یک vSphere Admin ،vSphere به عملکردی که طی دهههای اخیر داشته ادامه میدهد اما اکنون با قابلیتهای مدیریتی جدید Workload نیازهای Developerها را بهتر از قبل فراهم میسازد. مدیریت vSphere همچنان با vSphere Client، PowerCLI و APIها انجام میشود همانطور که سالها انجام میشد. مدیران vSphere میتوانند Namespaces را پیادهسازی کنند – اصطلاح ویژه Kubernetes برای مدیریت Policyها، منابع و قابلیتهای مربوط به امنیت، مصرف منابع و شبکه را برای Developerها مدیریت نمایند.
یک رویکرد یکپارچه برای زیرساختی که بطور خاص برای Host کردن هردو Workload قدیمی و مدرن و برنامههای کاربردی با ماهیت Native طراحی شده فراهم میکند. برای Developerهای برنامههای کاربردی، این رویکرد Kubernetes بوده و برای مدیران vSphere این رویکرد vSphere است. برای تجارت، این یک رویکرد مداوم و استاندارد برای پیادهسازی و مدیریت Workloadهای قدیمی و مدرن، برنامههای کاربردی با ماهیت Cloud در عین حفظ امنیت، تطبیقپذیری و کنترل زیرساخت IT است.
چه اجزایی یک کلاستر Kubernetes را تشکیل میدهد؟
اجزای زیادی تشکیل دهنده Kubernetes بوده و در این قسمت مثالی از مواردی که مربوط به پیادهسازی و پیکربندی VMware vSphere با Kubernetes هستند آورده شده است:
- Nodeها: دو نوع Node اصلی در Kubernetes وجود دارد که شامل Master و Worker است. Master Node یک Node مدیریتی است؛ چیزی که از vCenter Server انتظار میرود. یک Worker Node چیزی است که از ESXi Host انتظار میرود و اجازه اجرای Podها را میدهد.
- Pod : Pod گروهی از یک یا چند Container است و اگر به یک سازه VMware Administrator، Map شود میتوان آن را مشابه ماشین مجازی درنظر گرفت. Podها توسط یک Kubelet که در هر Node فعالیت میکند مدیریت میشوند. Kubelet نظارهگر Podspecهای ارجاع شده به آن بوده و با مقایسه حالت فعلی Pod با حالت دلخواه که در Podspec ذخیرهشده به تمامی مراحل چرخه زندگی رسیدگی میکند.
- ذخیرهساز: فایلهای ذخیرهشده در یک Container موقتی هستند و این بدان معناست که دادههای آنها مجددا از بین میروند، این هم یک مزیت است و هم یک نقطه ضعف. اگر کاربر بخواهد که دادهها دائمی باشند باید در یک Volume دائمی ذخیره شوند. Volumeهای متنوع زیادی در Kubernetes در دسترس قرار دارند. VMware vSAN دارای قابلیتهای ذخیرهساز Container Native است که به Workloadها این امکان را میدهد تا Volumeهای دائمی را در پیادهسازی VMware Cloud Foundation قرار دهند. vSphere Cloud Native Storage با Volumeهای vSphere امکان پشتیبانی از Volumeهای دائمی Kubernetes را فراهم میکند. ارائه دهنده CNS از VSAN و هر Datastore مبتنی بر VMFS پشتیبانی میکند.
- Namespace : Namespace به عنوان واحد مدیریت در محیطهای دارای کاربران زیاد در چندین پروژه یا دوره مورد استفاده قرار میگیرد. Namespaceها راهی برای تقسیم منابع کلاستر و جداسازی مجوزهای میان کاربران است. زمانی که یک Namespace ایجاد شد میتوان محدودیتهای ذخیرهساز، حافظه و CPU را تعیین نمود تا مقدار منابعی که یک Workload مصرف میکند را محدود ساخت مانند vSphere Resource Pool. اما Namespaceها بر خلاف Resource Poolها کنترلهایی مانند امنیت را هم در خود جای دادند.
- به عنوان مثال، از بعد امنیتی میتوان با Namespaceها و از طریق استفاده از گروههای Read-Only یا Edit، کنترلهای دسترسی را مدیریت نمود. همچنین این قابلیت وجود دارد تا با Policyهای امنیتی، Portها را محدود ساخت، تغییرات را حسابرسی کرد و رمزگذاری دادهها را اعمال نمود. رمزگذاری تمامی Containerها یا ماشینهای مجازی در یک Namespace با تنظیم یک ویژگی صورت میگیرد و نیازی به رفتن به سراغ هر ماشین مجازی و رمزگذاری تکتک آنها نیست.