MinIO
درباره Object Storage
Object Storage روشی برای ذخیرهسازی فایلها است که با کمک آن میتوانید انواع فایل اعم از عکس و فیلم و متن را ذخیره کنید. مزیت آبجکت استورج نسبت به فایل سیستم محلی، این است که شما میتوانید فایلهای خود را در فضای cloud آپلود و دانلود کنید. همچنین این امکان وجود دارد که برای فایلهای آپلود شده سطح دسترسی تعیین کنید و در صورت نیاز فایلهای خود را به صورت عمومی با همه کاربران اپ یا وبسایت خود به اشتراک بگذارید.
MinIO چیست؟
MinIO یکی از نرمافزارهای قدرتمند ارائهدهنده آبجکت استوریج است. یکی از ویژگیهای مثبت MinIO سازگار بودن آن با Amazon S3 آست. دارکوب این امکان را به شما میدهد که MinIO خود را به راحتی بسازید و از آن استفاده کنید.
نحوه راهاندازی MinIO در دارکوب
برای راهانداز MinIO خود، در صفحه دارکوب و پس کلیک بر روی گزینه ساخت اپ، نوع اپ خود را MinIO انتخاب کنید.
ابتدا نام برنامه خود و سپس آدرس زیردامنهای که میخواهید اپ خود روی آن بالا بیایید را وارد کنید
سپس در ادامه میتوانید پلن مورد نظر خود را از بینهای موجود انتخاب کنید. همچنین میتوانید پلن دلخواهی را بسته به نیاز خود تعریف کنید. همچنین در این قسمت دیتاسنتر و فضای نیماسپیس مورد نظر خود را که میخواهید اپ روی آن بالا بیایید انتخاب کنید
پس از ساخت MinIOی خود میتوانید در لیست اپهای دارکوب وارد اطلاعات اپ خود شوید. دقت کنید که در این قسمت دو آدرس را مشاهده میکنید. یکی آدرس مربوط به کنسول minio که میتوانید در مرورگر خود وارد آن شوید که در اصل یک gui است که برای راحتی کار با minio تعبیه شده است. همچنین آدرس اصلی را نیز در بالا و کنار شناسه اپ مشاهده میکنید که میتوانید در ترمینال و کاربردهای عادی از آن استفاده کنید. همچنین اطلاعات مربوط به نام کاربری و رمز عبور قابل مشاهده است که میتوانید به کمک آنها وارد آبجکت استوریح خود شوید.
برای ورود به آبجکت استوریج میتوانید به آدرس کنسول که در صفحه اطلاعات اپ قرار دارد بروید و به کمک اطلاعات مربوط به لاگین وارد شوید.
پس از ورود میتوانید با استفاده از ساخت bucket فایلهای خود را دستهبندی کنید و فایلهای مورد نظر خود را در آبجکت استوریج آپلود کنید.
همچنین میتوانید دسترسی باکتهای خود را تغییر داده و آنها را پابلیک یا پرایوت کنید. برای این کار میتوانید در تب مربوط به باکت وارد صفحه manage برای باکت مورد نظر خود شوید و تغییرات مطلوب را اعمال کنید.
نحوه استفاده از MinIO CLI
برای مدیریت بیشتر تنظیمات و فایلهای آبجکت استورج، میتوانید علاوه بر رابط کاربری گرافیکی از MinIO CLI نیز استفاده کنید.
برای آشنایی با نحوه نصب و استفاده از Minio Client میتوانید به صفحه Minio Client Complete Guide مراجعه کنید.
پس از نصب کلاینت میتوانید با دستور زیر به آبجکت استورج خود وصل شوید:
mc alias set <ALIAS> <YOUR-S3-ENDPOINT> [MINIO_ROOT_USER] [MINIO_ROOT_PASSWORD]
که ALIAS نامی است که به دلخواه برای اشاره به آبجکت استوریج خود انتخاب میکنید.
به طور مثال آبجکت استورجی که با دارکوب ساختیم را میتوانیم با نام دلخواه darkube-storage و با دستور زیر به کلاینت اضافه کنیم:
mc alias set darkube-storage https://myminio.darkube.app MINIO_ROOT_USER MINIO_ROOT_PASSWORD
در تصویر زیر میتوانید یک نمونه از نحوه اتصال و آپلود کردن یک فایل نمونه را مشاهده کنید:
نحوه اشتراکگذاری عمومی فایل
شما ممکن است بخواهید تا فایلهایی را برای دانلود کاربرانتان روی سایت یا اپ خود قرار دهید. برای این کار کافی است فایل مورد نظر را در آبجکت استوریج خود آپلود کنید و سطح دسترسی آن را به نحوی تعیین کنید که کاربران عمومی بتوانند به آن دسترسی داشته باشند.
برای در دسترس عموم قرار دادن یک فایل میتوانید از دستور زیر استفاده کنید:
mc policy set download alias/bucketname
به طور مثال ما با دستور زیر باکت images را در دسترس عموم قرار میدهیم:
mc policy set download darkube-storage/my-bucket
پس از اعمال کنترل دسترسی بالا میتوانیم به فایل مورد نظر خود از طریق آدرس زیر دسترسی داشته باشیم:
https://myminio.darkube.app/my-bucket/plan.png
همچنین امکان تعیین سطح دسترسی از طریق رابط کاربری گرافیکی نیز وجود دارد. برای آشنایی بیشتر با سطوح دسترسی و نحوه اعمال آنها میتوانید به این لینک مراجعه کنید.
یکی از مسائل رایج در کنترل دسترسی باکتهای MinIO، مشکل نمایش لیست فایلهای یک باکت است. در صورتی که میخواهید امکان دانلود فایلها (با داشتن آدرس فایل) وجود داشته باشد اما امکان لیست کردن کل فایلها وجود نداشته باشد به توضیحات این لینک در گیتهاب مراجعه کنید.