9.3.2. 创建兼容 s3 的多云对象网关后备存储
多云对象网关可以使用任何 S3 兼容对象存储作为后备存储,例如,Red Hat Ceph Storage’s RADOS Gateway (RGW)。下列步骤演示了如何为 Red Hat Ceph Storage 的 RADOS Gateway 创建 S3 兼容多云对象网关后端存储。请注意,当部署 RGW 时,Openshift Container Storage operator 会自动为多云对象网关创建一个 S3 兼容后备存储。
流程
在 Multicloud Object Gateway (MCG) 命令行界面中,运行以下命令:
noobaa backingstore create s3-compatible rgw-resource --access-key=<RGW ACCESS KEY> --secret-key=<RGW SECRET KEY> --target-bucket=<bucket-name> --endpoint=<RGW endpoint>
要获取
<RGW ACCESS KEY>
和<RGW SECRET KEY>
,请使用您的 RGW 用户 secret 名称运行以下命令:oc get secret <RGW USER SECRET NAME> -o yaml
- 解码 Base64 中的访问密钥 ID 和访问密钥,并保留它们。
-
将
<RGW USER ACCESS KEY>
和<RGW USER SECRET ACCESS KEY>
替换为上一步中的相应已解码数据。 -
将
<bucket-name>
替换为现有的 RGW 存储桶名称。此参数告知多云对象网关将哪一个存储桶用作其后备存储的目标存储桶,以及数据存储和管理。 要获取
<RGW endpoint>
,请参阅访问 RADOS 对象网关 S3 端点。输出结果类似如下:
INFO[0001] ✅ Exists: NooBaa "noobaa" INFO[0002] ✅ Created: BackingStore "rgw-resource" INFO[0002] ✅ Created: Secret "backing-store-secret-rgw-resource"
您还可以使用 YAML 创建后备存储:
创建
CephObjectStore
用户。这还会创建一个包含 RGW 凭证的 secret:apiVersion: ceph.rook.io/v1 kind: CephObjectStoreUser metadata: name: <RGW-Username> namespace: openshift-storage spec: store: ocs-storagecluster-cephobjectstore displayName: "<Display-name>"
-
将
<RGW-Username>
和<Display-name>
替换为唯一的用户名和显示名称。
-
将
为 S3-Compatible 后备存储应用以下 YAML:
apiVersion: noobaa.io/v1alpha1 kind: BackingStore metadata: finalizers: - noobaa.io/finalizer labels: app: noobaa name: <backingstore-name> namespace: openshift-storage spec: s3Compatible: endpoint: <RGW endpoint> secret: name: <backingstore-secret-name> namespace: openshift-storage signatureVersion: v4 targetBucket: <RGW-bucket-name> type: s3-compatible
-
将
<backingstore-secret-name>
替换为上一步中使用CephObjectStore
创建的 secret 的名称。 -
将
<bucket-name>
替换为现有的 RGW 存储桶名称。此参数告知多云对象网关将哪一个存储桶用作其后备存储的目标存储桶,以及数据存储和管理。 -
要获取
<RGW endpoint>
,请参阅访问 RADOS 对象网关 S3 端点。
-
将