معرفی محصول vSphere با Kubernetes

 تاریخ انتشار :
/
  وبلاگ
معرفی محصول vSphere با Kubernetes

VMware فناوری به نام Project Pacific را در VMWorld 2019 معرفی کرد. این فناوری در واقع یک نسخه بازطراحی شده از vSphere است که هدف آن ادغام با Control Plane Kubernetes (به اختصار K8s) برای مدیریت یکپارچه ماشین‌های مجازی و کانتینرهای vSphere است. توسعه دهندگان نرم افزار می توانند به راحتی ماشین های مجازی، دیسک ها و کارت های شبکه متصل به آنها را با استفاده از دستورات Kubernetes مدیریت کنند. این می‌تواند برای تیم‌هایی از محیط‌های ناهمگن که هم ماشین‌های مجازی و هم کانتینرها را شامل می‌شوند، مفید باشد، مشروط بر اینکه پلتفرم مجازی آنها VMware vSphere باشد.

فناوری Project Pacific اجزای پلتفرم Kubernetes را در قالب ماشین‌های مجازی vSphere مستقر می‌کند و مدیر پلتفرم مجازی‌سازی شده می‌تواند قابلیت‌های پلتفرم vSphere مانند تخصیص منابع، رمزگذاری، دسترسی بالا (HA)، برنامه‌ریز منابع توزیع شده (DRS) و استفاده را فراهم کند. عکس فوری برای بارگذاری های Kubernetes.

در این فناوری دو جزء اصلی پلتفرم Kubernetes یعنی Agent و Container Runtime به عنوان اجزای سفارشی به vSphere اضافه شده است. نوع خاصی از خوشه Kubernetes به نام Supervisor در وسط پروژه Pacific فعالیت می کند. به عبارت دیگر، Kubernetes از ESXi به جای سیستم عامل لینوکس برای استقرار اجزای خود استفاده می کند و یک عامل ویژه vSphere به نام Spherelet را روی هاست های ESXi نصب می کند. Spherelet بر اساس پروژه ای به نام Virtual Kubelet است که کاربرد اصلی آن اتصال Kubernetes و سایر سرورها برای ایجاد یک پلتفرم پادکست است. Virtual Kubelet یک ابزار متن باز است که توسط مایکروسافت توسعه یافته است.

کانتینرهای ESXi توسط یک Container Runtime به نام CRX (Container Runtime Executive) مدیریت می شوند. CRX مانند یک ماشین مجازی با هسته لینوکس در داخل و حداقل Container Runtime در داخل است. اما از آنجایی که این هسته لینوکس با Hypervisor یکپارچه شده است، می توانیم از طریق آن عملیات بهینه سازی ماشین مجازی کانتینری را نیز انجام دهیم. CRX از تکنیکی به نام Direct Boot برای آماده سازی اولیه ماشین مجازی استفاده می کند و این روش به مراحل معمول بوت هسته نیاز ندارد. در ادامه به هر یک از این مفاهیم پرداخته خواهد شد.

علاوه بر تغییراتی که این فناوری در ESXi ایجاد می کند، مجموعه ای از مؤلفه ها را نیز به vCenter اضافه می کند. این اجزا عبارتند از:

  • سرویس پلت فرم بارگیری: این سرویس ایجاد یک فضای نام در خوشه را امکان پذیر می کند و تعامل بین REST API و رابط های فضای نام را برقرار می کند.
  • پیوندهای مشتری K8s: سرویس Workload Platform را به سرور K8s API متصل می کند. مدیران پلتفرم مجازی می توانند Kubernetes را با استفاده از رابط HTML5 نرم افزار vCenter پیکربندی کنند و تنظیمات به تنظیمات قابل استفاده در فضای نام Kubernetes ترجمه می شوند.
  • خدمات تبادل توکن: این سرویس توکن‌های vSphere SSO SAML را دریافت می‌کند و آنها را برای استفاده توسط Kubernetes به فرمت JSON Web Tokens (JWT) تبدیل می‌کند.
  • بسته تصویری: یک مخزن برای ذخیره تصاویر مربوط به Control Plane و Spherelet Bundle ایجاد می کند.

معرفی محصول vSphere با Kubernetes

معماری پروژه اقیانوس آرام

خوشه نظارتی

پس از فعال سازی Project Pacific در vSphere Cluster، این خوشه به یک خوشه سرپرست تبدیل می شود و قابلیت های Kubernetes را فعال می کند. هنگامی که ویژگی Kubernetes در کلاستر فعال شد، vCenter مراحل زیر را انجام می دهد:

3 ماشین مجازی Kubernetes Control Plane با استفاده از تصویر Supervisor Control Plane در خوشه ایجاد می شوند. اطلاعات پایگاه داده Kubernetes در این ماشین های مجازی در قالب کلید-مقدار (مشابه K8s etcd) ذخیره می شود. قانون Anti-Affinity برای این ماشین های مجازی اعمال می شود و برای 3 هاست مختلف اعمال می شود، بنابراین در صورت بروز مشکل در هاست ها، Control Plan نقض نمی شود. علاوه بر راه اندازی سرور Kubernetes API، چندین افزونه vSphere در ماشین های مجازی Control Plane وجود دارد. این افزونه ها عبارتند از:

NCP پلاگین کانتینر NSX-T

این افزونه به عنوان یک ظرف کار می کند و ارتباط بین NSX Manager و Kubernetes Control Plan را برقرار می کند. مدیریت اجزای شبکه مانند پورت های منطقی، سوئیچ، روتر و گروه های امنیتی با استفاده از NSX API بر عهده این افزونه است.

