منبع گیت
در این نوع از اپ شما میتوانید اپ خود را از روی یک ریپوی گیت که حاوی داکرفایل است، بسازید. ریپوی شما میتواند روی گیت اختصاصی همروش، همگیت، گیتهاب و یا گیتلب خودتان مستقر باشد.
برای آشنایی بیشتر با همگیت میتوانید مستند نحوه استفاده از همگیت را مطالعه کنید. همچنین برای ساخت اپ از روی ریپوی گیتهاب پیشنهاد میکنیم مستند نحوه اتصال دارکوب به گیتهاب را مطالعه کنید.
انتخاب نوع اپ
برای ساخت اپ از روی ریپو گیت، پس از انتخاب گزینه ساخت اپ، نوع منبع گیت را برای اپ خود انتخاب کنید.
انتخاب محل استقرار ریپو
در گام بعد لازم است مشخص کنید که ریپوی شما کجا قرار دارد. همان طور که در بالا اشاره شد، ریپو شما میتواند روی همگیت، گیتلب خودتان و یا گیتهاب قرار داشته باشد.
توجه داشته باشید که برای بارگذاری پروژه خود روی همگیت، میتوانید پس از ساخت اکانت در کنسول همروش، وارد همگیت شوید و با کلیک روی گزینه «Sign in with Hamravesh» همگیت خود را فعال کنید و سپس پروژهی خود را روی همگیت بارگذاری کنید.
حال در این مرحله لازم است اطلاعاتی درباره با ریپو و تنظیمات دیگر اپ وارد کنید که در ادامه به توضیح هر یک میپردازیم.
نام برنچ
دارکوب این امکان را برای شما فراهم میکند که مشخص کنید که اپ شما از روی کدام برنچ ریپو ساخته شود. به صورت پیشفرض برنچ master برای ساخت اپ انتخاب شده است.
آدرس داکر فایل
در این قسمت لازم است آدرس نسبی Dockerfile اپ داکریشدهی خود را وارد کنید (مثلا ./Dockerfile) به صورت پیشفرض، پوشهی ریشه ریپوی شما به عنوان آدرس داکرفایل در نظر گرفته شده است.
info
برای یادگیری نحوه داکریکردن اپ خود میتوانید به صفحه داکریکردن اپ در Hacker Noon مراجعه کنید.
Build Context
آدرسی که ایمیج شما روی آن بیلد خواهد شد. مقدار پیشفرض پوشهی root در نظر گرفته شده است.
دیپلوی خودکار بعد از push کردن
با فعال کردن این گزینه، با هر بار پوش کردن روی برنچ مشخصشده، اپ شما به صورت خودکار بهروزرسانی میشود. در صورتی که میخواهید حتما به شکل دستی اپ را آپدیت کنید، این گزینه را غیرفعال کنید.
تکمیل اپ
پس از انتخاب ریپو لازم است تنظیمات دیگری برای اپ خود تعیین کنید که در ادامه به توضیح هر کدام میپردازیم.
تکمیل اطلاعات اپ
در این مرحله لازم است اطلاعات اپ تکمیل شود.
اطلاعات عمومی
نام اپ (App Name)
نام اپ شناسهای است که در هر فضای نامی (Namespace) اپ شما را به صورت یکتا مشخص میکند و در صفحه اصلی دارکوب در لیست اپها نمایش داده میشود.
پورت سرویس
اگر اپ شما بر روی پورت خاصی در حال listen است در این قسمت میتوانید تنظیمات مربوطه را وارد کنید. در صورت نیاز به تعریف بیش از یک پورت میتوانید از طریق تب «پورتها» آنها را تعریف کنید.
caution
دقت کنید که پردازه روی این پورت در حال listen کردن باشد. در صورت نیاز به مستندات داکر ایمیج پایه مراجعه کنید.
تعریف چند پورت
در صورتی که اپ شما چند پورت دارد، میتوانید در تب پورتها آنها را تعریف کنید. پورت شما میتواند از دو نوع UDP یا TCP باشد.
همچنین در صورت نیاز به دسترسی به اپ از خارج از کلاستر، میتوانید آیپی اپ خود را به خارج از کلاستر expose کنید.
caution
توجه داشته باشید که اگر برای اپ خود هاست تعریف کرده باشید، لازم است تا نام یکی از پورتهای خود را http قرار دهید.
expose شدن آیپی و در دسترس قرارگرفتن آدرس خارجی ممکن است مدت کوتاهی به طول بیانجامد. در صورتی که پس از ساخت اپ، در تب پورت آدرس خارجی را مشاهده نکردید، مدتی صبر کرده و سپس صفحه را رفرش کنید.
دستور اجرایی
در این قسمت دستور اجرایی مورد نظر برای اجرای ایمیج برنامه باید وارد شود (معادل Command).
ورودی ها
اگر دستور اجرایی در بخش فوق دارای ورودی باشد مقادیر آن باید در این قسمت وارد شود (معادل Args). در صورت نیاز به اجرای دستورهای پیچیده میتوانید از چیزی شبیه زیر استفاده کنید:
دستور اجرائی: /bin/sh -c
ورودیها: command1 && command2
Health Check Path
با استفاده از این مقدار آماده/سالم بودن سرویس مورد ارزیابی قرار میگیرد.
لازم است شما endpoint ای برای سرویس خود ایجاد کنید که اگر به ازای درخواستی به آن، status_code 200 برگرداند، مشخص کنندهی صحت عملکرد سرویس شما میباشد.
این آدرس باید به شکل نسبی داده شود مثلا /is_ready
. در صورت علاقه
صفحه مستندات کوبرنتیز مربوط
را مطالعه کنید.
آدرس دامنه
آدرس زیردامنه دارکوب
در صورتی که برای تست اپ خود به یک دامنه موقت نیاز دارید میتوانید اپ خود را در زیر دامنه darkube.app مستقر کنید.
آدرس دامنه (Host Address)
در این قسمت آدرس یا آدرسهای هاست مربوط به اپ را مشخص میکنید.
ساخت گواهی SSL
با فعال کردن این قسمت یک گواهی TLS برای دامنههای شما ایجاد میشود.
HTTPS Redirect
با فعال کردن این ويژگی در صورتی که به آدرس http اپ درخواستی ارسال شود، با جواب 301 به نسخهی https ریدایرکت میشود.
فعالسازی احراز هویت (http basic auth)
در صورتیکه میخواهید برای ورود به دامنههای اپ خود احراز هویت تعیین کنید، میتوانید «فعالسازی احراز هویت» را فعال کنید و برای دامنههای خود نامکاربری و رمزعبور تعیین کنید. فعالسازی احراز هویت در تمامی دامنهها اعمال خواهد شد.
Enviornment Variables (متغیرهای محیطی)
اگر اپ شما در زمان اجرا به متغیرهای محیطی (Environment variable) خاصی نیاز دارد در این قسمت میتوانید آنها را تعریف کنید. همچنین میتوانید برای سهولت، متغیرهای محیطی را در قالب json وارد کنید.
متغیرهای مشترک
با استفاده از قابلیت متغیرهای مشترک میتوانید برای چند اپ یک مجموعه متغیرهای محیطی یکسان تعریف کنید و از آنها در سایر اپها استفاده کنید. توجه داشته باشید که متغیرهای محیطی در زمان اجرا در اختیار اپ قرار میگیرد. برای ایجاد یک فهرست از مقادیر مشترک باید اسم برای آن انتخاب کنید سپس به ازای هر کدام از آنها مقدار key و value را وارد نمایید.
انتخاب پلن
در این مرحله لازم است که پلن مورد نظر خود را انتخاب کنید. در صورتی که نیاز داشته باشید تا مقادیر دلخواه خود را برای cpu و ram تعیین کنید، میتوانید از پلن دلخواه استفاده کنید.
منطقه (Zone)
شما میتوانید با توجه به نیاز خودتان اپ را در یکی از دیتاسنترهای موجود در کشورهای مختلف نصب کنید. همچنین با استفاده از سرویس رصد وضعیت اینترنت همروش وضعیت ارتباط بین دیتاسنترهای مختلف را بررسی نمایید.
فضای نامی (Namespace)
هر کاربر تعدادی فضای نامی یا namespace در اختیار دارد که توسط آن میتواند پروژهها و نسخههای مختلف یک اپ (staging, production و …) را دستهبندی نماید.
استفاده از فضای نامی قابلیتهای متعددی برای شما فراهم میکند که یکی از آنها امکان ایزوله کردن پروژهها و اپها مختلف از یکدیگر است. در حال حاضر پس از انجام فرایند آنبوردینگ یک فضای نامی برای شما ایجاد میشود. در صورت نیاز به فضاهای نام بیشتر میتوانید با زدن دکمهی ساخت namespace این کار را انجام دهید.
منابع
در صورتی که پلن «دلخواه» را انتخاب کرده باشید، لازم است در این قسمت میزان RAM و CPU مورد نیاز خود را مشخص کنید. توجه داشته باشید که واحد مموری مگابایت و واحد پردازنده mili core در نظر گرفته شده است. یعنی برای تخصیص 1 core پردازنده به اپ خود لازم است عدد 1000 را وارد کنید.
Replicas
در دارکوب شما میتوانید به راحتی چند نمونه یکسان از برنامهی خود را به صورت همزمان در حال اجرا داشته باشید. در این قسمت میتوانید این مقدار را کنترل کنید. همچنین میتوانید برای خاموش کردن اپ خود جهت صرفهجویی در هزینه و یا دلایل دیگر، مقدار رپلیکا را برابر صفر قرار دهید.
افزودن دیسک
در صورتی که میخواهید دیتایی در اپ شما به شکل persistent باقی بماند در این قسمت میتوانید برای آن دیسک انتخاب کنید و آن را در مسیرهای دلخواه mount کنید،