پرش به مطلب اصلی

ایجاد باکت

باکت جایی است که فایل‌ها و آبجکت‌های خود را در آن نگه می‌دارید. برای ساخت باکت باید یک bucket claim در namespace بسازید — از کنسول یا با kubectl.

توجه

از منوی workspace با عنوان Buckets برای ساخت استفاده نکنید؛ آن‌جا فقط باکت‌های موجود workspace دیده می‌شود. ساخت همیشه از Bucket claims داخل namespace انجام می‌شود.

توجه

نام claim باید یکتا باشد و بعداً قابل تغییر نیست. اگر نام از قبل گرفته شده باشد، ایجاد ناموفق می‌شود.

ایجاد از کنسول​

فرم New bucket claim در کنسول

  1. وارد workspace شوید و یک namespace را باز کنید.
  2. در ناوبری namespace، از گروه Object Storage روی Bucket claims بزنید.
  3. روی New bucket claim بزنید.
  4. در پنل بازشده، فیلد Name را پر کنید (مثلاً app-data).
  5. در صورت نیاز Advanced را باز کنید:
    • Enable versioning
    • Max size (مثلاً 10Gi) و Max objects
  6. روی Create بزنید.
  7. صبر کنید تا وضعیت claim برابر Ready شود.
نکته

باکت تازه‌ساخته‌شده به‌تنهایی به کسی دسترسی نمی‌دهد. برای گرفتن کلید و دسترسی، از Bucket access استفاده کنید یا سیاست باکت را از صفحه جزئیات claim تنظیم کنید.

ایجاد با kubectl​

در namespace یک S3BucketClaim اعمال کنید (نه S3Bucket):

zsh
❯ kubectl -n <namespace> apply -f - <<EOF
❯ apiVersion: oss.tapsicloud.com/v1alpha1
❯ kind: S3BucketClaim
❯ metadata:
❯ name: app-data
❯ spec:
❯ versioning: false
❯ EOF

<namespace> را با namespace خود جایگزین کنید. فرض بر این است که kubeconfig و context مربوط به workspace شما از قبل تنظیم شده است.

وضعیت را بررسی کنید:

zsh
❯ kubectl -n <namespace> get s3bucketclaims app-data

وقتی Phase برابر Ready شد، باکت آماده است.

گزینه‌های بیشتر (اختیاری)​

!manifest.yaml×
tapsicloud › manifest.yaml
1apiVersion: oss.tapsicloud.com/v1alpha1
2kind: S3BucketClaim
3metadata:
4 name: app-data
5spec:
6 versioning: true
7 deletionPolicy: Delete # Delete | Retain | DeleteWithContents
8 quota:
9 maxSize: 10Gi # کمیت کوبرنتیز؛ خالی = نامحدود
10 maxObjects: 100000
✓ dry-runLn 10 · YAML
گزینهمعنی ساده
versioningنگه داشتن نسخه‌های قبلی فایل‌ها
quota.maxSize / quota.maxObjectsسقف حجم یا تعداد آبجکت‌ها
deletionPolicy: Deleteهنگام حذف claim، اگر باکت خالی نباشد حذف رد می‌شود (پیش‌فرض)
deletionPolicy: Retainباکت بعد از حذف claim باقی می‌ماند
deletionPolicy: DeleteWithContentsهمه محتوا پاک و باکت حذف می‌شود — غیرقابل بازگشت

در کنسول، versioning و quota از Advanced در دسترس هستند. تغییر deletionPolicy معمولاً از صفحه خود claim انجام می‌شود.

نکته

تا وقتی وضعیت Ready نشده، باکت را برای آپلود یا اتصال ابزارها استفاده نکنید.