(CNS)

به مدیر اجازه می دهد تا از vSphere Datastore (از هر نوع VMFS، NFS یا vSAN) به عنوان یک حجم محفظه دائمی ایجاد شده توسط Kubernetes استفاده کند.

برنامه ریزی

هنگامی که مدیر قصد دارد یک ماژول جدید ایجاد کند، سرویس از VMware DRS برای تعیین اینکه کدام گره برای ماژول در خوشه Supervisor مناسب است استفاده می کند.

احراز هویت

کاربران می توانند با استفاده از حساب های کاربری تعریف شده در SSO vSphere به خوشه مهمان Kubernetes متصل شوند.

بسته Spherelet بر روی همه میزبان‌های کلاستر نصب شده است و به میزبان‌های ESXi اجازه می‌دهد تا به عنوان Kubernetes Worker Node عمل کنند. در vCenter، سرویس Workload Platform این عامل را بر روی هاست های جداگانه در کلاستر نصب می کند. Spherelet همچنین فضاهای نام را با استفاده از REST API مدیریت می کند.

Container Runtime Executive (CRX) را روی هاست های ESXi نصب کنید. CRX از نظر سرویس Hostd و سرور vCenter شبیه یک ماشین مجازی به نظر می رسد، اما CRX به شما اجازه می دهد تا کانتینرها را مستقیماً در VMKernel اجرا کنید. CRX یک ماشین مجازی است که شامل یک هسته لینوکس (سیستم عامل PhotonOS) و حداقل زمان اجرای کانتینر است. مانند سایر ماشین های مجازی، این ماشین مجازی دارای یک فایل VMX (ماشین مجازی قابل اجرا) است، اما بسیاری از پارامترهای موجود در ماشین مجازی را می توان خیلی سریع (در کمتر از یک ثانیه) بارگذاری کرد. علاوه بر VMX، فایل بهینه سازی شده VMware با فناوری Direct Boot طراحی شده است که بسیاری از عملیات زمان بر را از فرآیند بوت سیستم عامل حذف می کند، مانند تشخیص سخت افزار یا پیکربندی ساختار حافظه، زیرا ساختار حافظه CRX از قبل است. ایجاد شده و به موقع شارژ نیازی به تعریف ندارد. پادهایی که با استفاده از CRX در پلتفرم vSphere ایجاد می شوند، Native Pods یا vSphere Pods نامیده می شوند.

معرفی محصول vSphere با Kubernetes فضای نام ها

مفهوم فضای نام تعریف شده برای Supervisor Cluster در پلتفرم vSphere با مفهوم مشابه در Kubernetes متفاوت است. فضای نام در Supervisor Cluster را می توان به عنوان مجموعه ای از منابع برای تخصیص منابع سخت افزاری مانند حافظه CPU در نظر گرفت. مدیر پلتفرم vSphere همچنین می تواند دسترسی کاربران به فضای نام را تعیین کند. علاوه بر این، مدیر می تواند تعیین کند که کدام قوانین ذخیره سازی برای فضای نام اعمال می شود و تعیین می کند که کدام ذخیره داده به فضای نام دسترسی دارد.

خوشه مهمان

Kubelet مورد استفاده در Supervisor Cluster با Kubelet مورد نیاز Kubernetes متفاوت است، بنابراین با ساختار Kubernetes Cluster مطابقت ندارد و ممکن است در پیاده سازی برخی از کانتینرها مشکل داشته باشیم. VMware در حال طراحی و توسعه یک خوشه مهمان برای رفع این مشکل است. خوشه مهمان عمدتاً خوشه Kubernetes است که در داخل خوشه Supervisor به عنوان ماشین های مجازی اجرا می شود. خوشه مهمان کاملاً با پلتفرم Kubernetes بالادست خود سازگار است و به جای سرورهای اصلی و میزبان فقط برای ماشین ها اعمال می شود.

نکته دیگری که در این زمینه باید به آن توجه کرد این است که ارتباط بین Supervisor Cluster و vSphere Cluster یک ارتباط یک به یک است. به عبارت دیگر، در یک کلاستر vSphere تنها یک خوشه سرپرست می تواند وجود داشته باشد. اما چنین ارتباطی بین یک خوشه مهمان و یک خوشه نظارتی وجود ندارد و چندین خوشه مهمان با فضای نام متفاوت می توانند در یک خوشه نظارتی وجود داشته باشند.

معرفی محصول vSphere با Kubernetes

VMware vSphere با Tanzu

در اوایل سال 2020، شش ماه پس از معرفی Project Pacific، VMware محصول جدیدی به نام VMware Cloud Foundation (VCF) با Tanzu معرفی کرد که از فناوری Project Pacific استفاده می کند. پس از عرضه این محصول، VMware متوجه شد که علاوه بر کاربرانی که از VCF با Tanzu برای پلتفرم ابری و توسعه نرم‌افزار استفاده می‌کنند، کاربران زیادی هم هستند که از Kubernetes در پلتفرم فعلی vSphere استفاده می‌کنند و می‌خواهند از زیرساخت شبکه فعلی و فضای ذخیره‌سازی vSphere استفاده کنند. برای پیاده سازی Kubernetes، Vware تصمیم گرفت این ویژگی را به پلتفرم vSphere در vSphere 7 Update 1 اضافه کند.

در مقالات بعدی vSphere با تکنولوژی Tanzu معرفی خواهد شد.

معرفی محصول vSphere با Kubernetes