使用 Amazon Web Services 部署 OpenShift Data Foundation
有关使用 Amazon Web Services 进行云存储部署 OpenShift Data Foundation 的说明
摘要
使开源包含更多
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 的信息。
对红帽文档提供反馈
我们感谢您对文档提供反馈信息。请告诉我们如何让它更好。提供反馈:
关于特定内容的简单评论:
- 请确定您使用 Multi-page HTML 格式查看文档。另外,确定 Feedback 按钮出现在文档页的右上方。
- 用鼠标指针高亮显示您想评论的文本部分。
- 点在高亮文本上弹出的 Add Feedback。
- 按照显示的步骤操作。
要提交更复杂的反馈,请创建一个 Bugzilla ticket:
- 进入 Bugzilla 网站。
- 在 Component 部分中,选择 文档。
- 在 Description 中输入您要提供的信息。包括文档相关部分的链接。
- 点 Submit Bug。
前言
Red Hat OpenShift Data Foundation 4.9 支持在连接或断开连接的环境中的现有 Red Hat OpenShift Container Platform(RHOCP)AWS 集群上进行部署,并为代理环境提供现成支持。
AWS 上仅支持内部 OpenShift Data Foundation 集群。如需有关部署要求的更多信息,请参阅规划部署并准备部署 OpenShift Data Foundation。
要部署 OpenShift Data Foundation,请从准备部署 OpenShift Data Foundation 章节的要求开始,并根据您的要求遵循适当的部署流程:
第 1 章 准备部署 OpenShift 数据基础
使用动态存储设备在 OpenShift Container Platform 上部署 OpenShift Data Foundation 为您提供创建内部集群资源的选项。
在开始部署 Red Hat OpenShift Data Foundation 前,请按照以下步骤执行:
对于用于 worker 节点的基于 Red Hat Enterprise Linux 的主机,为基于 Red Hat Enterprise Linux 的节点上的容器启用文件系统访问。
注意对于 Red Hat Enterprise Linux CoreOS (RHCOS) 可以跳过此步骤。
可选:如果要使用外部密钥管理系统(KMS)启用集群范围加密:
- 确保存在具有令牌的策略,并且启用了 Vault 中的键值后端路径。请参阅 Vault 中启用的键值后端路径和策略。
- 确保您在 Vault 服务器上使用签名的证书。
最低的启动节点要求 [技术预览]
当不符合标准部署资源要求时,将使用最低配置部署 OpenShift Data Foundation 集群。请参阅规划指南中的资源要求部分。
Regional-DR 要求 [开发人员预览]
Red Hat OpenShift Data Foundation 支持的灾难恢复功能需要满足以下所有先决条件,才能成功实施灾难恢复解决方案:
- 有效的 Red Hat OpenShift Data Foundation 高级授权
有效的 Red Hat Advanced Cluster Management for Kubernetes 订阅
要了解 OpenShift Data Foundation 订阅如何工作,请参阅与 OpenShift Data Foundation 订阅相关的知识库文章。
有关详细要求,请参阅 Regional-DR 要求 和 RHACM 要求。
1.1. 为基于 Red Hat Enterprise Linux 的节点上的容器启用文件系统访问
在用户置备的基础架构 (UPI) 的 Red Hat Enterprise Linux 基础上使用 worker 节点部署 OpenShift Data Foundation 不会自动提供对底层 Ceph 文件系统的容器访问。
对于基于 Red Hat Enterprise Linux CoreOS (RHCOS) 的主机,跳过这一步。
流程
- 登录基于 Red Hat Enterprise Linux 的节点并打开一个终端。
对于集群中的每个节点:
验证节点有权访问 rhel-7-server-extras-rpms 存储库。
# subscription-manager repos --list-enabled | grep rhel-7-server
如果您没有在输出中看到
rhel-7-server-rpms和rhel-7-server-extras-rpms,或者没有输出,请运行以下命令来启用相关的存储库:# subscription-manager repos --enable=rhel-7-server-rpms
# subscription-manager repos --enable=rhel-7-server-extras-rpms
安装所需的软件包。
# yum install -y policycoreutils container-selinux
在 SELinux 中永久启用 Ceph 文件系统的容器使用。
# setsebool -P container_use_cephfs on
1.2. 在 Vault 中启用键值后端路径和策略
先决条件
- 管理员对 Vault 的访问权限。
-
仔细选择唯一路径名称作为遵循命名惯例的后端
路径,因为它无法在以后更改。
流程
在 Vault 中启用 Key/Value(KV)后端路径。
对于 Vault KV secret 引擎 API,版本 1:
$ vault secrets enable -path=odf kv
对于 Vault KV secret 引擎 API,版本 2:
$ vault secrets enable -path=odf kv-v2
使用以下命令,创建一个策略来限制用户对机密执行写入或删除操作。
echo ' path "odf/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "sys/mounts" { capabilities = ["read"] }'| vault policy write odf -创建与上述策略匹配的令牌。
$ vault token create -policy=odf -format json
第 2 章 使用动态存储设备部署 OpenShift Data Foundation
您可以使用 Amazon Web Services(AWS)EBS(类型,gp2)提供的动态存储设备在 OpenShift Container Platform 上部署 OpenShift Data Foundation,为您提供创建内部集群资源的选项。这会导致在内部置备基础服务,这有助于为应用提供额外的存储类。
另外,可以使用 OpenShift Data Foundation 仅部署多云对象网关(MCG)组件。如需更多信息,请参阅 部署独立多云对象网关。
AWS 上仅支持内部 OpenShift Data Foundation 集群。如需有关部署要求的更多信息,请参阅规划部署。
另外,确保已满足 准备部署 OpenShift Data Foundation 章节的要求,然后按照以下步骤使用动态存储设备进行部署:
2.1. 安装 Red Hat OpenShift Data Foundation Operator
您可以使用 Red Hat OpenShift Container Platform Operator Hub 安装 Red Hat OpenShift Data Foundation Operator。
先决条件
-
使用具有
cluster-admin和 Operator 安装权限的账户访问 OpenShift Container Platform 集群。 - 您必须在 Red Hat OpenShift Container Platform 集群中至少有三个 worker 节点。
- 有关其他资源要求,请参阅规划您的部署指南。
当您需要覆盖 OpenShift Data Foundation 的集群范围默认节点选择器时,您可以在命令行界面中使用以下命令为
openshift-storage命名空间指定空白节点选择器(在这种情况下创建 openshift-storage 命名空间):$ oc annotate namespace openshift-storage openshift.io/node-selector=
-
将节点作为
infra污点,以确保只在该节点上调度 Red Hat OpenShift Data Foundation 资源。这有助于您节省订阅成本。如需更多信息,请参阅管理和分配存储资源指南中的如何将专用 worker 节点用于 Red Hat OpenShift Data Foundation 章节。
流程
- 登录 OpenShift Web 控制台。
- 点 Operators → OperatorHub。
-
在 Filter by keyword 框中滚动或键入
OpenShift Data Foundation,以查找 OpenShift Data Foundation Operator。 - 点 Install。
在 Install Operator 页面中设置以下选项:
- 更新频道是 stable-4.9。
- 安装模式是 A specific namespace on the cluster。
-
Installed Namespace 为 Operator recommended namespace openshift-storage。如果命名空间
openshift-storage不存在,它会在 Operator 安装过程中创建。 将 Approval Strategy 选为 Automatic 或 Manual。
如果选择 Automatic 更新,Operator Lifecycle Manager(OLM)将自动升级 Operator 的运行实例,而无需任何干预。
如果选择 手动 更新,则 OLM 会创建一个更新请求。作为集群管理员,您必须手动批准该更新请求,才能将 Operator 更新至更新的版本。
- 确保为 Console 插件 选择了 Enable 选项。
- 点 Install。
我们建议使用所有默认设置。更改可能会导致意外行为。仅在您意识到其结果时进行修改。
验证步骤
- 验证 OpenShift Data Foundation Operator 是否显示绿色勾号(代表安装成功)。
成功安装 Operator 后,用户界面中会显示一个带有
Web console update is available信息的弹出窗口。点这个弹出窗口中的 Refresh web console 来反映控制台的更改。- 在 Web 控制台中,导航到 Operators,并验证 OpenShift Data Foundation 是否可用。
如果在安装 OpenShift Data Foundation Operator 后,不能自动启用 console plugin 选项,则需要启用它。
有关如何启用 console 插件的更多信息,请参阅启用 Red Hat OpenShift Data Foundation 控制台插件。
2.2. 创建 OpenShift Data Foundation 集群
安装 OpenShift Data Foundation 操作器(operator)后,创建 OpenShift Data Foundation。
先决条件
- OpenShift Data Foundation 操作器必须从 Operator Hub 安装。如需更多信息,请参阅 安装 OpenShift Data Foundation Operator。
流程
在 OpenShift Web 控制台中,点 Operators → Installed Operators 查看所有已安装的 Operator。
确保所选 项目 为
openshift-storage。- 点 OpenShift Data Foundation 操作器,然后单击 Create StorageSystem。
在 Backing storage 页面中,选择以下内容:
- 选择 Use a existing StorageClass 选项。
选择 Storage Class。
默认情况下,它被设置为
gp2。-
展开 Advanced,为 Deployment type 选项选择
Full Deployment。 - 点 Next。
在 Capacity and nodes 页面中,提供必要的信息:
从下拉列表中选择 Requested Capacity 的值。默认设置为
2 TiB。注意选择初始存储容量后,集群扩展将使用所选的可用容量(原始存储的三倍)执行。
在 Select Nodes 部分中,选择至少三个可用节点。
对于具有多个可用区的云平台,请确保节点分布在不同的位置/可用性区域。
如果选择的节点与 OpenShift Data Foundation 的一个聚合的 30 个 CPU 和 72 GiB RAM 的要求不匹配,则会部署一个最小的集群。如需最低起始节点要求,请参阅 规划指南中的资源要求部分。
- 点 Next。
可选:在 Security and network 页面中,根据您的要求进行配置:
- 若要启用加密,可选择为块存储和文件存储启用数据加密。
选择一个或多个加密级别:
集群范围的加密
加密整个集群(块和文件)。
StorageClass 加密
使用启用加密的存储类创建加密的持久性卷(仅块)。
选择 Connect to an external key management service 复选框。这是集群范围加密的可选选项。
-
默认情况下,Key Management Service Provider 设置为
Vault。 - 输入 Vault Service Name、Vault 服务器的主机地址 ('https://<hostname 或 ip>')、端口号和 Token。
展开 Advanced Settings,以根据您的
Vault配置输入其他设置和证书详情。- 在 后端路径中输入为 OpenShift Data Foundation 专用且唯一的 Key Value secret 路径。
- 可选:输入 TLS Server Name 和 Vault Enterprise Namespace。
- 上传对应的 PEM 编码证书文件,以提供 CA 证书、客户端证书和客户端私钥。
- 点击 Save。
-
默认情况下,Key Management Service Provider 设置为
- 点 Next。
在 Review and create 页面中,检查配置详情。
若要修改任何配置设置,请单击 Back。
- 单击 Create StorageSystem。
验证步骤
验证已安装存储集群的最终状态:
- 在 OpenShift Web 控制台中,导航到 Installed Operators → OpenShift Data Foundation → Storage System → ocs-storagecluster-storagesystem → Resources。
验证
StorageCluster的Status是否为Ready,并且旁边有一个绿色勾号标记。- 要验证 OpenShift 数据基础的所有组件是否已成功安装,请参阅验证您的 OpenShift Data Foundation 部署。
其它资源
要启用 Overprovision Control 警报,请参阅 Monitoring 中的 Alerts 指南。
2.3. 验证 OpenShift Data Foundation
验证 OpenShift Data Foundation 是否已正确部署:
2.3.1. 验证 pod 的状态
流程
- 从 OpenShift Web 控制台点 Workloads → Pods。
从 Project 下拉列表中选择
openshift-storage。注意如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。
有关每个组件预期的 pod 数量及其变化取决于节点数量的更多信息,请参阅 表 2.1 “对应 OpenShift Data Foundation 集群的 Pod”。
点 Running 和 Completed 标签页验证以下 pod 是否处于
Running和Completed状态:表 2.1. 对应 OpenShift Data Foundation 集群的 Pod
组件 对应的 pod OpenShift Data Foundation Operator
-
OCS-operator-*(在任何 worker 节点上有 1 个 pod) -
ocS-metrics-exporter-*(任何 worker 节点上 1 个 pod) -
odF-operator-controller-manager-*(任何 worker 节点上 1 个 pod) -
odf-console-*(任何 worker 节点上 1 个 pod)
Rook-ceph Operator
rook-ceph-operator-*(任何 worker 节点上有 1 个 pod)
多云对象网关
-
noobaa-operator-*(任何 worker 节点上 1 个 pod) -
noobaa-core-*(任何存储节点上 1 个 pod) -
noobaa-db-pg-*(任何存储节点上 1 个 pod) -
noobaa-endpoint-*(任何存储节点上 1 个 pod)
MON
rook-ceph-mon-*(在存储节点间分布 3 个 pod)
MGR
rook-ceph-mgr-*(任何存储节点上的 1 个 pod)
MDS
rook-ceph-mds-ocs-storagecluster-cephfilesystem-*(2 个 pod 在存储节点间分布)
CSI
cephfs-
csi-cephfsplugin-*(每个 worker 节点上 1 个 pod) -
csi-cephfsplugin-provisioner-*(2 个 pod 在不同的 worker 节点上分布)
-
rbd-
csi-rbdplugin-*(每个 worker 节点上 1 个 pod) -
csi-rbdplugin-provisioner-*(2 个 pod 在不同的 worker 节点上分步)
-
rook-ceph-crashcollector
rook-ceph-crashcollector-*(每个存储节点上 1 个 pod)
OSD
-
rook-ceph-osd-*(每个设备 1 个 pod) -
rook-ceph-osd-prepare-ocs-deviceset-*(每个设备 1 个 pod)
-
2.3.2. 验证 OpenShift Data Foundation 集群是否健康
流程
- 在 OpenShift Web 控制台中,点 Storage → OpenShift Data Foundation。
- 在 Overview 选项卡的 Status 卡中,点 Storage System,然后点弹出框中的存储系统链接。
- 在 Block and File 选项卡的 Status 卡中,验证 Storage Cluster 是否具有绿色勾号。
- 在 Details 卡中,验证是否显示集群信息。
如需有关使用 Block and File 仪表板的 OpenShift Data Foundation 集群健康的更多信息,请参阅 监控 OpenShift Data Foundation。
2.3.3. 验证 Multicloud 对象网关是否健康
流程
- 在 OpenShift Web 控制台中,点 Storage → OpenShift Data Foundation。
在 Overview 选项卡的 Status 卡中,点 Storage System,然后点弹出框中的存储系统链接。
- 在 Object 选项卡的 Status 卡 中,验证 Object Service 和数据弹性 都具有绿色勾号。
- 在 Details 卡中,验证是否显示了 MCG 信息。
如需有关使用对象服务仪表板的 OpenShift Data Foundation 集群健康的更多信息,请参阅监控 OpenShift Data Foundation。
2.3.4. 验证 OpenShift Data Foundation 特定的存储类是否存在
流程
- 从 OpenShift Web 控制台左侧窗格中,点击 Storage → Storage Classes。
验证是否在创建 OpenShift Data Foundation 集群时创建了以下存储类:
-
ocs-storagecluster-ceph-rbd -
ocs-storagecluster-cephfs -
openshift-storage.noobaa.io
-
第 3 章 部署独立多云对象网关
仅通过 OpenShift Data Foundation 部署多云对象网关组件可为部署提供灵活性,并有助于减少资源消耗。使用这个部分来只部署独立 Multicloud 对象网关组件,它涉及以下步骤:
- 安装 Red Hat OpenShift Data Foundation Operator
- 创建独立多云对象网关
3.1. 安装 Red Hat OpenShift Data Foundation Operator
您可以使用 Red Hat OpenShift Container Platform Operator Hub 安装 Red Hat OpenShift Data Foundation Operator。
先决条件
-
使用具有
cluster-admin和 Operator 安装权限的账户访问 OpenShift Container Platform 集群。 - 您必须在 Red Hat OpenShift Container Platform 集群中至少有三个 worker 节点。
- 有关其他资源要求,请参阅规划您的部署指南。
当您需要覆盖 OpenShift Data Foundation 的集群范围默认节点选择器时,您可以在命令行界面中使用以下命令为
openshift-storage命名空间指定空白节点选择器(在这种情况下创建 openshift-storage 命名空间):$ oc annotate namespace openshift-storage openshift.io/node-selector=
-
将节点作为
infra污点,以确保只在该节点上调度 Red Hat OpenShift Data Foundation 资源。这有助于您节省订阅成本。如需更多信息,请参阅管理和分配存储资源指南中的如何将专用 worker 节点用于 Red Hat OpenShift Data Foundation 章节。
流程
- 登录 OpenShift Web 控制台。
- 点 Operators → OperatorHub。
-
在 Filter by keyword 框中滚动或键入
OpenShift Data Foundation,以查找 OpenShift Data Foundation Operator。 - 点 Install。
在 Install Operator 页面中设置以下选项:
- 更新频道是 stable-4.9。
- 安装模式是 A specific namespace on the cluster。
-
Installed Namespace 为 Operator recommended namespace openshift-storage。如果命名空间
openshift-storage不存在,它会在 Operator 安装过程中创建。 将 Approval Strategy 选为 Automatic 或 Manual。
如果选择 Automatic 更新,Operator Lifecycle Manager(OLM)将自动升级 Operator 的运行实例,而无需任何干预。
如果选择 手动 更新,则 OLM 会创建一个更新请求。作为集群管理员,您必须手动批准该更新请求,才能将 Operator 更新至更新的版本。
- 确保为 Console 插件 选择了 Enable 选项。
- 点 Install。
我们建议使用所有默认设置。更改可能会导致意外行为。仅在您意识到其结果时进行修改。
验证步骤
- 验证 OpenShift Data Foundation Operator 是否显示绿色勾号(代表安装成功)。
成功安装 Operator 后,用户界面中会显示一个带有
Web console update is available信息的弹出窗口。点这个弹出窗口中的 Refresh web console 来反映控制台的更改。- 在 Web 控制台中,导航到 Operators,并验证 OpenShift Data Foundation 是否可用。
如果在安装 OpenShift Data Foundation Operator 后,不能自动启用 console plugin 选项,则需要启用它。
有关如何启用 console 插件的更多信息,请参阅启用 Red Hat OpenShift Data Foundation 控制台插件。
3.2. 创建独立多云对象网关
使用本节来仅创建带有 OpenShift Data Foundation 的 Multicloud 对象网关组件。
先决条件
- 确保已安装 OpenShift Data Foundation Operator。
- (用于仅使用本地存储设备进行部署)确保安装了 Local Storage Operator。
- 确保您有一个存储类,并被设置为默认值。
流程
在 OpenShift Web 控制台中,点 Operators → Installed Operators 查看所有已安装的 Operator。
确保所选项目为
openshift-storage。- 单击 OpenShift Data Foundation operator,然后单击 Create StorageSystem。
- 在 Backing storage 页面中,展开 Advanced。
- 为 Deployment 类型选择 Multicloud Object Gateway。
- 点 Next。
可选:在 Security 页面中,选择连接到外部密钥管理服务。
-
默认情况下,Key Management Service Provider 设置为
Vault。 - 输入 Vault Service Name、Vault 服务器的主机地址 ('https://<hostname 或 ip>')、端口号和 Token。
展开 Advanced Settings,以根据您的
Vault配置输入其他设置和证书详情。- 在 后端路径中输入为 OpenShift Data Foundation 专用且唯一的 Key Value secret 路径。
- 可选:输入 TLS Server Name 和 Vault Enterprise Namespace。
- 上传对应的 PEM 编码证书文件,以提供 CA 证书、客户端证书和客户端私钥。
- 点击 Save。
- 点 Next。
-
默认情况下,Key Management Service Provider 设置为
在 Review and create 页面中,查看配置详情:
若要修改任何配置设置,请单击 Back。
- 单击 Create StorageSystem。
验证步骤
- 验证 OpenShift Data Foundation 集群是否健康
- 在 OpenShift Web 控制台中,点 Storage → OpenShift Data Foundation。
在 Overview 选项卡的 Status 卡中,点 Storage System,然后点弹出框中的存储系统链接。
- 在 Object 选项卡的 Status 卡 中,验证 Object Service 和数据弹性 都具有绿色勾号。
- 在 Details 卡中,验证是否显示了 MCG 信息。
- 验证 pod 的状态
- 从 OpenShift Web 控制台点 Workloads → Pods。
从 Project 下拉列表中选择
openshift-storage,再验证以下 pod 处于Running状态。注意如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。
组件 对应的 pod OpenShift Data Foundation Operator
-
OCS-operator-*(在任何 worker 节点上有 1 个 pod) -
ocS-metrics-exporter-*(任何 worker 节点上 1 个 pod) -
odF-operator-controller-manager-*(任何 worker 节点上 1 个 pod) -
odf-console-*(任何 worker 节点上 1 个 pod)
Rook-ceph Operator
rook-ceph-operator-*(任何 worker 节点上有 1 个 pod)
多云对象网关
-
noobaa-operator-*(任何 worker 节点上 1 个 pod) -
noobaa-core-*(任何 worker 节点上有 1 个 pod) -
noobaa-db-pg-*(任何 worker 节点上有 1 个 pod) -
noobaa-endpoint-*(任何 worker 节点上有 1 个 pod)
-
第 4 章 卸载 OpenShift Data Foundation
4.1. 以内部模式卸载 OpenShift Data Foundation
要以内部模式卸载 OpenShift Data Foundation,请参阅 有关卸载 OpenShift Data Foundation 的知识库文章。