Loading...

راهنمای CDN.com.tr

ذخیره‌سازی پایا برای یک اپلیکیشن مدیریت‌شده

به یک اپلیکیشن کانتینری یک والیوم پایا بدهید تا داده‌های آن پس از راه‌اندازی مجدد و استقرارهای دوباره باقی بمانند: ذخیره‌سازی را فعال کنید، مسیر mount درون کانتینر و اندازه را تنظیم کنید. یک والیوم به‌ازای هر اپلیکیشن، mount شده در یک مسیر، روی CephFS.

ذخیره‌سازی پایا برای یک اپلیکیشن مدیریت‌شده

به یک اپلیکیشن کانتینری یک والیوم پایا بدهید تا داده‌های آن پس از راه‌اندازی مجدد و استقرارهای دوباره باقی بمانند: ذخیره‌سازی را فعال کنید، مسیر mount درون کانتینر و اندازه را تنظیم کنید. یک والیوم به‌ازای هر اپلیکیشن، mount شده در یک مسیر، روی CephFS.

مسیر در پنل

  1. Management Panel
  2. Platforms tab
  3. Managed Container Apps
  4. Open the app
  5. Persistent storage: on
  6. Mount path + size
  7. Save
  8. Deploy

موارد کاربرد

یک اپلیکیشن باید فایل‌ها را بین استقرارها نگه دارد — آپلودها، یک فایل SQLite، داده Prometheus، یک دایرکتوری کش — به‌جای از دست دادن آن‌ها در هر راه‌اندازی مجدد.

جریان کاری

  1. در پنل: اپلیکیشن را در تب Platforms ← Managed Container Apps باز کنید، ذخیره‌سازی پایا را روشن کنید، مسیر mount (پیش‌فرض `/app/data`) و اندازه را به GB تنظیم کنید، ذخیره و سپس استقرار کنید.
  2. یا با cdnctl هنگام ایجاد: `cdnctl container apps create … --persistent-mount-path /app/data --persistent-storage-gb 5` (دادن یک مسیر mount حجم را فعال می‌کند).
  3. یا بعداً فعال/بزرگ کنید: `cdnctl container apps update --account <uuid> --app <app_uuid> --persistent-mount-path /app/data --persistent-storage-gb 10`، سپس دیپلوی کنید.
  4. در صورت نیاز داده‌های اولیه را وارد کنید: `cdnctl container imports files --account <uuid> --app <app_uuid> --file data.tar.gz --target-path /app/data`.

بررسی‌ها

  • یک والیوم به‌ازای هر اپلیکیشن در یک مسیر mount؛ آن را به دایرکتوری که اپلیکیشن شما واقعاً در آن می‌نویسد اشاره دهید (پیش‌فرض `/app/data`).
  • اندازه فقط رشد می‌کند — یک والیوم CephFS می‌تواند گسترش یابد (تا ۱۰۰ GB) اما کوچک نمی‌شود؛ یک اندازه شروع منطقی انتخاب کنید.
  • تغییرات ذخیره‌سازی در استقرار بعدی اعمال می‌شوند.
  • اپلیکیشن‌های پایا با استراتژی Recreate مستقر می‌شوند: نمونه قدیمی پیش از شروع نمونه جدید متوقف می‌شود، پس هر استقرار یک قطعی کوتاه دارد (این از بن‌بست قفل فایل تک‌نویسنده جلوگیری می‌کند).
  • image‌های غیر-root می‌توانند در والیوم بنویسند (پلتفرم به‌طور خودکار fsGroup پاد را تنظیم می‌کند).

پرسش‌های متداول

چه زمانی باید از یک والیوم پایا به‌جای یک افزونه مدیریت‌شده استفاده کنم؟

برای پایگاه‌داده‌ها، کش‌ها و صف‌ها از یک افزونه مدیریت‌شده (Redis، PostgreSQL، MySQL/MariaDB، NATS) استفاده کنید — آن‌ها برای شما تأمین و تنظیم می‌شوند. برای فایل‌های خود اپلیکیشن از یک والیوم پایا استفاده کنید: آپلودها، دارایی‌های تولیدشده، یک فایل کوچک SQLite، Prometheus TSDB و غیره. قاعده سرانگشتی: ذخیره‌سازی داده ساخت‌یافته ← افزونه؛ فایل‌های اپلیکیشن ← والیوم.

آیا والیوم برای یک پایگاه‌داده پرترافیک مناسب است؟

این CephFS است — یک سیستم‌فایل شبکه‌ای تکثیرشده، عالی برای پایداری و دسترسی مشترک اما نه برای داده بسیار پر-IO یا داغ تک‌نویسنده. برای پایگاه‌داده‌های سنگین از افزونه مدیریت‌شده استفاده کنید؛ برای داده بسیار داغ RAM را ترجیح دهید. یک «hot store» روی یک والیوم شبکه‌ای به یک گلوگاه تبدیل می‌شود.

آیا می‌توانم بیش از یک والیوم mount کنم یا مسیر mount را بعداً تغییر دهم؟

یک والیوم پایا به‌ازای هر اپلیکیشن در یک مسیر mount واحد. می‌توانید مسیر را تغییر دهید یا اندازه را افزایش دهید، اما هر تغییر به یک استقرار نیاز دارد و جابه‌جایی مسیر داده‌های قدیمی را کپی نمی‌کند — مسیر mount را از پیش برنامه‌ریزی کنید.

آیا داده من پس از یک استقرار دوباره یا یک نسخه image جدید باقی می‌ماند؟

بله. والیوم مستقل از image کانتینر است، پس استقرارها و ارتقاهای image داده را حفظ می‌کنند. تنها زمانی حذف می‌شود که ذخیره‌سازی را غیرفعال کنید یا اپلیکیشن را حذف کنید.

صفحات مرتبط

مهاجرت Managed Container Apps

ساخت یک اپلیکیشن کانتینری، اعتبارنامه رجیستری، env/secrets، وارد کردن‌ها، jobها، استقرار، وضعیت و لاگ‌ها از صفحات مشتری.

Object Storage و AWS CLI

ساخت باکت‌ها، چرخش کلیدهای دسترسی، اتصال باکت‌ها به اپلیکیشن‌ها و تأیید با نقطه پایانی سازگار با S3.

چه چیزی می‌توانید اجرا کنید — قابلیت‌ها و محدودیت‌ها

یک پلتفرم کانتینری مدیریت‌شده (با Kubernetes در زیرساخت)، نه یک VM یا سرور shell: شما image‌های کانتینر یا یک docker-compose.yml می‌آورید و پلتفرم آن‌ها را اجرا می‌کند، همراه با افزونه‌های مدیریت‌شده Redis/PostgreSQL/MySQL/NATS، والیوم‌های پایا، DNS سرویس داخلی و افشای HTTP(S) از طریق لبه CDN.

انتقال یک سایت زنده Pull-CDN به Platforms بدون قطعی

سرویس‌های مبدأ خود را روی Platforms در cdn.com.tr اجرا کنید در حالی که سایت شما همچنان از طریق Pull CDN سرویس‌دهی می‌شود: اپلیکیشن‌ها را در کنار تحویل فعلی خود فعال کنید، همه‌چیز را روی زیردامنه‌های ca-* بسازید و اعتبارسنجی کنید، سپس دامنه اصلی را تنها زمانی که آماده بودید تعویض کنید — کاملاً برگشت‌پذیر.