10.8. 对象存储桶的缓存策略
缓存存储桶是带有 hub 目标和缓存目标的命名空间存储桶。hub 目标是一个 S3 兼容的大型对象存储桶。缓存存储桶是本地 Multicloud 对象网关存储桶。您可以创建一个缓存存储桶来缓存 AWS 存储桶或 IBM COS 存储桶。
缓存存储桶是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
如需更多信息,请参阅技术预览功能支持范围。
10.8.1. 创建 AWS 缓存存储桶 复制链接链接已复制到粘贴板!
先决条件
下载多云对象网关(MCG)命令行界面。
subscription-manager repos --enable=rh-odf-4-for-rhel-8-x86_64-rpms yum install mcg
# subscription-manager repos --enable=rh-odf-4-for-rhel-8-x86_64-rpms # yum install mcg
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意指定使用订阅管理器启用存储库的适当架构。如果是 IBM Z 基础架构,请使用以下命令:
subscription-manager repos --enable=rh-odf-4-for-rhel-8-s390x-rpms
# subscription-manager repos --enable=rh-odf-4-for-rhel-8-s390x-rpms
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 或者,您也可以从 下载红帽 OpenShift Data Foundation 页面上的 OpenShift Data Foundation RPM 安装 MCG 软件包。
注意根据您的架构选择正确的产品变体。
流程
创建 NamespaceStore 资源。NamespaceStore 代表底层存储,用作 MCG 命名空间存储桶中数据的读取或写入目标。在 MCG 命令行界面中运行以下命令:
noobaa namespacestore create aws-s3 <namespacestore> --access-key <AWS ACCESS KEY> --secret-key <AWS SECRET ACCESS KEY> --target-bucket <bucket-name>
noobaa namespacestore create aws-s3 <namespacestore> --access-key <AWS ACCESS KEY> --secret-key <AWS SECRET ACCESS KEY> --target-bucket <bucket-name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<namespacestore>
替换为命名空间存储的名称。 -
将
<AWS ACCESS KEY>
和<AWS SECRET ACCESS KEY>
替换为您为此创建的 AWS 访问密钥 ID 和 secret 访问密钥。 将
<bucket-name>
替换为现有的 AWS 存储桶名称。此参数告知 MCG 将哪一个存储桶用作其后备存储的目标存储桶,以及随后数据存储和管理。您还可以通过应用 YAML 来添加存储资源。首先使用凭证创建 secret:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您必须使用 Base64 提供并编码您自己的 AWS 访问密钥 ID 和 secret 访问密钥,并使用结果代替
<AWS ACCESS KEY ID ENCODED IN BASE64>
和<AWS SECRET ACCESS KEY ENCODED IN BASE64>
。使用一个唯一的名称替换
<namespacestore-secret-name>
。然后应用以下 YAML:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<namespacestore>
替换为唯一的名称。 -
将
<namespacestore-secret-name>
替换为上一步中创建的 secret。 -
将
<namespace-secret>
替换为用于在上一步中创建 secret 的命名空间。 -
将
<target-bucket>
替换为您为命名空间存储创建的 AWS S3 存储桶。
-
将
运行以下命令来创建存储桶类:
noobaa bucketclass create namespace-bucketclass cache <my-cache-bucket-class> --backingstores <backing-store> --hub-resource <namespacestore>
noobaa bucketclass create namespace-bucketclass cache <my-cache-bucket-class> --backingstores <backing-store> --hub-resource <namespacestore>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<my-cache-bucket-class>
替换为唯一的存储桶类名称。 -
将
<backing-store>
替换为相关的后备存储。您可以在此字段中列出一个或多个以逗号分开的后备存储。 -
将
<namespacestore>
替换为上一步中创建的命名空间存储。
-
将
运行以下命令,以使用 Object Bucket Claim (OBC) 资源创建 bucket,该资源使用第 2 步中定义的 bucket 类。
noobaa obc create <my-bucket-claim> my-app --bucketclass <custom-bucket-class>
noobaa obc create <my-bucket-claim> my-app --bucketclass <custom-bucket-class>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<my-bucket-claim>
替换为唯一名称。 -
将
<custom-bucket-class>
替换为在第 2 步中创建的 bucket 类的名称。
-
将
10.8.2. 创建 IBM COS 缓存存储桶 复制链接链接已复制到粘贴板!
先决条件
下载多云对象网关(MCG)命令行界面。
subscription-manager repos --enable=rh-odf-4-for-rhel-8-x86_64-rpms yum install mcg
# subscription-manager repos --enable=rh-odf-4-for-rhel-8-x86_64-rpms # yum install mcg
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意指定使用订阅管理器启用存储库的适当架构。
- 对于 IBM Power,使用以下命令:
subscription-manager repos --enable=rh-odf-4-for-rhel-8-ppc64le-rpms
# subscription-manager repos --enable=rh-odf-4-for-rhel-8-ppc64le-rpms
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 对于 IBM Z 基础架构,使用以下命令:
subscription-manager repos --enable=rh-odf-4-for-rhel-8-s390x-rpms
# subscription-manager repos --enable=rh-odf-4-for-rhel-8-s390x-rpms
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 或者,您也可以从 下载红帽 OpenShift Data Foundation 页面上的 OpenShift Data Foundation RPM 安装 MCG 软件包。
注意根据您的架构选择正确的产品变体。
流程
创建 NamespaceStore 资源。NamespaceStore 代表底层存储,用作 MCG 命名空间存储桶中数据的读取或写入目标。在 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>
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>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<namespacestore>
替换为 NamespaceStore 的名称。 -
将
<IBM ACCESS KEY>
、、<IBM SECRET ACCESS KEY>
、<IBM COS ENDPOINT>
替换为 IBM 访问密钥 ID、机密访问密钥和对应于现有 IBM 存储桶位置的适当区域端点。 将
<bucket-name>
替换为现有的 IBM 存储桶名称。此参数告知 MCG 将哪一个存储桶用作其后备存储的目标存储桶,以及随后数据存储和管理。您还可以通过应用 YAML 来添加存储资源。首先,使用凭证创建一个 secret:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您必须使用 Base64 提供和编码您自己的 IBM COS 访问密钥 ID 和 secret 访问密钥,并使用结果代替
<IBM COS ACCESS KEY ID ENCODED IN BASE64>
和<IBM COS SECRET ACCESS KEY ENCODED IN BASE64>
。使用一个唯一的名称替换
<namespacestore-secret-name>
。然后应用以下 YAML:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<namespacestore>
替换为唯一的名称。 -
将
<IBM COS ENDPOINT>
替换为适当的 IBM COS 端点。 -
将
<backingstore-secret-name>
替换为上一步中创建的 secret。 -
将
<namespace-secret>
替换为用于在上一步中创建 secret 的命名空间。 -
将
<target-bucket>
替换为您为命名空间存储创建的 AWS S3 存储桶。
-
将
运行以下命令来创建存储桶类:
noobaa bucketclass create namespace-bucketclass cache <my-bucket-class> --backingstores <backing-store> --hubResource <namespacestore>
noobaa bucketclass create namespace-bucketclass cache <my-bucket-class> --backingstores <backing-store> --hubResource <namespacestore>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<my-bucket-class>
替换为唯一的存储桶类名称。 -
将
<backing-store>
替换为相关的后备存储。您可以在此字段中列出一个或多个以逗号分开的后备存储。 -
将
<namespacestore>
替换为上一步中创建的命名空间存储。
-
将
运行以下命令,以使用 Object Bucket Claim 资源创建 bucket,该资源使用第 2 步中定义的 bucket 类。
noobaa obc create <my-bucket-claim> my-app --bucketclass <custom-bucket-class>
noobaa obc create <my-bucket-claim> my-app --bucketclass <custom-bucket-class>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<my-bucket-claim>
替换为唯一名称。 -
将
<custom-bucket-class>
替换为在第 2 步中创建的 bucket 类的名称。
-
将