Helm Chartهای آماده
با پیادهسازی زیرساخت جدید کانتینر ابری آروان بر بستر Kubernetes و پشتیبانی از Helm میتوانید بهسادگی اپلیکیشنهای مورد نیازتان را راهاندازی کنید. Helm یک Package Manager در کوبرنتیز است که راهکاری سادهتر برای تعریف، نصب، بهروزرسانی و مدیریت اپلیکیشنها در اختیار کاربران قرار میدهد. از طرف دیگر Chart یک پکیج در Helm است که شامل منابعی مانند Deployment ،Service ،Pod و... میشود. به بیان دیگر همهی جزییات لازم برای نصب یک اپلیکیشن در کوبرنتیز را میتوان در Helm Chart یافت. از ویژگیهای کاربردی این قابلیت، تاریخچهی Release و امکان Rollback کردن است.
در حال حاضر بیش از ۶۰ Helm Chart آماده بهشکل HA و کلاستر شده برای سازمانهای بزرگ در پنل کانتینر ابری آروان در دسترس است. برای نصب این Helm Chartها کافی است بر اساس نیازتان مقادیر فایل Values.yaml را تغییر دهید.
یکی از مهمترین فایلها در Helm Chart فایل
values.yaml
است. در این فایل میتوانید مقادیری مانند پسورد، محدودیت منابع و ایمیج اپلیکیشنتان را پیکربندی کنید. همچنین پس از نصب اپ میتوانید هر زمانی که نیاز د اشتید این مقادیر را اصلاح و برنامه را دوباره راهاندازی کنید.
نصب Helm Chart
برای آشنایی بیشتر با شیوهی تنظیم فایل Values در کانتینر ابری آروان، مراحل نصب اپلیکیشن Ghost را بهعنوان نمونه بررسی میکنیم.
با انتخاب «بامداد-۲» از بخش دیتاسنترها، وارد پنل ورژن ۲ کانتینر شده و از بخش «راهکارهای ساخت اپلیکیشن»، روی «ایمیج کانتینر» کلیک کنید.
در قسمت «اپلیکیشنهای آماده» میتوانید از میان Helm Chartهای آماده، اپلیکیشن مورد نظرتان را بیابید و آن را نصب کنید. در این راهنما ما اپلیکیشن Ghost را نصب میکنیم. با کلیک روی اپلیکیشن وارد مراحل نصب آن خواهید شد.
گام نخست: جزییات اپلیکیشن
در این گام از بین پروژههای موجود یک پروژه را برای استقرار اپلیکیشن انتخاب کنید یا یک پروژه جدید بسازید. سپس یک نام غیرتکراری برای اپلیکیشنتان بنویسید.
گام دوم: پیکربندی اپلیکیشن
برای پیکربندی Helm Chart باید مقادیر فایل Values را متناسب با نیازتان تغییر دهید. در این مرحله میتوانید ورژن اپلیکیشنتان را تغییر دهید، وابستگیها آن را مشاهده و پیکربندی کنید، به مستندات و جزییات هر Dependency دسترسی داشته باشید و Templateهای آن را بررسی کنید.
همچنین با استفاده از نمونههای ارایهشده در بخش راهنما میتوانید مقادیر Values را ویرایش کنید. همهی Helm chartهای آماده نیاز به تنظیم دامنه، منابع و شبکهی خود در Values دارند.
با مشاهدهی راهنمای هر اپلیکیشن در پنل میتوانید به خط مورد نظر هر یک از تنظیمات رفته و آن را مطابق راهنما تغییر دهید.
تنظیمات دامنه
اگر میخواهید از طریق دامنهی رایگان آروانی به اپلیکیشنتان متصل شوید، در بخش ingress
مقدار enabled
را به true
تغییر دهید و hostname
را بهشکل زیر قرار دهید:
ingress:
enabled: true
hostname: ghost-d1327bddc9-arvandocs.apps.ir-thr-ba1.arvancaas.ir
مقدار Hostname هر اپلیکیشن را میتوانید در بخش راهنما مشاهده کنید.
همچنین اگر نیاز به دامنهی اختصاصی دارید میتوانید hostname
را برابر با دامنهی خود قرار دهید:
ingress:
enabled: true
hostname: app.mydomain.ir
تنظیمات IP
اگر برای ارتباط با اپلیکیشن نیاز به IP اختصاصی دارید، در قسمت service
مقادیر را بهشکل زیر تنظیم کنید:
service:
type: LoadBalancer
ports:
http: 80
https: 443
همچنین اگر نیازی به IP اختصاصی ندارید و ارتباط درونکلاستری برای این اپلیکیشن کافی است، میتوانید از تنظیمات زیر برای service
استفاده کنید:
service:
type: ClusterIP
ports:
http: 80
https: 443
تنظیمات منابع
برای تعیین میزان منابعی مانند RAM و CPU کافی است بخش resources
را پیدا کرده و بر اساس نیازتان منابع را اختصاص دهید:
resources:
limits: {}
requests:
memory: 500Mi
cpu: 250m
تنظمیات پسورد
هنگام نصب Helm Chart، اگر مقداری را در فایل Values تعیین نکنیم، این مقدار بهشکل تصادفی تولید میشود. به همین دلیل توصیه میشود برای استفادهی آسانتر از اپ و ویرایشهای بعدی، پسورد هر اپلیکیشن را بهشکل دستی وارد کنید.
برای این کار در فایل Values کلمهی Password را جستوجو کرده و مقدار دلخواهتان را بنویسید.
گام سوم: بررسی نهایی
پس از تنظیم فایلهای Values، در مرحلهی آخر برآورد هزینه و منیفست نهایی اپلیکیشنتان را مشاهده خواهید کرد. با تایید و کلیک روی دکمهی «ایجاد» Helm Chart نصب میشود. پس از نصب، مقادیر و کامندهای کاربردی اپلیکیشن در اختیارتان قرار میگیرد.
توصیه میشود این مقادیر را ذخیره کنید.
بهکمک رخدادها و لاگ حساب کاربریتان نیز میتوانید مراحل نصب اپلیکیشن را بررسی کنید.
اگر در رخدادها با خطای Readiness Probe روبهرو شدید میتوانید با افزایش منابع یا خاموش کردن Readiness Probe در فایل Values این خطا را رفع کنید.