5.2.4. 使用 Multicloud 对象网关 CLI 添加 IBM COS 命名空间存储桶
先决条件
- 正在运行的 OpenShift Container Storage Platform
- 访问多云对象网关,请参阅第 2 章,使用应用程序访问多云对象网关
下载 Multicloud 对象网关命令行界面:
# subscription-manager repos --enable=rh-ocs-4-for-rhel-8-x86_64-rpms # yum install mcg
注意指定适当的架构,以使用订阅管理器启用存储库。例如,
- 对于 IBM Power 系统,使用以下命令:
# subscription-manager repos --enable=rh-ocs-4-for-rhel-8-ppc64le-rpms
- 对于 IBM Z 基础架构,使用以下命令:
# subscription-manager repos --enable=rh-ocs-4-for-rhel-8-s390x-rpms
另外,您可以通过 OpenShift Container Storage RPM (https://access.redhat.com/downloads/content/547/ver=4/rhel---8/4/x86_64/package) 安装 mcg 软件包。
注意根据您的架构选择正确的产品变体。
流程
创建 NamespaceStore 资源。NamespaceStore 代表一个底层存储,用作 Multicloud Object Gateway 命名空间存储桶中数据的读取或写入目标。在 MCG 命令行界面中运行以下命令:
noobaa namespacestore create ibm-cos <namespacestore> --endpoint <IBM COS ENDPOINT> --access-key <IBM ACCESS KEY> --secret-key <IBM SECRET ACCESS KEY> --target-bucket <bucket-name> -n openshift-storage
-
将
<namespacestore>
替换为 NamespaceStore 的名称。 -
将
<IBM ACCESS KEY>
、、<IBM SECRET ACCESS KEY>
、<IBM COS ENDPOINT>
替换为 IBM 访问密钥 ID、机密访问密钥和对应于现有 IBM 存储桶位置的适当区域端点。 -
将
<bucket-name>
替换为现有的 IBM 存储桶名称。此参数告知多云对象网关将哪一个存储桶用作其后备存储的目标存储桶,以及数据存储和管理。
-
将
创建一个命名空间存储桶类,为命名空间存储桶定义命名空间策略。命名空间策略的类型需要是
single
或multi
。运行以下命令,创建一个命名空间存储桶类,其命名空间策略类型为
single
:noobaa bucketclass create namespace-bucketclass single <my-bucket-class> --resource <resource> -n openshift-storage
将
<resource-name>
替换为您要为其提供资源的名称。将
<my-bucket-class>
替换为唯一的存储桶类名称。将
<resource>
替换为一个 namespace-store,它将定义命名空间存储桶的读写目标。运行以下命令,创建一个命名空间存储桶类,其命名空间策略为
multi
:noobaa bucketclass create namespace-bucketclass multi <my-bucket-class> --write-resource <write-resource> --read-resources <read-resources> -n openshift-storage
将
<resource-name>
替换为您要为其提供资源的名称。将
<my-bucket-class>
替换为唯一的存储桶类名称。将
<write-resource>
替换为单个 namespace-store,它将定义命名空间存储桶的写入目标。将
<read-resources>
替换为一个以逗号分开的命名空间存储列表,该存储将定义命名空间存储桶的读取目标。
运行以下命令,以使用对象 Bucket Class (OBC) 资源创建 bucket,该资源使用第 2 步中定义的 bucket 类。
noobaa obc create my-bucket-claim -n openshift-storage --app-namespace my-app --bucketclass <custom-bucket-class>
-
将
<bucket-name>
替换为您选择的存储桶名称。 -
将
<custom-bucket-class>
替换为在第 2 步中创建的 bucket 类的名称。
-
将
在 Operator 置备 OBC 后,会在 Multicloud 对象网关中创建存储桶,Operator 会在 OBC 的同一命名空间中创建一个名称与 OBC 相同的 Secret 和 ConfigMap。