是否可以在不创建 ObjectBucketClaim(OBC) 的情况下创建 Noobaa 存储桶?

Is it possible to create Noobaa bucket without creating ObjectBucketClaim(OBC)?

我可以通过创建 OBC 来创建 noobaa 存储桶,如下所示:

apiVersion: objectbucket.io/v1alpha1
kind: ObjectBucketClaim
metadata:
  name: my-obc1
spec:
  storageClassName: noobaa-test.noobaa.io
  bucketName: my-bucket
  additionalConfig: {}

以上 OBC 将创建一个 noobaa 存储桶 my-bucket。 但是有没有什么办法可以直接创建noobaa bucket而不用创建OBC呢?

除了 OBC 之外,在 noobaa 中有几种创建存储桶的方法:

  1. 您可以使用 UI - 用 noobaa ui 打开。
  2. 您可以使用简单的命令 - noobaa bucket create <name>
  3. 您可以使用内部 API - noobaa api bucket create_bucket '{ "name": "<name>" ... }'(请参阅此处 json schema of this api params
  4. 您可以使用 S3 - 从 noobaa status 获取端点和凭据。

谢谢!盖伊

我遇到了同样的问题,因为我希望能够创建一个存储桶并使其具有层策略和与之关联的层,这会将它指向我已经创建的正确的后备存储,就像你可以在管理 UI 但从命令行。这是我想出的:-

#!/bin/bash
BUCKET_NAME="my_bucket"
BACKINGSTORE="my_backing_store"

NOW=$(gdate +%s)
TIER_NAME=$(printf "%s.%x" ${BUCKET_NAME} ${NOW})
TIER_POLICY_NAME=$(printf "%s.%d" ${BUCKET_NAME} 1)
noobaa -n noobaa api tier create_tier "{\"name\": \"${TIER_NAME}\", \"attached_pools\": [\"${BACKINGSTORE}\"], \"data_placement\": \"SPREAD\"}"
noobaa -n noobaa api tiering_policy create_policy "{\"name\": \"${TIER_POLICY_NAME}\", \"tiers\": [{\"order\": 1, \"tier\": \"${TIER_NAME}\"}]}"
noobaa -n noobaa api bucket create_bucket "{\"name\": \"${BUCKET_NAME}\", \"tiering\": \"${TIER_POLICY_NAME}\"}"