更新 OpenShift Container Storage
集群和存储管理员的说明
摘要
第 1 章 OpenShift Container Storage 更新过程概述
您可以在次版本(如 4.5 和 4.6)间升级 Red Hat OpenShift Container Storage 及其组件,也可以在 4.6.0 和 4.6.1 等批处理更新之间升级。
您需要以特定的顺序升级 OpenShift Container Storage 的不同部分。
- 根据 OpenShift Container Platform 更新集群文档更新 OpenShift Container Platform。
更新 OpenShift 容器平台存储.
使用适合您的设置的流程更新 OpenShift Container Storage operator :
- 要准备断开连接的或代理环境进行更新,请参阅 Operator 指南来在受限网络中使用 Operator Lifecycle Manager。
- 以内部模式更新 OpenShift Container Storage
- 以外部模式更新 OpenShift Container Storage
如果使用本地存储:
更新 Local Storage operator。
为由本地存储支持的集群执行更新后配置更改。
更新注意事项
开始之前,请先查阅以下重要注意事项:
红帽建议在 Red Hat OpenShift Container Storage 中使用同一版本的 Red Hat OpenShift Container Platform。
如需有关 OpenShift Container Platform 和 OpenShift Container Storage 组合的更多信息,请参阅Interoperability Matrix。
- 只有在 Local Storage Operator 版本与 Red Hat OpenShift Container Platform 版本匹配时,才会完全支持 Local Storage Operator。
第 2 章 OpenShift Container Storage 升级频道和发行版本
在 OpenShift Container Platform 4.1 中,红帽引进了升级频道的概念,用于为集群升级推荐适当的版本。通过控制升级的速度,这些升级频道允许您选择升级策略。当 OpenShift Container Storage 在 OpenShift Container Platform 中被部署为 Operator 时,它遵循相同的策略来控制升级的速度,方法是在多个频道中提供修复程序。升级频道与 OpenShift Container Storage 的次要版本关联。例如,OpenShift Container Storage 4.6 升级频道建议从 4.5 升级到 4.6,并在 4.6 中升级。它们不推荐升级到 4.7 或更高版本。此策略可确保管理员可以明确决定升级到下一个 OpenShift Container Storage 次要版本。
升级频道仅控制版本选择,不会影响安装的集群版本; ocs-operator
决定要安装的 OpenShift Container Storage 版本。开箱即用,它会始终安装最新的 OpenShift Container Storage 发行版本,维护与 OpenShift Container Platform 的兼容性。因此,在 OpenShift Container Platform 4.6 中,OpenShift Container Storage 4.6 将是可安装的最新版本。
OpenShift Container Storage 升级与 OpenShift Container Platform 升级相关联,以确保与 OpenShift Container Platform 保持兼容性和互操作性。对于 OpenShift Container Storage 4.6,支持 OpenShift Container Platform 4.5、4.6 和 4.7。OpenShift Container Platform 4.5 和 4.7 支持保持与 OpenShift Container Platform 的向后和转发的兼容性。使 OpenShift Container Storage 版本与 OpenShift Container Platform 相同,以便获得该发行版本中的所有功能和增强功能。
OpenShift Container Platform 4.6 提供了以下升级频道:
-
stable-4.6
EUS-4.6
(只在运行 4.6 时可用)- stable-4.6 频道
-
新版本正式发布后,与次版本对应的 stable 频道将使用可用于升级的新镜像进行更新。您可以使用
stable-4.6 频道
从 OpenShift Container 存储 4.5 和 4.6 中进行升级。 - eus-4.6 频道
除了稳定频道外,某些 OpenShift Container Platform 次版本还提供延长更新支持(EUS)。具有 Premium 订阅的用户,可以使用 EUS 版本将维护阶段扩展到 14 个月。OpenShift Container Storage 4.6 目前是唯一带有 EUS 的次版本。
虽然 stable-4.6 和 eus-4.6 频道在 OpenShift Container Platform 4.6 转换为 EUS 之前没有区别,但您可以在 EUS 频道可用后立即切换到 EUS 频道。当 OpenShift Container Platform 4.6 过渡到其生命周期的 EUS 阶段时,stable-4.6 频道不再接收后续的 z-stream 更新。当您升级到只包括在 EUS 频道的版本后,那个集群将不再有次版本升级的能力,直到升级到下一个可用的 EUS 版本为止。下一个计划的 EUS 版本为 4.10,升级到那个版本需要一系列的版本升级,如从 4.6 升级到 4.7,再升级到 4.8,再升级到 4.9,最终升级到 4.10。
另外,只有在集群运行受支持的 OpenShift Container Platform 4.6 版本时,您才可以切换到 EUS 频道。
最后,如果您安装了一个专用于 EUS 的 4.6 版本,在升级到 4.10 前,您通常无法升级到最新的次版本。
第 3 章 以内部模式更新 OpenShift Container Storage
使用以下步骤更新以内部模式部署的 OpenShift Container Storage 集群。
3.1. 以内部模式启用 OpenShift Container Storage Operator 的自动更新
使用这个流程在 OpenShift Container Platform 中启用自动更新批准来更新 OpenShift Container Storage Operator。
先决条件
- 在 Status 卡中的 Persistent Storage 下,确认 OCS Cluster 和 Data Resiliency 有一个绿色勾号。
-
在 Status 卡中的 Object Service 下,确认 Object Service 和 Data Resiliency 都是
Ready
状态(绿色勾号)。 - 将 OpenShift Container Platform 集群更新至版本 4.5.X 或 4.6.Y 的最新稳定版本,请参阅更新集群。
将 Red Hat OpenShift Container Storage 频道从
stable-4.5
切换到stable-4.6
。有关频道的详情,请参阅 OpenShift Container Storage 升级频道和发行版本。注意只有在您更新次版本(例如从 4.5 更新至 4.6)且不需要在 4.6 的批处理更新之间更新时(例如从 4.6.0 更新至 4.6.1)时,才需要切换频道。
确保所有 OpenShift Container Storage Pod(包括 Operator Pod)在
openshift-storage 命名空间中
处于Running 状态
。要查看 pod 的状态,请点击 OpenShift Web 控制台左侧窗格中的 Workloads → Pods。从 Project 下拉列表中,选择 openshift-storage。
- 确保您有足够的时间完成 Openshift Container Storage 更新过程,因为更新时间因集群中运行的 OSD 数量而异。
流程
- 登录 OpenShift Web 控制台。
- 点 Operators → Installed Operators
-
选择
openshift-storage
项目。 - 点 OpenShift Container Storage operator 名称。
- 单击 Subscription 选项卡,再单击 Approval 下的 链接。
- 选择 Automatic(default) 并点 Save。
根据 Upgrade Status 执行以下操作之一:
升级状态 显示 需要批准。
注意如果频道中已检测到新的 OpenShift Container Storage 版本,且更新时已将批准策略从 Manual 改为 Automatic ,则升级状态会显示为需要批准。
- 单击 Install Plan 链接。
- 在 InstallPlan Details 页面中点 Preview Install Plan。
- 检查安装计划并单击 Approve。
- 等待 Status 从 Unknown 更改为 Created。
- 点 Operators → Installed Operators
-
选择
openshift-storage
项目。 - 等待 Status 更改为 Up to date
升级状态 不需要 批准 :
- 等待更新启动。这可能需要长达 20 分钟。
- 点 Operators → Installed Operators
-
选择
openshift-storage
项目。 - 等待 Status 更改为 Up to date
验证步骤
- 点 Overview → Persistent Storage 标签页,在 Status 卡中确认 OCS Cluster 和 Data Resiliency 有一个绿色勾号标记(表示它正常运行)。
-
点 Overview → Object Service 标签页,在 Status 卡中确认 Object Service 和 Data Resiliency 都是
Ready
状态(绿色勾号)。 点 Operators → Installed Operators → OpenShift Container Storage Operator。在 Storage Cluster 下,验证集群服务状态是否为
Ready
。注意从 OpenShift Container Storage 版本 4.5 更新至 4.6 后,此处的
Version
字段仍将显示 4.5。这是因为ocs-operator
不会更新此字段中代表的字符串。确保所有 OpenShift Container Storage Pod(包括 Operator Pod)在
openshift-storage 命名空间中
处于Running 状态
。要查看 pod 的状态,请点击 Workloads → Pods。从 Project 下拉列表中,选择 openshift-storage。
- 如果验证步骤失败,请联系红帽支持。
其它资源
如果您在更新 OpenShift Container Storage 时遇到任何问题,请参阅故障排除指南中的常见所需日志 进行故障排除部分。
3.2. 以内部模式手动更新 OpenShift Container Storage Operator
通过向安装计划提供手动批准来更新 OpenShift Container Storage Operator。
先决条件
- 在 Status 卡中的 Persistent Storage 下,确认 OCS Cluster 和 Data Resiliency 有一个绿色勾号。
-
在 Status 卡中的 Object Service 下,确认 Object Service 和 Data Resiliency 都是
Ready
状态(绿色勾号)。 - 将 OpenShift Container Platform 集群更新至版本 4.5.X 或 4.6.Y 的最新稳定版本,请参阅更新集群。
将 Red Hat OpenShift Container Storage 频道从
stable-4.5
切换到stable-4.6
。有关频道的详情,请参阅 OpenShift Container Storage 升级频道和发行版本。注意只有在您更新次版本(例如从 4.5 更新至 4.6)且不需要在 4.6 的批处理更新之间更新时(例如从 4.6.0 更新至 4.6.1)时,才需要切换频道。
确保所有 OpenShift Container Storage Pod(包括 Operator Pod)在
openshift-storage 命名空间中
处于Running 状态
。要查看 pod 的状态,请点击 OpenShift Web 控制台左侧窗格中的 Workloads → Pods。从 Project 下拉列表中,选择 openshift-storage。
- 确保您有足够的时间完成 Openshift Container Storage 更新过程,因为更新时间因集群中运行的 OSD 数量而异。
流程
- 登录 OpenShift Web 控制台。
- 点 Operators → Installed Operators
-
选择
openshift-storage
项目。 - 点 OpenShift Container Storage operator 名称。
- 单击 Subscription 选项卡,再单击 Approval 下的 链接。
- 选择 Manual,然后单击 Save。
- 等待 Upgrade Status 更改为 Upgrading。
- 如果 Upgrade Status 显示需要批准,请单击 require approval。
- 在 InstallPlan Details 页面中点 Preview Install Plan。
- 检查安装计划并单击 Approve。
- 等待 Status 从 Unknown 更改为 Created。
- 点 Operators → Installed Operators
-
选择
openshift-storage
项目。 - 等待 Status 更改为 Up to date
验证步骤
- 点 Overview → Persistent Storage 标签页,在 Status 卡中确认 OCS Cluster 和 Data Resiliency 有一个绿色勾号标记(表示它正常运行)。
-
点 Overview → Object Service 标签页,在 Status 卡中确认 Object Service 和 Data Resiliency 都是
Ready
状态(绿色勾号)。 点 Operators → Installed Operators → OpenShift Container Storage Operator。在 Storage Cluster 下,验证集群服务状态是否为
Ready
。注意从 OpenShift Container Storage 版本 4.5 更新至 4.6 后,此处的
Version
字段仍将显示 4.5。这是因为ocs-operator
不会更新此字段中代表的字符串。确保所有 OpenShift Container Storage Pod(包括 Operator Pod)在
openshift-storage 命名空间中
处于Running 状态
。要查看 pod 的状态,请点击 OpenShift Web 控制台左侧窗格中的 Workloads → Pods。从 Project 下拉列表中,选择 openshift-storage。
- 如果验证步骤失败,请联系红帽支持。
其它资源
如果您在更新 OpenShift Container Storage 时遇到任何问题,请参阅故障排除指南中的常见所需日志 进行故障排除部分。
第 4 章 以外部模式更新 OpenShift Container Storage
使用以下步骤更新以外部模式部署的 OpenShift Container Storage 集群。
升级 Red Hat OpenShift Container Storage Operator 不会升级外部 Red Hat Ceph Storage 集群。它只升级在 OpenShift Container Platform 上运行的 Red Hat OpenShift Container Storage Services。
若要升级外部红帽 Ceph 存储集群,请联络您的红帽 Ceph 存储管理员。
4.1. 以外部模式为 OpenShift Container Storage Operator 启用自动更新
使用这个流程在 OpenShift Container Platform 中启用自动更新批准来更新 OpenShift Container Storage Operator。
更新 OpenShift Container Storage 不会更新外部 Red Hat Ceph Storage 集群。
先决条件
- 外部集群需要 Red Hat Ceph Storage 版本 4.2z1 或更高版本。如需更多信息,请参阅有关红帽 Ceph 存储发行版和相应 Ceph 软件包版本的知识库文章。
- 将 OpenShift Container Platform 集群更新至版本 4.5.X 或 4.6.Y 的最新稳定版本,请参阅更新集群。
将 Red Hat OpenShift Container Storage 频道从
stable-4.5
切换到stable-4.6
。有关频道的详情,请参阅 OpenShift Container Storage 升级频道和发行版本。注意只有在您更新次版本(例如从 4.5 更新至 4.6)且不需要在 4.6 的批处理更新之间更新时(例如从 4.6.0 更新至 4.6.1)时,才需要切换频道。
确保所有 OpenShift Container Storage Pod(包括 Operator Pod)在
openshift-storage 命名空间中
处于Running 状态
。要查看 pod 的状态,请点击 OpenShift Web 控制台左侧窗格中的 Workloads → Pods。从 Project 下拉列表中,选择 openshift-storage。
- 在 Status 卡中的 Persistent Storage 下,确认 OCS 集群有一个绿色勾号标记。
-
在 Status 卡中的 Object Service 下,确认 Object Service 和 Data Resiliency 都是
Ready
状态(绿色勾号)。 - 确保有足够的时间完成 Openshift Container Storage 更新过程。
流程
- 登录 OpenShift Web 控制台。
- 点 Operators → Installed Operators
-
选择
openshift-storage
项目。 - 点 OpenShift Container Storage operator 名称。
- 单击 Subscription 选项卡,再单击 Approval 下的 链接。
- 选择 Automatic(default) 并点 Save。
根据 Upgrade Status 执行以下操作之一:
升级状态显示 需要批准。
注意如果频道中已检测到新的 OpenShift Container Storage 版本,且更新时已将批准策略从 Manual 改为 Automatic ,则升级状态会显示为需要批准。
- 单击 Install Plan 链接。
- 在 InstallPlan Details 页面中点 Preview Install Plan。
- 检查安装计划并单击 Approve。
- 等待 Status 从 Unknown 更改为 Created。
- 点 Operators → Installed Operators
-
选择
openshift-storage
项目。 - 等待 Status 更改为 Up to date
升级状态不需要 批准 :
- 等待更新启动。这可能需要长达 20 分钟。
- 点 Operators → Installed Operators
-
选择
openshift-storage
项目。 - 等待 Status 更改为 Up to date
验证步骤
- 点 Overview → Persistent Storage 标签页,在 Status 卡中确认 OCS Cluster 有一个绿色勾号标记(表示它正常运行)。
-
点 Overview → Object Service 标签页,在 Status 卡中确认 Object Service 和 Data Resiliency 都是
Ready
状态(绿色勾号)。 点 Operators → Installed Operators → OpenShift Container Storage Operator。在 Storage Cluster 下,验证集群服务的状态
是否为 Ready
。注意从 OpenShift Container Storage 版本 4.5 更新至 4.6 后,此处的
Version
字段仍将显示 4.5。这是因为ocs-operator
不会更新此字段中代表的字符串。确保所有 OpenShift Container Storage Pod(包括 Operator Pod)在
openshift-storage
命名空间中处于Running 状态
。要查看 pod 的状态,请点击 OpenShift Web 控制台左侧窗格中的 Workloads → Pods。从 Project 下拉列表中,选择 openshift-storage。
- 如果验证步骤失败,请联系红帽支持。
后续步骤
- 启用监控来查看对象网关(RGW)指标。请参阅为对象存储仪表板启用监控。
4.2. 以外部模式手动更新 OpenShift Container Storage Operator
通过向安装计划提供手动批准来更新 OpenShift Container Storage Operator。
更新 OpenShift Container Storage 不会更新外部 Red Hat Ceph Storage 集群。
先决条件
- 外部集群需要 Red Hat Ceph Storage 版本 4.2z1 或更高版本。如需更多信息,请参阅有关红帽 Ceph 存储发行版和相应 Ceph 软件包版本的知识库文章。
- 将 OpenShift Container Platform 集群更新至版本 4.5.X 或 4.6.Y 的最新稳定版本,请参阅更新集群。
将 Red Hat OpenShift Container Storage 频道从
stable-4.5
切换到stable-4.6
。有关频道的详情,请参阅 OpenShift Container Storage 升级频道和发行版本。注意只有在您更新次版本(例如从 4.5 更新至 4.6)且不需要在 4.6 的批处理更新之间更新时(例如从 4.6.0 更新至 4.6.1)时,才需要切换频道。
确保所有 OpenShift Container Storage Pod(包括 Operator Pod)在
openshift-storage
命名空间中处于Running 状态
。要查看 pod 的状态,请点击 OpenShift Web 控制台左侧窗格中的 Workloads → Pods。从 Project 下拉列表中,选择 openshift-storage。
- 在 Status 卡中的 Persistent Storage 下,确认 OCS 集群有一个绿色勾号标记。
-
在 Status 卡中的 Object Service 下,确认 Object Service 和 Data Resiliency 都是
Ready
状态(绿色勾号)。 - 确保有足够的时间完成 Openshift Container Storage 更新过程。
流程
- 登录 OpenShift Web 控制台。
- 点 Operators → Installed Operators
-
选择
openshift-storage
项目。 - 点 OpenShift Container Storage operator 名称。
- 单击 Subscription 选项卡,再单击 Approval 下的 链接。
- 选择 Manual,然后单击 Save。
- 等待 Upgrade Status 更改为 Upgrading。
- 如果 Upgrade Status 显示需要批准,请单击 require approval。
- 在 InstallPlan Details 页面中点 Preview Install Plan。
- 检查安装计划并单击 Approve。
- 等待 Status 从 Unknown 更改为 Created。
- 点 Operators → Installed Operators
-
选择
openshift-storage
项目。 - 等待 Status 更改为 Up to date
验证步骤
- 点 Overview → Persistent Storage 标签页,在 Status 卡中确认 OCS Cluster 有一个绿色勾号标记(表示它正常运行)。
-
点 Overview → Object Service 标签页,在 Status 卡中确认 Object Service 和 Data Resiliency 都是
Ready
状态(绿色勾号)。 -
点 Operators → Installed Operators → OpenShift Container Storage Operator。在 Storage Cluster 下,验证集群服务的状态
是否为 Ready
。 确保所有 OpenShift Container Storage Pod(包括 Operator Pod)在
openshift-storage
命名空间中处于Running 状态
。要查看 pod 的状态,请点击 OpenShift Web 控制台左侧窗格中的 Workloads → Pods。从 Project 下拉列表中,选择 openshift-storage。
注意从 OpenShift Container Storage 版本 4.5 更新至 4.6 后,此处的
Version
字段仍将显示 4.5。这是因为ocs-operator
不会更新此字段中代表的字符串。- 如果验证步骤失败,请联系红帽支持。
后续步骤
- 启用监控来查看对象网关(RGW)指标。请参阅为对象存储仪表板启用监控。
4.3. 为 Object Service 仪表板启用监控
要在 OpenShift Container Storage 4.6 中的 Object Service 仪表板中查看对象网关(RGW)指标,您必须启用监控。如需有关对象服务仪表板的更多信息,请参阅 Object Service 仪表板中的对象服务仪表板和指标 。
先决条件
- 将 OpenShift Container Platform 集群更新至最新的稳定版本 4.6.z,请参阅更新集群。
- OpenShift Container Storage Operator 已升级到 4.6 版本。如需更多信息,请参阅以外部模式启用 OpenShift Container Storage Operator 自动更新,或手动以外部模式更新 OpenShift Container Storage Operator。
- 在 Status 卡中的 Persistent Storage 下,确认 OCS 集群有一个绿色勾号标记。
-
在 Status 卡中的 Object Service 下,确认 Object Service 和 Data Resiliency 都是
Ready
状态(绿色勾号)。 - 红帽 Ceph 存储必须安装并配置 Ceph 控制面板,并且 Ceph Manager Prometheus 导出器必须使用端口 9283。
流程
下载用于更新和提取 Ceph 集群详细信息的 python 脚本。
- 点 OpenShift Web 控制台上的 Operators → Installed Operators 查看安装的 Operator。
- 在 Installed Operators 页面中,点击已安装的 OpenShift Container Storage Operator 的 Provided APIs 列中的 Storage Cluster 链接。
- 点 Create Storage Cluster。
- 选择 Mode 作为 External。
- 在 Connect to external cluster 部分中,单击 Download Script 链接,以下载用于提取 Ceph 集群详细信息的 python 脚本。
- 单击 Cancel,因为存储集群已创建好。
更新 Red Hat Ceph Storage 集群中 OpenShift Container Storage 客户端的权限上限。
- 联系您的红帽 Ceph 存储管理员,在红帽 Ceph 存储客户端节点上运行下载的 python 脚本。
运行脚本:
# python3 ceph-external-cluster-details-exporter.py --upgrade --run-as-user=<client_name_used_for_OCS_4.5_install>
--run-as-user
提供 OpenShift Container Storage 4.5 部署期间使用的客户端名称。如果在 OpenShift Container Storage 4.5 部署过程中没有使用这个选项,则会设置默认的客户端名称client.healthchecker
。用户的更新权限被设置为:
caps: [mgr] allow command config caps: [mon] allow r, allow command quorum_status, allow command version caps: [osd] allow rwx pool=default.rgw.meta, allow r pool=.rgw.root, allow rw pool=default.rgw.control, allow rx pool=default.rgw.log, allow x pool=default.rgw.buckets.index
要为 Object Service Dashboard 启用监控,必须将监控信息添加到
openshift-storage 命名空间中的外部 secret
中。可以通过两种方式更新 secret:rook-ceph-external-cluster-
details- 要使用 CLI 更新机密,请参阅本红帽知识库文章。
要从 OpenShift Web 控制台更新机密,请按照以下步骤操作:
运行在第 1v 步中下载的脚本:
# python3 ceph-external-cluster-details-exporter.py --rbd-data-pool-name <rbd block pool name> --monitoring-endpoint <ceph mgr prometheus exporter endpoint> --monitoring-endpoint-port <ceph mgr prometheus exporter port> --run-as-user <client_name_used_for_OCS_4.5_install> [optional arguments]
monitoring-endpoint
是可以从 OpenShift Container Platform 集群访问的活动ceph-mgr
的 IP 地址。monitoring-endpoint-port
是与--monitoring
Prometheus 导出器关联的端口。OpenShift Container Storage 4.6 仅支持端口 9283。-endpoint
指定的 ceph-mgr注意确保除 monitoring
-endpoint 和
以外的所有参数,包括可选参数,与以外部模式部署 OpenShift Container Storage 4.5 期间所用的参数相同。monitoring-endpoint-
port保存上一步中运行 脚本后生成的 JSON 输出。输出示例:
[{"name": "rook-ceph-mon-endpoints", "kind": "ConfigMap", "data": {"data": "xxx.xxx.xxx.xxx:xxxx", "maxMonId": "0", "mapping": "{}"}}, {"name": "rook-ceph-mon", "kind": "Secret", "data": {"admin-secret": "admin-secret", "fsid": "<fs-id>", "mon-secret": "mon-secret"}}, {"name": "rook-ceph-operator-creds", "kind": "Secret", "data": {"userID": "client.healthchecker", "userKey": "<user-key>"}}, {"name": "rook-csi-rbd-node", "kind": "Secret", "data": {"userID": "csi-rbd-node", "userKey": "<user-key>"}}, {"name": "ceph-rbd", "kind": "StorageClass", "data": {"pool": "ceph-rbd"}}, {"name": "monitoring-endpoint", "kind": "CephCluster", "data": {"MonitoringEndpoint": "xxx.xxx.xxx.xxx", "MonitoringPort": "xxxx"}}, {"name": "rook-csi-rbd-provisioner", "kind": "Secret", "data": {"userID": "csi-rbd-provisioner", "userKey": "<user-key>"}}, {"name": "rook-csi-cephfs-provisioner", "kind": "Secret", "data": {"adminID": "csi-cephfs-provisioner", "adminKey": "<admin-key>"}}, {"name": "rook-csi-cephfs-node", "kind": "Secret", "data": {"adminID": "csi-cephfs-node", "adminKey": "<admin-key>"}}, {"name": "cephfs", "kind": "StorageClass", "data": {"fsName": "cephfs", "pool": "cephfs_data"}}, {"name": "ceph-rgw", "kind": "StorageClass", "data": {"endpoint": "xxx.xxx.xxx.xxx:xxxx", "poolPrefix": "default"}}]
在 OpenShift Container Platform Web 控制台中,在
openshift-storage
命名空间下进入 Workloads → Secrets,然后点击rook-ceph-external-cluster-details
:- 从操作下拉菜单中 ,单击编辑机密。
在 Edit Key/Value Secret 页面上,单击 Value 文本框旁边的 Browse,再上传之前保存的 JSON 文件。
- 点 Save。
验证步骤
- 点击 OpenShift Web 控制台左侧窗格中的 Home → Overview,然后点击 Object Service 选项卡。
在 Status 卡中,验证对象服务是否显示绿色勾号图标,如下图所示:
在 Performance 卡中,从下拉菜单中选择 Object Gateway(RGW) 来查看指标:
- 点击 Overview → Persistent Storage 标签页,在 Status 卡中确认 OCS Cluster 有一个绿色勾号标记。
第 5 章 更新后配置更改
在某些情况下,更新后还需要额外的配置步骤,以确保所有功能都能按预期工作。
5.1. 由本地存储支持的集群更新后配置
在 Red Hat OpenShift Container Platform 4.6 及之后,Local Storage operator 提供了新的自定义资源类型来管理本地存储:
-
LocalVolumeDiscovery
-
LocalVolumeSet
这些资源类型不会作为之前版本更新的一部分自动处理,必须手动创建。
5.1.1. 使用命令行创建 LocalVolumeDiscovery 自定义资源
创建 LocalVolumeDiscovery
自定义资源,以确保设备管理用户界面可以发现本地设备的状态,并提供有关集群节点中可用设备的信息。
先决条件
- 对 OpenShift Container Platform 集群的管理访问权限。
流程
更改到安装有 Local Storage operator 的项目。
$ oc project local-storage-project
将 local-storage-project 替换为 Local Storage 项目的名称。
在版本 4.5 及更早版本中,默认本地存储项目的名称为
local-storage
。在版本 4.6 及更新的版本中,默认本地存储项目的名称为openshift-local-storage
。定义
LocalVolumeDiscovery
自定义资源。例如,在
local-volume-discovery.yaml
文件中定义以下内容:apiVersion: local.storage.openshift.io/v1alpha1 kind: LocalVolumeDiscovery metadata: name: auto-discover-devices spec: nodeSelector: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - worker1.example.com - worker2.example.com - worker3.example.com
创建
LocalVolumeDiscovery
自定义资源。$ oc create -f local-volume-discovery.yaml
验证步骤
- 登录 OpenShift Web 控制台。
- 点 Compute → Node,然后点击节点的名称。
- 点击 Disks 选项卡,检查您是否可以看到该节点上可用的设备。
5.1.2. 使用命令行创建 LocalVolumeSet 自定义资源
创建 LocalVolumeSet
自定义资源,根据您指定的条件自动将某些存储设备置备为持久性卷。对于任何符合 nodeSelector
条件的节点中的 deviceInclusionSpec
条件的设备都会创建持久性卷。
先决条件
- 对 OpenShift Container Platform 集群的管理访问权限。
流程
在
local-volume-set.yaml
文件中定义LocalVolumeSet
自定义资源。apiVersion: local.storage.openshift.io/v1alpha1 kind: LocalVolumeSet metadata: name: localblock spec: nodeSelector: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - worker1.example.com - worker2.example.com - worker3.example.com storageClassName: localblock volumeMode: Block maxDeviceCount: 10 # optional, limit devices provisioned per node deviceInclusionSpec: deviceTypes: # list of types to allow - disk - part # omit this to use only whole devices deviceMechanicalProperty: - NonRotational minSize: 100Gi # optional, minimum size of device to allow maxSize: 100Ti # optional, maximum size of device to allow models: # (optional) list of models to allow - SAMSUNG - Crucial_CT525MX3 vendors: # (optional) list of device vendors to allow - ATA - ST2000LM
以上定义从 worker
1、worker
32
和 worker节点选择特定类型的非轮转设备上的整个磁盘或分区,这些分区的大小为 100 GB 到 100
TB。创建本地块存储
类,并从发现的设备置备持久性卷。重要为
minSize
选择一个适当的值,以确保未选择系统分区。创建
LocalVolumeSet
。$ oc create -f local-volume-set.yaml
验证步骤
使用以下命令,跟踪与
deviceInclusionSpec
匹配的设备的持久性卷置备。调配持久卷可能需要几分钟时间。$ oc describe localvolumeset localblock [...] Status: Conditions: Last Transition Time: 2020-11-17T05:03:32Z Message: DiskMaker: Available, LocalProvisioner: Available Status: True Type: DaemonSetsAvailable Last Transition Time: 2020-11-17T05:03:34Z Message: Operator reconciled successfully. Status: True Type: Available Observed Generation: 1 Total Provisioned Device Count: 4 Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Discovered 2m30s (x4 localvolumeset- ip-10-0-147-124.us-east- NewDevice over 2m30s) symlink-controller 2.compute.internal - found possible matching disk, waiting 1m to claim Normal FoundMatch 89s (x4 localvolumeset- ip-10-0-147-124.us-east- ingDisk over 89s) symlink-controller 2.compute.internal - symlinking matching disk
验证调配的持久卷的状态。
$ oc get pv ACCESS RECLAIM STORAGE NAME CAPACITY MODES POLICY STATUS CLASS AGE local-pv- 500Gi RWO Delete Available localblock 7m48s 3584969f local-pv- 500Gi RWO Delete Available localblock 7m48s 3aee84fa local-pv- 500Gi RWO Delete Available localblock 7m48s 644d09ac local-pv- 500Gi RWO Delete Available localblock 7m48s c73cee1
5.1.3. 添加注解
从以前的版本升级到 OpenShift Container Storage 4.6 时,使用此流程为存储集群添加注解,以通过用户界面启用替换失败存储设备。
流程
- 登录 OpenShift Container Platform Web 控制台。
- 点 Home → Search。
- 在 Resources 中搜索 StorageCluster 并点击它。
-
在
ocs-storagecluster
旁边,点 Action 菜单 (⋮) → Edit annotations。 -
为 KEY 和 VALUE 添加
cluster.ocs.openshift.io/local-devices
和true
。 - 点 Save。