در این مقاله نحوه راه اندازی سرویس Kubernetes در پورتال را بررسی خواهیم کرد. برای راه اندازی Kubernetes کافیست به پورتال مراجعه کنید و سپس بر روی کوبرنتیز و ایجاد آن کلیک کنید.
پس انجام مراحل بالا به صفحه زیر منتقل خواهید شد که به ترتیب موارد را بررسی خواهیم کرد.
در این جا موارد زیر را یکی یکی بررسی خواهیم کرد.
نام کلاستر: همان طور که مشاهده می کنید باید در اینجا نام کلاستر را وارد کنید. کلاستر بزرگترین واحد در کوبرنتیز می باشد که شامل پاد،نود، سرویس ها و .... می شود. پس اولین قدم ایجاد کلاستر می باشد.
حالت کوبرنتیز:
در محیط Kubernetes معمولاً دو حالت رایج به نامهای "Production" و "Development" وجود دارند که برای توسعه و محیطهای تولید (production) تعریف میشوند. این حالتها برای تفاوت در تنظیمات و رفتار برنامهها در محیطهای توسعه و تولید مورد استفاده قرار میگیرند.
- Development:
حالت Development برای محیطهای توسعه و تست استفاده میشود. در این حالت، اهمیت بیشتری به سرعت توسعه و اطمینان از عملکرد صحیح برنامه داده میشود. برخی از ویژگیهای معمولاً در حالت Development عبارتند از:
تنظیمات Debug: تنظیمات Debug برای حالت Development فعال میشوند تا توسعهدهندگان بتوانند بهسرعت با مشکلات برنامه روبرو شوند.
استفاده از دادههای تستی: در حالت Development، ممکن است از دادههای تستی یا محلی به جای دادههای واقعی استفاده شود تا فرآیند توسعه سریعتر انجام شود.
مدیریت منابع بهصورت خودکار: در برخی از موارد، مدیریت منابع میتواند بهصورت خودکار انجام شود تا توسعهدهندگان بهراحتی بتوانند برنامه را اجرا و تست کنند.
این حالتها بر اساس نیازها و خواستههای هر محیط تعریف میشوند و تفاوتهای مرتبط با اموری مانند امنیت، مدیریت منابع و لاگگیری را در نظر میگیرند.
- Production:
حالت Production برای محیطهای تولید یا عملیاتی استفاده میشود. در این حالت، برنامهها با تنظیمات و پیکربندیهایی که برای محیط تولید مناسب هستند، اجرا میشوند. برخی از ویژگیهای معمولاً در حالت Production عبارتند از:
تنظیمات امنیتی: در محیط Production، تنظیمات امنیتی باید بر اساس استانداردهای امنیتی مشخص تنظیم شوند. این شامل مسائلی نظیر تنظیمات دسترسی (RBAC)، اجرای اتصالات امن به دیگر خدمات، و موارد مشابه است.
مدیریت منابع: در حالت Production، مدیریت منابع باید بهطور دقیق تر صورت گیرد. این شامل تخصیص منابع محدودیتها و استفاده بهینه از منابع سیستمی میشود.
رصد و لاگگیری: سیستمهای Production باید دارای راهکارهای رصد و لاگگیری پیشرفته باشند تا مشکلات سیستم بهسرعت شناسایی شده و برطرف شوند.
نسخه کوبرنتیز: در اینجا هم نسخه مربوطه را انتخاب می کنیم.
موقعیت کلاستر: در این بخش هم انتخاب می کنید سروری که قصد دارید کلاستر و سرویس کوبرنتیز خود را بری ان راه اندازی کنید در کدام منطقه قرار داشته باشد.
در نهایت بر روی ایجاد پروژه کلیک کنید.
پس ایجاد پروژه در این قسمت، سرویس های کوبرنتیز خود را مشاهده خواهید کرد.
برای انجام تنظیمات بیشتر بر روی کوبرنتیز خود کلیک کنید تا به صفحه زیر هدایت شوید.
در اینجا موارد مختلفی وجود دارد. در منو سمت راست داشبورد خود Node Template و Node Group را مشاهده می کنید که هرکدام را جداگانه بررسی خواهیم کرد.
دانلود پیکربندی
این بخش مربوط به کانفیگ و تنظیماتی می باشد که با کلیک بر روی آن دانلود می شود و از طریق دستورات آن می توانید با نرم افزاری مانند Lens به سرویس کوبرنتیزی که ساختید دسترسی پیدا کنید و از آن استفاده و آن را مدیریت کنید.
Node Template
در Kubernetes (کوبرنیتیز)، NodeTemplate
یک مفهوم مرتبط با استفاده از ابزارهایی مانند Cluster API (CAP) است. Cluster API به مدیریت و مقیاسپذیری خودکار کلاسترهای Kubernetes اختصاص دارد و از منابع ابری برای ایجاد و مدیریت نودها (Node) و سایر منابع کوبرنیتی استفاده میکند.
NodeTemplate
در Cluster API به عنوان یک الگو یا قالب برای تعریف ویژگیها و تنظیمات نودها به کار میرود. این الگو مشخص میکند که نودها چگونه باید ایجاد و پیکربندی شوند، از چه نوعی باشند و چه تنظیماتی را داشته باشند. زمانی که شما یک نود را بر اساس این NodeTemplate
ایجاد میکنید، مشخصات مشخص شده در آن به عنوان پارامترهای مشخصه (Property) به نودهای ایجاد شده منتقل میشود.
برای ایجاد بر روی Node Template و سپس بر روی ایجاد آن کلیک کنید.
در این قسمت موارد مختلفی را مشاهده خواهید کرد.
نام: در این قسمت نام Node Template را انتخاب کنید.
منطقه: در این بخش انتخاب می کنید کهNode Temlate شما در کدام دیتاسنتر قرار بگیرد. برای مثال در اینجا شیراز و افرانت و ... را مشاهده می کنید.
طرح: در این قسمت با توجه به میزان منابعی که نیاز دارید، طرح خود را انتخاب کنید.
بعد از وارد کردن موارد بالا بر روی ایجاد پروژه کلیک کنید. سپس به صفحه زیر منتقل خواهید شد و مشاهده خواهید کرد که Node Template شما ساخته شده است.
Node Group
در Kubernetes (کوبرنتیز)، مفهوم "Node Group" به طور کلی به گروهی از نودها (Node) اشاره دارد که در یک کلاستر Kubernetes به همراه تنظیمات و ویژگیهای مشابه تعریف شدهاند. این ایده به ما امکان میدهد که گروههای مشابه از نودها را بر اساس نیازهای خاص در یک کلاستر Kubernetes ایجاد کرده و مدیریت آنها را بهبود بخشیم.
برای ایجاد آن بر روی Node Group و سپس بر روی ایجاد آن کلیک کنید. با صفحه زیر مواجه خواهید شد، موارد موجود در صفحه زیر را بررسی خواهیم کرد.
نام Node Group: در این قسمت نام node group خودرا انتخاب می کنید.
Node Template: در این جا انتخاب می کنید که کدام یک Node Template ها مسئولیت مدیریت این Node Group را دارد.
traint: در Kubernetes (کوبرنیتیز)، Taints
یک مکانیسم است که به Master اجازه میدهد تا Nodeها را بر اساس مشخصههای خود تفکیک کند و تاثیر مستقیمی بر نحوه اختصاص Podها به Nodeها داشته باشد. Taints برای کنترل دقیقتر توزیع Podها در یک کلاستر و مدیریت منابع استفاده میشوند.
هر Taint از دو متغیر اصلی تشکیل شده است:
Key (کلید): یک عبارت متنی که توصیفکننده مشخصهای است که بر روی یک Node اعمال میشود، مثلاً "environment" یا "node-type".
Value (مقدار): مقدار مشخصه که به Key اختصاص دارد. این بخش اختیاری است و برای توصیف دقیقتر مشخصه مورد استفاده قرار میگیرد، مثلاً "production" یا "gpu".
همچنین، هر Taint دارای یک Effect
است که مشخص میکند چه تاثیری روی Pod دارد. این مقدار میتواند "NoSchedule" (جلوگیری از اجرای Pod بر روی Node)، "PreferNoSchedule" (ترجیح داده میشود که Pod اجرا نشود اما این اجباری نیست) یا "NoExecute" (از اجرای Podهای جدید جلوگیری میکند و Podهای موجود را از Node حذف میکند) باشد.
taints:
- key: "environment"
value: "production"
effect: "NoSchedule"
در این مثال، یک Taint با Key "environment"، Value "Production" و Effect "NoSchedule" تعریف شده است. این به معنای این است که تمام Podهایی که تنها تا تعیین این تاینت نیاز به اجرا در محیط تولید (production) دارند، باید بر روی Nodeهایی که این Taint را دارند، اجرا نشوند.
بعداز تکمیل موارد بالا بر روی ایجاد Node Group کلیک کنید تا به صفحه زیر منتقل شوید.
تعداد نود ها
در این بخش انتخاب تعداد نود ها بسیار مهم می باشد. برای مثال فرض کنید که شما تعداد نودها را بین ۱ تا ۴ انختاب می کنید و در حال حاضر ۳ نود ساخته اید. برای منابع RAM شما حداقل و اکثری تعیین شده است برای مثال حداکثر ۷۰ و حداقل ۳۰ درصد. فرض کنید در این موقعیت درگیری رم شما به بیش از ۷۰ درصد می رسد و برای ایجاد Load Balancing یک نود دیگر اضافه می شود تا فشار از روی RAM کم شود و بین نود ها تقسیم شود.
بر همین اساس انتخاب درست تعداد نود ها بسیار مهم می باشد.
همانطور که مشاهده می کنید Node Group شما هم ساخته شده است.
هنگامی که بر روی Node Group خود کلیک کنید شاهد صفحه زیر خواهید بود که می توانید یک سری از تغییرات را بر روی تنظیماتی که از قبل تعیین کردید، ایجاد کنید.
پس از طی مراحل بالا، سرویس کوبرنتیز شما با Node Group و Node Template های آن آماده شده است و می توانید از آن استفاده کنید.
امیدوارم از مقاله راه اندازی کوبرنتیز در پورتال لذت بره باشید. 🙂