在任何平台上部署 OpenShift Data Foundation
在包括虚拟化和云环境的任何平台上部署 OpenShift Data Foundation 的说明。
摘要
使开源包含更多
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 的信息。
对红帽文档提供反馈
我们感谢您对文档提供反馈信息。请告诉我们如何让它更好。
要提供反馈,请创建一个 Bugzilla ticket:
- 进入 Bugzilla 网站。
- 在 Component 部分中,选择 文档。
- 在 Description 中输入您要提供的信息。包括文档相关部分的链接。
- 点 Submit Bug。
前言
Red Hat OpenShift Data Foundation 支持在您置备的任何平台上部署,包括裸机、虚拟和云环境。这些环境中都支持内部和外部 OpenShift Data Foundation 集群。如需有关部署要求的更多信息,请参阅规划部署并准备部署 OpenShift Data Foundation。
要部署 OpenShift Data Foundation,请根据您的要求遵循适当的部署过程:
内部模式
- 外部模式
第 1 章 准备部署 OpenShift 数据基础
当使用任何平台上的本地存储设备在 OpenShift Container Platform 上部署 OpenShift Data Foundation 时,您可以创建内部集群资源。此方法会在内部置备基础服务,以便所有应用程序都可以访问额外的存储类。
您还可以部署 OpenShift Data Foundation,以使用外部 Red Hat Ceph Storage 集群和 IBM FlashSystem。具体步骤请参阅 以外部模式部署 OpenShift Data Foundation。外部模式部署适用于作为非云检测到的集群。如果没有正确检测到集群,请在 Bugzilla 中打开错误。
在使用本地存储开始部署 Red Hat OpenShift Data Foundation 前,请确保满足对资源的要求。请参阅 使用本地存储设备安装 OpenShift Data Foundation 的要求。
可选:如果要使用外部密钥管理系统(KMS)启用集群范围加密,请按照以下步骤执行:
- 确定您有有效的 Red Hat OpenShift Data Foundation Advanced 订阅。要了解 OpenShift Data Foundation 订阅如何工作,请参阅与 OpenShift Data Foundation 订阅相关的知识库文章。
- 当为加密选择 Token 验证方法时,请参考使用 KMS 通过 Token 身份验证启用集群范围的加密。
- 当为加密选择 Kubernetes 验证方法时,请参阅使用 Kubernetes 验证方法通过 KMS 启用集群范围的加密。
- 确保您在 Vault 服务器上使用签名的证书。
完成准备步骤后,执行以下步骤:
1.1. 使用本地存储设备安装 OpenShift Data Foundation 的要求
节点要求
集群必须至少包含三个 OpenShift Container Platform worker 节点或 infrastructure 节点,每个节点都有本地附加存储设备。
- 在三个选择的节点的每个节点中都至少有一个可用的原始块设备。OpenShift Data Foundation 使用一个或多个可用的原始块设备。
- 您使用的设备必须为空;磁盘中不得包含物理卷 (PV),卷组 (VG) 或逻辑卷 (LV)。
如需更多信息,请参阅规划指南中的 资源要求部分。
灾难恢复要求
Red Hat OpenShift Data Foundation 支持的灾难恢复功能需要满足以下所有先决条件,才能成功实施灾难恢复解决方案:
- 有效的 Red Hat OpenShift Data Foundation 高级订阅。
- 有效的 Red Hat Advanced Cluster Management (RHACM) for Kubernetes 订阅。
要了解 OpenShift Data Foundation 订阅如何工作,请参阅与 OpenShift Data Foundation 订阅相关的知识库文章。
如需详细的灾难恢复解决方案要求,请参阅 Red Hat Advanced Cluster Management for Kubernetes 文档中的安装指南 中的配置 OpenShift Data Foundation 灾难恢复,以及安装指南中的 要求和建议 部分。
启动节点最低要求
在不满足标准部署的资源要求时,OpenShift Data Foundation 集群将使用最低配置配置。
如需更多信息,请参阅规划指南中的 资源要求部分。
第 2 章 使用本地存储设备部署 OpenShift Data Foundation
您可以在任何平台上部署 OpenShift Data Foundation,包括已安装 OpenShift Container Platform 的虚拟化和云环境。
另外,可以使用 OpenShift Data Foundation 仅部署多云对象网关(MCG)组件。如需更多信息,请参阅 部署独立多云对象网关。
执行以下步骤部署 OpenShift Data Foundation:
2.1. 安装 Local Storage Operator
在本地存储设备上创建 Red Hat OpenShift Data Foundation 集群前,请先从 Operator Hub 安装 Local Storage Operator。
流程
- 登录 OpenShift Web 控制台。
- 点 Operators → OperatorHub。
-
在 Filter by keyword 框中键入
local storage
,从操作器列表中搜索 Local Storage operator 并单击它。 在 Install Operator 页面中设置以下选项:
-
将频道更新为
stable
。 - 安装模式是 A specific namespace on the cluster。
- Installed Namespace 为 Operator recommended namespace openshift-local-storage。
- 将批准更新为 Automatic。
-
将频道更新为
- 点 Install。
验证步骤
- 验证 Local Storage Operator 是否显示绿色勾号,代表安装成功。
2.2. 安装 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 集群。 - 有关其他资源要求,请参阅规划您的部署指南。
当您需要覆盖 OpenShift Data Foundation 的集群范围默认节点选择器时,您可以使用以下命令为
openshift-storage
命名空间指定空白节点选择器(在这种情况下创建openshift-storage
命名空间):oc annotate namespace openshift-storage openshift.io/node-selector=
$ oc annotate namespace openshift-storage openshift.io/node-selector=
Copy to Clipboard Copied! -
将节点作为
infra
污点,以确保只在该节点上调度 Red Hat OpenShift Data Foundation 资源。这有助于您节省订阅成本。如需更多信息,请参阅管理和分配存储资源指南中的如何将专用 worker 节点用于 Red Hat OpenShift Data Foundation 部分。https://access.redhat.com/documentation/zh-cn/red_hat_openshift_data_foundation/4.15/html-single/managing_and_allocating_storage_resources/index#how-to-use-dedicated-worker-nodes-for-openshift-data-foundation_rhodf
流程
- 登录 OpenShift Web 控制台。
- 点 Operators → OperatorHub。
-
在 Filter by keyword 框中滚动或键入
OpenShift Data Foundation
,以查找 OpenShift Data Foundation Operator。 - 点 Install。
在 Install Operator 页面中设置以下选项:
- 将频道更新为 stable-4.15。
- 安装模式是 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。
验证步骤
-
成功安装 Operator 后,用户界面中会显示一个带有
Web console update is available
信息的弹出窗口。点这个弹出窗口中的 Refresh web console 来反映控制台的更改。 在 Web 控制台中:
- 进入到 Installed Operators,再验证 OpenShift Data Foundation Operator 是否显示绿色勾号,指示安装成功。
- 进入到 Storage,再验证 Data Foundation 仪表板是否可用。
2.3. 在任何平台上创建 OpenShift Data Foundation 集群
先决条件
- 确保满足使用本地存储设备安装 OpenShift Data Foundation 的要求部分中的所有要求。
- 如果要使用 multus 网络,则必须在稍后附加到集群的部署前创建网络附加定义 (NAD)。如需更多信息,请参阅 多网络插件(Multus) 支持和 创建网络附加定义。
流程
在 OpenShift Web 控制台中,点 Operators → Installed Operators 查看所有已安装的 Operator。
确保所选 项目 为
openshift-storage
。- 点 OpenShift Data Foundation 操作器,然后单击 Create StorageSystem。
在 Backing storage 页面中,执行以下操作:
- 为部署类型选项选择 Full Deployment。
- 选择 Create a new StorageClass using the local storage devices 选项。
可选: 选择 Use external PostgreSQL 复选框以使用外部 PostgreSQL [技术预览]。
这为多云对象网关提供了高可用性解决方案,其中 PostgreSQL pod 是单点故障。
重要OpenShift Data Foundation 提供由红帽维护的 PostgreSQL 镜像,该镜像用于存储多云对象网关的元数据。这个 PostgreSQL 使用量在应用程序级别。
因此,OpenShift Data Foundation 不执行数据库级别的优化或深入见解。
如果客户有自己的 PostgreSQL 可以维护和优化,我们建议使用它。OpenShift Data Foundation 支持外部 PostgreSQL 实例。
任何需要代码更改或深度技术分析的与 PostgreSQL 相关的问题,可能需要在上游社区解决。这可能会导致较长的解析时间。
提供以下连接详情:
- 用户名
- 密码
- 服务器 名称和端口
- 数据库名称
- 选中 Enable TLS/SSL 复选框,为 Postgres 服务器启用加密。
点 Next。
重要如果还没有安装,系统会提示您安装 Local Storage Operator。点 Install 并按照 Installing Local Storage Operator 中所述的步骤进行操作。
在 Create local volume set 页面中,提供以下信息:
为 LocalVolumeSet 和 StorageClass 输入一个名称。
本地卷集名称显示为存储类名称的默认值。您可以更改名称。
任选以下一项:
所有节点上的磁盘
使用与所有节点上所选过滤器匹配的可用磁盘。
所选节点上的磁盘
仅在所选节点上使用与所选过滤器匹配的可用磁盘。
重要
-
从可用 Disk Type 列表中,选择
SSD/NVMe
。 展开 Advanced 部分并设置以下选项:
卷模式
块被选为默认值。
设备类型
从下拉列表中选择一个或多个设备类型。
磁盘大小
为设备设置最小 100GB 大小,以及需要包含的设备的最大可用大小。
磁盘限制上限
这表示您可以在节点上创建的最大持久性卷(PV)数量。如果此字段留空,则为匹配节点上的所有可用磁盘创建 PV。
点 Next。
此时会显示一个用于确认创建 LocalVolumeSet 的弹出窗口。
- 单击 Yes 以继续。
在 Capacity 和 nodes 页面中,配置以下内容:
- 可用的原始容量会根据与存储类关联的所有附加磁盘填充容量值。这将需要一些时间才能出现。Selected nodes 列表根据存储类显示节点。
在 Configure performance 部分中,选择以下性能配置集之一:
Swant
在资源受限环境中使用它,其最少资源低于建议。此配置集通过分配较少的 CPU 和较少的内存来最小化资源消耗。
balanced (默认)
当有建议的资源可用时,请使用此选项。此配置集提供不同工作负载的资源消耗和性能之间的平衡。
性能
在具有足够资源的环境中使用此方法获得最佳性能。通过分配 ample 内存和 CPU 来确保最佳执行要求的工作负载,以此为高性能量身定制此配置集。
注意即使使用 StorageSystems 选项卡的选项菜单中的 Configure performance 选项,您也可以在部署后配置性能配置集。
重要在选择资源配置集前,请确保检查集群中资源的当前可用性。在资源不足的集群中选择更高的资源配置集可能会导致安装失败。
有关资源要求的更多信息,请参阅 性能配置集的资源要求。
- 可选:选中 Taint nodes 复选框,以将所选节点专用于 OpenShift Data Foundation。
- 点 Next。
可选:在 Security and network 页面中,根据您的要求进行配置:
- 若要启用加密,可选择为块存储和文件存储启用数据加密。
选择以下一个或两个加密级别 :
集群范围的加密
加密整个集群(块和文件)。
StorageClass 加密
使用启用加密的存储类创建加密的持久性卷(仅块)。
可选:选择 Connect to an external key management service 复选框。这是集群范围加密的可选选项。
- 从 Key Management Service Provider 下拉列表中,选择 Vault 或 Thales CipherTrust Manager (using KMIP)。如果选择了 Vault,请进入下一步。如果您选择了 Thales CipherTrust Manager (using KMIP),请转到步骤 iii。
选择身份验证方法。
- 使用令牌验证方法
- 输入唯一的连接名称 , Vault 服务器的主机地址('https://<hostname 或 ip>'),端口号和令牌。
展开 Advanced Settings,以根据您的
Vault
配置输入其他设置和证书详情:- 在 后端路径中输入为 OpenShift Data Foundation 专用且唯一的 Key Value secret 路径。
- (可选)输入 TLS 服务器名称和 Vault Enterprise 命名空间。
- 上传对应的 PEM 编码证书文件,以提供 CA 证书、客户端证书和客户端私钥。
- 点 Save 并跳过步骤 iv。
- 使用 Kubernetes 验证方法
- 输入唯一的 Vault Connection Name, Vault 服务器的主机地址('https://<hostname 或 ip>')、端口号和角色名称。
展开 Advanced Settings,以根据您的
Vault
配置输入其他设置和证书详情:- 在 后端路径中输入为 OpenShift Data Foundation 专用且唯一的 Key Value secret 路径。
- 可选:输入 TLS Server Name 和 Authentication Path (如果适用)。
- 上传对应的 PEM 编码证书文件,以提供 CA 证书、客户端证书和客户端私钥。
- 点 Save 并跳过步骤 iv。
要使用 Thales CipherTrust Manager (using KMIP) 作为 KMS 供应商,请按照以下步骤执行:
- 在项目中输入密钥管理服务的唯一连接名称。
在 Address 和 Port 部分中,输入 Thales CipherTrust Manager 的 IP 以及在其中启用了 KMIP 接口的端口。例如:
- 地址: 123.34.3.2
- 端口 :5696
- 上传 客户端证书、CA 证书和 客户端私钥。
- 如果启用了 StorageClass 加密,请输入用于加密和解密的唯一标识符。
-
TLS Server 字段是可选的,并在没有 KMIP 端点的 DNS 条目时使用。例如,
kmip_all_<port>.ciphertrustmanager.local
。
- 选择 网络。
任选以下一项:
默认(SDN)
如果您使用的是单个网络。
自定义(Multus)
如果您使用多个网络接口。
- 从下拉菜单中选择公共网络接口。
从下拉菜单中选择集群网络接口。
注意如果您只使用一个额外网络接口,请选择单个
NetworkAttachementDefinition
,即ocs-public-cluster
用于公共网络接口,并将 Cluster Network Interface 留空。
- 点 Next。
在 Review and create 页面中,检查配置详情。
若要修改任何配置设置,请单击 Back 以返回到上一配置页面。
- 单击 Create StorageSystem。
如果您的部署有五个或更多节点、机架或房间,当部署中存在五个或更多个故障域时,您可以根据机架或区域的数量配置 Ceph 监控计数。OpenShift Web 控制台的通知面板或 Alert Center 中显示警报,以指示用于增加 Ceph 监控计数的选项。您可以使用警报中的 Configure 选项来配置 Ceph 监控器计数。有关更多信息,请参阅 解决低 Ceph 监视器计数警报。
验证步骤
验证已安装存储集群的最终状态:
- 在 OpenShift Web 控制台中,进入到 Installed Operators → OpenShift Data Foundation → Storage System
- 点 ocs-storagecluster-storagesystem → Resources。
-
验证
StorageCluster
的Status
是否为Ready
,并且其旁边都有一个绿色勾号。
要验证是否在存储集群中启用了灵活的扩展,请执行以下步骤(对于仲裁模式,请禁用灵活的扩展):
- 在 OpenShift Web 控制台中,进入到 Installed Operators → OpenShift Data Foundation → Storage System
- 点 ocs-storagecluster-storagesystem → Resources → ocs-storagecluster。
在 YAML 选项卡中,在
spec
部分搜索键flexibleScaling
,在status
部分搜索failureDomain
。如果flexible scaling
为 true,并且failureDomain
设为 host,则代表启用了灵活的扩展功能:spec: flexibleScaling: true […] status: failureDomain: host
spec: flexibleScaling: true […] status: failureDomain: host
Copy to Clipboard Copied!
- 要验证 OpenShift Data Foundation 的所有组件是否已成功安装,请参阅验证您的 OpenShift 数据基础安装。
- 要验证多网络(Multus),请参阅验证 Multus 网络。
其他资源
- 若要扩展初始集群的容量,请参阅扩展存储指南,并按照"裸机 OpenShift Data Foundation 集群扩展存储"部分中的说明进行操作。
2.4. 验证 OpenShift Data Foundation
验证 OpenShift Data Foundation 是否已正确部署:
2.4.1. 验证 pod 的状态
流程
- 从 OpenShift Web 控制台点 Workloads → Pods。
从 Project 下拉列表中选择
openshift-storage
。注意如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。
有关每个组件预期的 pod 数量及其变化取决于节点数量的更多信息,请参阅 表 2.1 “对应 OpenShift Data Foundation 集群的 Pod”。
为 Running 和 Completed pod 设置过滤器,以验证以下 pod 是否处于
Running
和Completed
状态:表 2.1. 对应 OpenShift Data Foundation 集群的 Pod 组件 对应的 pod OpenShift Data Foundation Operator
-
ocs-operator114
(任何存储节点上 1 个 pod) -
ocs-metrics-exporter
(任何存储节点上 1 个 pod) -
odf-operator-controller-manager-*
(任何存储节点上 1 个 pod) -
odf-console-*
任何存储节点上 1 个 pod) -
csi-addons-controller-manager-*
(任何存储节点上 1 个 pod)
Rook-ceph Operator
rook-ceph-operator-*
(任何存储节点上的 1 个 pod)
多云对象网关
-
noobaa-operator-*
(任何存储节点上 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 在存储节点间分布)
RGW
rook-ceph-rgw-ocs-storagecluster-cephobjectstore-*
(任何存储节点上的 1 个 pod)CSI
cephfs
-
csi-cephfsplugin-*
(每个存储节点上 1 个 pod) -
csi-cephfsplugin-provisioner-*
(2 个 pod 在存储节点间分布)
-
rbd
-
csi-rbdplugin-*
(每个存储节点上 1 个 pod) -
csi-rbdplugin-provisioner-*
(2 个 pod 在存储节点间分布)
-
rook-ceph-crashcollector
rook-ceph-crashcollector-*
(每个存储节点上 1 个 pod)
OSD
-
rook-ceph-osd-*
(每个设备 1 个 pod) -
rook-ceph-osd-prepare-ocs-deviceset-*
(每个设备 1 个 pod)
-
2.4.2. 验证 OpenShift Data Foundation 集群是否健康
流程
- 在 OpenShift Web 控制台中,点 Storage → Data Foundation。
- 在 Overview 选项卡的 Status 卡中,点 Storage System,然后点弹出框中的存储系统链接。
- 在 Block and File 选项卡的 Status 卡中,验证 Storage Cluster 是否具有绿色勾号。
- 在 Details 卡中,验证是否显示集群信息。
如需有关使用 Block and File 仪表板的 OpenShift Data Foundation 集群健康的更多信息,请参阅 监控 OpenShift Data Foundation。
2.4.3. 验证 Multicloud 对象网关是否健康
流程
- 在 OpenShift Web 控制台中,点 Storage → Data Foundation。
在 Overview 选项卡的 Status 卡中,点 Storage System,然后点弹出框中的存储系统链接。
- 在 Object 选项卡的 Status 卡 中,验证 Object Service 和数据弹性 都具有绿色勾号。
- 在 Details 卡中,验证是否显示了 MCG 信息。
如需有关使用对象服务仪表板的 OpenShift Data Foundation 集群健康的更多信息,请参阅监控 OpenShift Data Foundation。
Multicloud 对象网关只有一个数据库副本(NooBaa DB)。这意味着,如果 NooBaa DB PVC 被破坏,且我们无法恢复它,可能会导致位于 Multicloud Object Gateway 上的适用数据的数据丢失。因此,红帽建议定期备份 NooBaa DB PVC。如果 NooBaa DB 失败且无法恢复,您可以恢复到最新的备份版本。有关备份 NooBaa DB 的说明,请按照 本知识库文章 中的步骤操作。
2.4.4. 验证特定的存储类是否存在
流程
- 从 OpenShift Web 控制台左侧窗格中,点击 Storage → Storage Classes。
- 验证是否在创建 OpenShift Data Foundation 集群时创建了以下存储类:
2.4.5. 验证 Multus 网络
要确定 Multus 是否在集群中工作,请验证 Multus 网络。
流程
根据您的网络配置选择,OpenShift Data Foundation 操作器将执行以下操作之一:
-
如果为公共网络接口只选择了一个 NetworkAttachmentDefinition(如
ocs-public-cluster
),则应用程序 Pod 和 OpenShift Data Foundation 集群之间的流量将在此网络上发生。此外,集群也将自行配置,以也使用此网络在 OSD 之间复制和重新平衡流量。 -
如果在存储集群安装过程中,分别为公共网络接口和集群网络接口选择了 NetworkAttachmentDefinition(如
ocs-public
和ocs-cluster
),则客户端存储流量将位于公共网络和集群网络中,用于在 OSD 之间复制和重新平衡流量。
要验证网络配置是否正确,请完成以下步骤:
在 OpenShift 控制台中,导航到 Installed Operators → OpenShift Data Foundation → Storage System → ocs-storagecluster-storagesystem → Resources → ocs-storagecluster。
在 YAML 选项卡中,在 spec
部分搜索 network
,并确保您的网络接口选择配置正确。本例用于将客户端存储流量与存储复制流量分隔开。
输出示例:
[..] spec: [..] network: ipFamily: IPv4 provider: multus selectors: cluster: openshift-storage/ocs-cluster public: openshift-storage/ocs-public [..]
[..]
spec:
[..]
network:
ipFamily: IPv4
provider: multus
selectors:
cluster: openshift-storage/ocs-cluster
public: openshift-storage/ocs-public
[..]
要使用命令行界面验证网络配置是否正确,请运行以下命令:
oc get storagecluster ocs-storagecluster \ -n openshift-storage \ -o=jsonpath='{.spec.network}{"\n"}'
$ oc get storagecluster ocs-storagecluster \
-n openshift-storage \
-o=jsonpath='{.spec.network}{"\n"}'
输出示例:
{"ipFamily":"IPv4","provider":"multus","selectors":{"cluster":"openshift-storage/ocs-cluster","public":"openshift-storage/ocs-public"}}
{"ipFamily":"IPv4","provider":"multus","selectors":{"cluster":"openshift-storage/ocs-cluster","public":"openshift-storage/ocs-public"}}
确认 OSD pod 使用正确的网络
在 openshift-storage
命名空间中,使用其中一个 OSD pod 验证 pod 是否与正确的网络连接。本例用于将客户端存储流量与存储复制流量分隔开。
如果两者都已创建,只有 OSD pod 将连接到 Multus 公共网络和集群网络。所有其他 OCS pod 将连接到 Multus 公共网络。
oc get -n openshift-storage $(oc get pods -n openshift-storage -o name -l app=rook-ceph-osd | grep 'osd-0') -o=jsonpath='{.metadata.annotations.k8s\.v1\.cni\.cncf\.io/network-status}{"\n"}'
$ oc get -n openshift-storage $(oc get pods -n openshift-storage -o name -l app=rook-ceph-osd | grep 'osd-0') -o=jsonpath='{.metadata.annotations.k8s\.v1\.cni\.cncf\.io/network-status}{"\n"}'
输出示例:
[{ "name": "openshift-sdn", "interface": "eth0", "ips": [ "10.129.2.30" ], "default": true, "dns": {} },{ "name": "openshift-storage/ocs-cluster", "interface": "net1", "ips": [ "192.168.2.1" ], "mac": "e2:04:c6:81:52:f1", "dns": {} },{ "name": "openshift-storage/ocs-public", "interface": "net2", "ips": [ "192.168.1.1" ], "mac": "ee:a0:b6:a4:07:94", "dns": {} }]
[{
"name": "openshift-sdn",
"interface": "eth0",
"ips": [
"10.129.2.30"
],
"default": true,
"dns": {}
},{
"name": "openshift-storage/ocs-cluster",
"interface": "net1",
"ips": [
"192.168.2.1"
],
"mac": "e2:04:c6:81:52:f1",
"dns": {}
},{
"name": "openshift-storage/ocs-public",
"interface": "net2",
"ips": [
"192.168.1.1"
],
"mac": "ee:a0:b6:a4:07:94",
"dns": {}
}]
若要使用命令行界面确认 OSD pod 使用正确的网络,可运行以下命令(需要 jq 实用程序):
oc get -n openshift-storage $(oc get pods -n openshift-storage -o name -l app=rook-ceph-osd | grep 'osd-0') -o=jsonpath='{.metadata.annotations.k8s\.v1\.cni\.cncf\.io/network-status}{"\n"}' | jq -r '.[].name'
$ oc get -n openshift-storage $(oc get pods -n openshift-storage -o name -l app=rook-ceph-osd | grep 'osd-0') -o=jsonpath='{.metadata.annotations.k8s\.v1\.cni\.cncf\.io/network-status}{"\n"}' | jq -r '.[].name'
输出示例:
openshift-sdn openshift-storage/ocs-cluster openshift-storage/ocs-public
openshift-sdn
openshift-storage/ocs-cluster
openshift-storage/ocs-public
第 3 章 部署独立多云对象网关
仅通过 OpenShift Data Foundation 部署多云对象网关组件可为部署提供灵活性,并有助于减少资源消耗。使用这个部分来只部署独立 Multicloud 对象网关组件,它涉及以下步骤:
- 安装 Local Storage Operator。
- 安装 Red Hat OpenShift Data Foundation Operator
- 创建独立多云对象网关
Multicloud 对象网关只有一个数据库副本(NooBaa DB)。这意味着,如果 NooBaa DB PVC 被破坏,且我们无法恢复它,可能会导致位于 Multicloud Object Gateway 上的适用数据的数据丢失。因此,红帽建议定期备份 NooBaa DB PVC。如果 NooBaa DB 失败且无法恢复,您可以恢复到最新的备份版本。有关备份 NooBaa DB 的说明,请按照 本知识库文章 中的步骤操作。
3.1. 安装 Local Storage Operator
在本地存储设备上创建 Red Hat OpenShift Data Foundation 集群前,请先从 Operator Hub 安装 Local Storage Operator。
流程
- 登录 OpenShift Web 控制台。
- 点 Operators → OperatorHub。
-
在 Filter by keyword 框中键入
local storage
,从操作器列表中搜索 Local Storage operator 并单击它。 在 Install Operator 页面中设置以下选项:
-
将频道更新为
stable
。 - 安装模式是 A specific namespace on the cluster。
- Installed Namespace 为 Operator recommended namespace openshift-local-storage。
- 将批准更新为 Automatic。
-
将频道更新为
- 点 Install。
验证步骤
- 验证 Local Storage Operator 是否显示绿色勾号,代表安装成功。
3.2. 安装 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 集群。 - 有关其他资源要求,请参阅规划您的部署指南。
当您需要覆盖 OpenShift Data Foundation 的集群范围默认节点选择器时,您可以使用以下命令为
openshift-storage
命名空间指定空白节点选择器(在这种情况下创建openshift-storage
命名空间):oc annotate namespace openshift-storage openshift.io/node-selector=
$ oc annotate namespace openshift-storage openshift.io/node-selector=
Copy to Clipboard Copied! -
将节点作为
infra
污点,以确保只在该节点上调度 Red Hat OpenShift Data Foundation 资源。这有助于您节省订阅成本。如需更多信息,请参阅管理和分配存储资源指南中的如何将专用 worker 节点用于 Red Hat OpenShift Data Foundation 部分。https://access.redhat.com/documentation/zh-cn/red_hat_openshift_data_foundation/4.15/html-single/managing_and_allocating_storage_resources/index#how-to-use-dedicated-worker-nodes-for-openshift-data-foundation_rhodf
流程
- 登录 OpenShift Web 控制台。
- 点 Operators → OperatorHub。
-
在 Filter by keyword 框中滚动或键入
OpenShift Data Foundation
,以查找 OpenShift Data Foundation Operator。 - 点 Install。
在 Install Operator 页面中设置以下选项:
- 将频道更新为 stable-4.15。
- 安装模式是 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。
验证步骤
-
成功安装 Operator 后,用户界面中会显示一个带有
Web console update is available
信息的弹出窗口。点这个弹出窗口中的 Refresh web console 来反映控制台的更改。 在 Web 控制台中:
- 进入到 Installed Operators,再验证 OpenShift Data Foundation Operator 是否显示绿色勾号,指示安装成功。
- 进入到 Storage,再验证 Data Foundation 仪表板是否可用。
3.3. 创建独立多云对象网关
在部署 OpenShift Data Foundation 时,您只能创建独立多云对象网关组件。
先决条件
- 确保已安装 OpenShift Data Foundation Operator。
流程
在 OpenShift Web 控制台中,点 Operators → Installed Operators 查看所有已安装的 Operator。
确保所选 项目 为
openshift-storage
。- 单击 OpenShift Data Foundation operator,然后单击 Create StorageSystem。
在 Backing storage 页面中,选择以下内容:
- 为 Deployment 类型选择 Multicloud Object Gateway。
可选:选择 Connect to an external key management service 复选框。这是集群范围加密的可选选项。
- 从 Key Management Service Provider 下拉列表中,选择 Vault 或 Thales CipherTrust Manager (using KMIP)。如果选择了 Vault,请进入下一步。如果您选择了 Thales CipherTrust Manager (using KMIP),请转到步骤 iii。
选择身份验证方法。
- 使用令牌验证方法
- 输入唯一的连接名称 , Vault 服务器的主机地址('https://<hostname 或 ip>'),端口号和令牌。
展开 Advanced Settings,以根据您的
Vault
配置输入其他设置和证书详情:- 在 后端路径中输入为 OpenShift Data Foundation 专用且唯一的 Key Value secret 路径。
- (可选)输入 TLS 服务器名称和 Vault Enterprise 命名空间。
- 上传对应的 PEM 编码证书文件,以提供 CA 证书、客户端证书和客户端私钥。
- 点 Save 并跳过步骤 iv。
- 使用 Kubernetes 验证方法
- 输入唯一的 Vault Connection Name, Vault 服务器的主机地址('https://<hostname 或 ip>')、端口号和角色名称。
展开 Advanced Settings,以根据您的
Vault
配置输入其他设置和证书详情:- 在 后端路径中输入为 OpenShift Data Foundation 专用且唯一的 Key Value secret 路径。
- 可选:输入 TLS Server Name、身份验证路径 和 Vault Enterprise 命名空间 (如果适用)。
- 上传对应的 PEM 编码证书文件,以提供 CA 证书、客户端证书和客户端私钥。
- 点 Save 并跳过步骤 iv。
要使用 Thales CipherTrust Manager (using KMIP) 作为 KMS 供应商,请按照以下步骤执行:
- 在项目中输入密钥管理服务的唯一连接名称。
在 Address 和 Port 部分中,输入 Thales CipherTrust Manager 的 IP 以及在其中启用了 KMIP 接口的端口。例如:
- 地址: 123.34.3.2
- 端口 :5696
- 上传 客户端证书、CA 证书和 客户端私钥。
- 如果启用了 StorageClass 加密,请输入用于加密和解密的唯一标识符。
-
TLS Server 字段是可选的,并在没有 KMIP 端点的 DNS 条目时使用。例如,
kmip_all_<port>.ciphertrustmanager.local
。
- 选择 网络。
- 点 Next。
在 Review and create 页面中,查看配置详情:
若要修改任何配置设置,请单击 Back。
- 单击 Create StorageSystem。
验证步骤
- 验证 OpenShift Data Foundation 集群是否健康
- 在 OpenShift Web 控制台中,点 Storage → 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-operator114
(任何存储节点上 1 个 pod) -
ocs-metrics-exporter
(任何存储节点上 1 个 pod) -
odf-operator-controller-manager-*
(任何存储节点上 1 个 pod) -
odf-console-*
任何存储节点上 1 个 pod) -
csi-addons-controller-manager-*
(任何存储节点上 1 个 pod)
Rook-ceph Operator
rook-ceph-operator-*
(任何存储节点上的 1 个 pod)
多云对象网关
-
noobaa-operator-*
(任何存储节点上 1 个 pod) -
noobaa-core-*
(任何存储节点上 1 个 pod) -
noobaa-db-pg-*
(任何存储节点上 1 个 pod) -
noobaa-endpoint-*
(任何存储节点上 1 个 pod)
-
第 4 章 查看 OpenShift Data Foundation 拓扑
拓扑显示 OpenShift Data Foundation 存储集群在各种抽象级别映射的视觉化,并可让您与这些层交互。视图还显示了各种元素如何一起编写存储集群。
流程
在 OpenShift Web 控制台中,进入到 Storage → Data Foundation → Topology。
视图显示存储集群及其内部区域。您可以查看区域中由循环实体描述的节点,这些实体由点行表示。每个项目或资源的标签包含基本信息,如状态和健康或指示警报。
- 选择一个节点来查看右侧面板中的节点详情。您还可以通过点 search/preview decorator 图标来访问节点内的资源或部署。
查看部署详情
- 点节点上的 preview decorator。在节点上面会显示一个模态窗口,它会显示与该节点关联的所有部署及其状态。
- 点模型左上角的 Back to main view 按钮,以关闭并返回上视图。
- 选择特定的部署来查看它的更多信息。所有相关数据都会在侧面面板中显示。
- 点 Resources 选项卡查看 pod 信息。此选项卡深入了解问题,并提供有助于更好地进行故障排除的粒度。
- 点 pod 链接查看 OpenShift Container Platform 上的 pod 信息页面。该链接在新窗口中打开。
第 5 章 卸载 OpenShift Data Foundation
5.1. 以内部模式卸载 OpenShift Data Foundation
要以内部模式卸载 OpenShift Data Foundation,请参阅 有关卸载 OpenShift Data Foundation 的知识库文章。