使用 IBM Power 部署 OpenShift Data Foundation
在 IBM Power 上部署 Red Hat 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 支持在连接或断开连接的环境中的现有 Red Hat OpenShift Container Platform(RHOCP) IBM Power 集群上部署,以及代理环境的开箱即用支持。
IBM Power 支持内部和外部 OpenShift Data Foundation 集群。如需有关部署要求的更多信息,请参阅规划部署并准备部署 OpenShift Data Foundation。
要部署 OpenShift Data Foundation,请根据您的要求遵循适当的部署过程:
内部附加设备模式
使用 Red Hat Ceph Storage 的外部模式
第 1 章 准备部署 OpenShift 数据基础
使用 IBM Power 提供的本地存储设备在 OpenShift Container Platform 上部署 OpenShift Data Foundation 可让您创建内部集群资源。此方法在内部调配基础服务。然后,所有应用程序都可以访问额外的存储类。
在使用本地存储开始部署 Red Hat OpenShift Data Foundation 前,请确保满足您的资源要求。请参阅使用本地存储设备安装 OpenShift Data Foundation 的要求。
可选:如果要使用外部密钥管理系统 (KMS) HashiCorp Vault 启用集群范围加密,请按照以下步骤执行:
- 确定您有有效的 Red Hat OpenShift Data Foundation Advanced 订阅。要了解 OpenShift Data Foundation 订阅如何工作,请参阅与 OpenShift Data Foundation 订阅相关的知识库文章。
- 当为加密选择 Token 验证方法时,请参考使用 KMS 通过 Token 身份验证启用集群范围的加密。
- 当为加密选择了 Kubernetes 验证方法时,请参考使用 KMS 使用 Kubernetes 身份验证启用集群范围的加密。
确保您在 Vault 服务器上使用签名的证书。
注意如果您使用 Thales CipherTrust Manager 作为 KMS,您将在部署过程中启用它。
解决了以上问题后,请按照给出的顺序执行以下步骤:
1.1. 使用本地存储设备安装 OpenShift Data Foundation 的要求
节点要求
集群必须至少包含三个 OpenShift Container Platform worker 节点,每个节点都有本地附加的存储设备。
- 三个所选节点的每个节点必须至少有一个原始块设备可供 OpenShift Data Foundation 使用。
- 要使用的设备必须是空的,也就是说,磁盘上应当没有剩余的持久性卷(PV)、卷组(VG)或本地卷(LV)。
您必须至少有三个标记的节点。
具有 OpenShift Data Foundation 使用的本地存储设备的每个节点都必须具有特定的标签才能部署 OpenShift Data Foundation Pod。要标记节点,请使用以下命令:
$ oc label nodes <NodeNames> cluster.ocs.openshift.io/openshift-storage=''
如需更多信息,请参阅规划指南中的资源要求部分。
第 2 章 使用本地存储设备部署 OpenShift Data Foundation
使用本节在已安装 OpenShift Container Platform 的 IBM Power 基础架构上部署 OpenShift Data Foundation。
另外,可以使用 OpenShift Data Foundation 仅部署多云对象网关(MCG)组件。如需更多信息,请参阅 部署独立多云对象网关。
执行以下步骤部署 OpenShift Data Foundation:
2.1. 安装 Local Storage Operator
在本地存储设备上创建 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 集群。 - 您必须在 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 资源。这有助于您节省订阅成本。如需更多信息,请参阅管理和分配存储资源指南中的如何为 Red Hat OpenShift Data Foundation 使用专用 worker 节点章节。
流程
- 登录 OpenShift Web 控制台。
- 点 Operators → OperatorHub。
-
在 Filter by keyword 框中滚动或键入
OpenShift Data Foundation
,以查找 OpenShift Data Foundation Operator。 - 点 Install。
在 Install Operator 页面中设置以下选项:
- 更新频道为 stable-4.12。
- 安装模式是 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 控制台中,导航到 Storage 并验证 Data Foundation 是否可用。
2.3. 使用 Token 验证方法通过 KMS 启用集群范围的加密
您可以在密码库中启用用于令牌身份验证的键值后端路径和策略。
先决条件
- 管理员对 vault 的访问权限。
- 有效的 Red Hat OpenShift Data Foundation 高级订阅。如需更多信息,请参阅 OpenShift Data Foundation 订阅中的知识库文章。
-
仔细选择唯一路径名称作为遵循命名惯例的后端
路径
,因为它无法在以后更改。
流程
在密码库中启用 Key/Value(KV)后端路径。
对于 vault KV 机密引擎 API,版本 1:
$ vault secrets enable -path=odf kv
对于 vault KV 机密引擎 API,版本 2:
$ vault secrets enable -path=odf kv-v2
创建策略来限制用户在 secret 上执行写入或删除操作:
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.4. 使用 Kubernetes 身份验证方法通过 KMS 启用集群范围的加密
您可以使用密钥管理系统(KMS)为集群范围的加密启用 Kubernetes 验证方法。
先决条件
- 管理员对 Vault 的访问权限。
- 有效的 Red Hat OpenShift Data Foundation 高级订阅。如需更多信息,请参阅 OpenShift Data Foundation 订阅中的知识库文章。
- OpenShift Data Foundation 操作器必须从 Operator Hub 安装。
-
仔细选择唯一路径名称作为后端
路径
,请仔细选择命名规则。您不能在以后更改此路径名称。
流程
创建服务帐户:
$ oc -n openshift-storage create serviceaccount <serviceaccount_name>
其中,
<serviceaccount_name>
指定服务帐户的名称。例如:
$ oc -n openshift-storage create serviceaccount odf-vault-auth
创建
clusterrolebindings
和clusterroles
:$ oc -n openshift-storage create clusterrolebinding vault-tokenreview-binding --clusterrole=system:auth-delegator --serviceaccount=openshift-storage:_<serviceaccount_name>_
例如:
$ oc -n openshift-storage create clusterrolebinding vault-tokenreview-binding --clusterrole=system:auth-delegator --serviceaccount=openshift-storage:odf-vault-auth
为
serviceaccount
令牌和 CA 证书创建 secret。$ cat <<EOF | oc create -f - apiVersion: v1 kind: Secret metadata: name: odf-vault-auth-token namespace: openshift-storage annotations: kubernetes.io/service-account.name: <serviceaccount_name> type: kubernetes.io/service-account-token data: {} EOF
其中,
<serviceaccount_name>
是上一步中创建的服务帐户。从 secret 获取令牌和 CA 证书。
$ SA_JWT_TOKEN=$(oc -n openshift-storage get secret odf-vault-auth-token -o jsonpath="{.data['token']}" | base64 --decode; echo) $ SA_CA_CRT=$(oc -n openshift-storage get secret odf-vault-auth-token -o jsonpath="{.data['ca\.crt']}" | base64 --decode; echo)
检索 OCP 集群端点。
$ OCP_HOST=$(oc config view --minify --flatten -o jsonpath="{.clusters[0].cluster.server}")
获取服务帐户签发者:
$ oc proxy & $ proxy_pid=$! $ issuer="$( curl --silent http://127.0.0.1:8001/.well-known/openid-configuration | jq -r .issuer)" $ kill $proxy_pid
使用上一步中收集的信息在 Vault 中设置 Kubernetes 身份验证方法:
$ vault auth enable kubernetes
$ vault write auth/kubernetes/config \ token_reviewer_jwt="$SA_JWT_TOKEN" \ kubernetes_host="$OCP_HOST" \ kubernetes_ca_cert="$SA_CA_CRT" \ issuer="$issuer"
重要当签发者为空时,在 Vault 中配置 Kubernetes 验证方法:
$ vault write auth/kubernetes/config \ token_reviewer_jwt="$SA_JWT_TOKEN" \ kubernetes_host="$OCP_HOST" \ kubernetes_ca_cert="$SA_CA_CRT"
在 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
创建策略来限制用户在 secret 上执行
写入
或删除
操作:echo ' path "odf/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "sys/mounts" { capabilities = ["read"] }'| vault policy write odf -
生成角色:
$ vault write auth/kubernetes/role/odf-rook-ceph-op \ bound_service_account_names=rook-ceph-system,rook-ceph-osd,noobaa \ bound_service_account_namespaces=openshift-storage \ policies=odf \ ttl=1440h
在创建存储系统期间配置 KMS 连接详情时,会稍后使用角色
odf-rook-ceph-op
。$ vault write auth/kubernetes/role/odf-rook-ceph-osd \ bound_service_account_names=rook-ceph-osd \ bound_service_account_namespaces=openshift-storage \ policies=odf \ ttl=1440h
2.5. 查找可用的存储设备
在为 IBM Power 创建 PV 前,使用此流程为您标记了 OpenShift Data Foundation 标签 cluster.ocs.openshift.io/openshift-storage=''
的三个或更多 worker 节点的设备名称。
流程
使用 OpenShift Data Foundation 标签列出并验证工作程序节点的名称。
$ oc get nodes -l cluster.ocs.openshift.io/openshift-storage=
输出示例:
NAME STATUS ROLES AGE VERSION worker-0 Ready worker 2d11h v1.23.3+e419edf worker-1 Ready worker 2d11h v1.23.3+e419edf worker-2 Ready worker 2d11h v1.23.3+e419edf
登录到用于 OpenShift Data Foundation 资源的每个 worker 节点,并查找您在部署 Openshift Container Platform 时附加的额外磁盘的名称。
$ oc debug node/<node name>
输出示例:
$ oc debug node/worker-0 Starting pod/worker-0-debug ... To use host binaries, run `chroot /host` Pod IP: 192.168.0.63 If you don't see a command prompt, try pressing enter. sh-4.4# sh-4.4# chroot /host sh-4.4# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop1 7:1 0 500G 0 loop sda 8:0 0 500G 0 disk sdb 8:16 0 120G 0 disk |-sdb1 8:17 0 4M 0 part |-sdb3 8:19 0 384M 0 part `-sdb4 8:20 0 119.6G 0 part sdc 8:32 0 500G 0 disk sdd 8:48 0 120G 0 disk |-sdd1 8:49 0 4M 0 part |-sdd3 8:51 0 384M 0 part `-sdd4 8:52 0 119.6G 0 part sde 8:64 0 500G 0 disk sdf 8:80 0 120G 0 disk |-sdf1 8:81 0 4M 0 part |-sdf3 8:83 0 384M 0 part `-sdf4 8:84 0 119.6G 0 part sdg 8:96 0 500G 0 disk sdh 8:112 0 120G 0 disk |-sdh1 8:113 0 4M 0 part |-sdh3 8:115 0 384M 0 part `-sdh4 8:116 0 119.6G 0 part sdi 8:128 0 500G 0 disk sdj 8:144 0 120G 0 disk |-sdj1 8:145 0 4M 0 part |-sdj3 8:147 0 384M 0 part `-sdj4 8:148 0 119.6G 0 part sdk 8:160 0 500G 0 disk sdl 8:176 0 120G 0 disk |-sdl1 8:177 0 4M 0 part |-sdl3 8:179 0 384M 0 part `-sdl4 8:180 0 119.6G 0 part /sysroot sdm 8:192 0 500G 0 disk sdn 8:208 0 120G 0 disk |-sdn1 8:209 0 4M 0 part |-sdn3 8:211 0 384M 0 part /boot `-sdn4 8:212 0 119.6G 0 part sdo 8:224 0 500G 0 disk sdp 8:240 0 120G 0 disk |-sdp1 8:241 0 4M 0 part |-sdp3 8:243 0 384M 0 part `-sdp4 8:244 0 119.6G 0 part
在本例中,对于 worker-0,可用的 500G 本地设备为
sda
,sdc
,sde
,sdg
,sdi
,sdk
,sdm
,sdo
。- 对于所有其他带有被 OpenShift Data Foundation 使用的存储设备的 worker 节点,重复以上步骤。详情请查看本知识库文章。
2.6. 在 IBM Power 上创建 OpenShift Data Foundation 集群
在安装 OpenShift Data Foundation 操作器后,使用此流程创建 OpenShift Data Foundation 集群。
先决条件
- 确保满足使用本地存储设备安装 OpenShift Data Foundation 的要求部分中的所有要求。
- 您必须至少有三个 worker 节点,每个节点的存储类型和大小都相同(例如: 200 GB SSD),才能在 IBM Power 上使用本地存储设备。
验证您的 OpenShift Container Platform worker 节点是否已标记为 OpenShift Data Foundation:
oc get nodes -l cluster.ocs.openshift.io/openshift-storage -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}'
要识别每个节点中的存储设备,请参阅查找可用的存储设备。
流程
- 登录 OpenShift Web 控制台。
-
在
openshift-local-storage
命名空间中点击 Operators → Installed Operators 来查看安装的 Operator。 - 单击 Local Storage 安装的操作器。
- 在 Operator Details 页面中,点 Local Volume 链接。
- 单击 Create Local Volume。
- 点 YAML 视图来配置本地卷。
使用以下 YAML 为块 PV 定义
LocalVolume
自定义资源。apiVersion: local.storage.openshift.io/v1 kind: LocalVolume metadata: name: localblock namespace: openshift-local-storage spec: logLevel: Normal managementState: Managed nodeSelector: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - worker-0 - worker-1 - worker-2 storageClassDevices: - devicePaths: - /dev/sda storageClassName: localblock volumeMode: Block
以上定义从
worker-0
,worker-1
和worker-2
节点选择一个sda
本地设备。localblock
存储类被创建,持久性卷由sda
提供。重要根据您的环境,指定 nodeSelector 的适当值。在所有 worker 节点上,设备名称都应该相同。您还可以指定多个 devicePath。
- 点 Create。
确认是否已创建
diskmaker-manager
pod 和持久性卷
。对于 Pod
- 从 OpenShift Web 控制台左侧窗格中,点击 Workloads → Pods。
- 从 Project 下拉列表中,选择 openshift-local-storage。
-
检查您在创建 LocalVolume CR 时使用的每个 worker 节点是否有
diskmaker-manager
pod。
对于持久性卷
- 从 OpenShift Web 控制台左侧窗格中,点击 Storage → PersistentVolumes。
使用名称
local-pv-*
检查持久性卷。持久性卷的数量将等同于 worker 节点的数量和在创建 localVolume CR 时置备的存储设备数量。重要只有在您使用三个或更多节点创建的存储集群分布到三个可用区的最低要求时,才会启用灵活的扩展功能。
这个功能仅在 Red Hat OpenShift Data Foundation 版本 4.7 及更新的版本中提供。存储集群从以前的版本升级到版本 4.7 或更高版本不支持灵活的扩展。如需更多信息,请参阅 发行注记的新功能部分中的 OpenShift Data Foundation 集群灵活性扩展。
- 灵活扩展功能会在部署时启用,以后无法启用或禁用。
在 OpenShift Web 控制台中,点 Operators → Installed Operators 查看所有已安装的 Operator。
确保所选 项目 为
openshift-storage
。- 单击 OpenShift Data Foundation 操作器,然后单击 Create StorageSystem。
在 Backing storage 页面中,执行以下操作:
- 为部署类型选项选择 Full Deployment。
- 选择 Use a existing StorageClass 选项。
选择在安装 LocalVolume 时使用的存储类。
默认情况下,设置为
none
。- 点 Next。
在 Capacity 和 nodes 页面中,配置以下内容:
- 可用的原始容量会根据与存储类关联的所有附加磁盘填充容量值。这将需要一些时间才能出现。
- Selected nodes 列表根据存储类显示节点。
- 可选:选中 Taint nodes 复选框,以将所选节点专用于 OpenShift Data Foundation。
- 点 Next。
可选:在 Security and network 页面中,根据您的要求进行配置:
- 若要启用加密,可选择为块存储和文件存储启用数据加密。
选择以下一个或两个加密级别 :
集群范围的加密
加密整个集群(块和文件)。
StorageClass 加密
使用启用加密的存储类创建加密的持久性卷(仅块)。
选中连接到外部密钥管理服务复选框。这是集群范围加密的可选选项。
- 从 Key Management Service Provider 下拉列表中,选择 Vault 或 Thales CipherTrust Manager (using KMIP)。如果选择了 Vault,请进入下一步。如果您选择了 KMS Vendor (using KMIP),请转到步骤 iii。
选择身份验证方法。
- 使用令牌验证方法
- 输入唯一的连接名称 , Vault 服务器的主机地址('https://<hostname 或 ip>'),端口号和令牌。
展开 Advanced Settings,以根据您的
Vault
配置输入其他设置和证书详情:- 在 后端路径中输入为 OpenShift Data Foundation 专用且唯一的 Key Value secret 路径。
- (可选)输入 TLS 服务器名称和 Vault Enterprise 命名空间。
- 上传对应的 PEM 编码证书文件,以提供 CA 证书、客户端证书和客户端私钥。
- 点 Save 并跳过步骤 d。
- 使用 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 并跳过步骤 d。
- 在项目中输入密钥管理服务的唯一连接名称。
在 Address 和 Port 部分中,输入端点。例如:
- Address: 123.34.3.2 <IP>)
- 端口 :5696
- 上传 客户端证书、CA 证书和 客户端私钥。
- 如果启用了 StorageClass 加密,请输入用于加密和解密的唯一标识符。
-
TLS Server 字段是可选的,并在没有 KMIP 端点的 DNS 条目时使用。例如,
kmip_all_<port>.ciphertrustmanager.local
。 - 选择 网络。
- 选择 Default(SDN) 网络,因为 IBM Power 上的 OpenShift Data Foundation 尚不支持 Multus。
- 点 Next。
在 Review and create 页:
- 查看配置详情。若要修改任何配置设置,请单击 Back 以返回到上一配置页面。
- 单击 Create StorageSystem。
验证步骤
验证已安装存储集群的最终状态:
- 在 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
- 要验证 OpenShift 数据基础的所有组件是否已成功安装,请参阅验证您的 OpenShift Data Foundation 部署。
其他资源
- 要扩展初始集群的容量,请参阅扩展存储指南。
第 3 章 为内部模式验证 OpenShift Data Foundation 部署
使用本节验证 OpenShift Data Foundation 是否已正确部署。
3.1. 验证 pod 的状态
要确定 OpenShift Data Foundation 是否已成功部署,您可以验证 pod 是否处于 Running
状态。
流程
- 从 OpenShift Web 控制台左侧窗格中,点击 Workloads → Pods。
从 Project 下拉列表中选择
openshift-storage
。注意如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。
有关每个组件预期的 pod 数量及其变化取决于节点数量的更多信息,请参阅 表 3.1 “对应 OpenShift Data Foundation 集群的 Pod”。
点 Running 和 Completed 标签页验证以下 pod 是否处于运行状态并完成状态:
表 3.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) -
csi-addons-controller-manager-*
(任何 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)RGW
rook-ceph-rgw-ocs-storagecluster-cephobjectstore-*
(任何存储节点上的 1 个 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-*
(每个设备 1 个 pod)
-
3.2. 验证 OpenShift Data Foundation 集群是否健康
流程
- 在 OpenShift Web 控制台中,点 Storage → Data Foundation。
-
点 Storage Systems 选项卡,然后点
ocs-storagecluster-storagesystem
。 - 在 Overview 选项卡下的 Block and File 仪表板的 Status 卡 中,验证 Storage Cluster 和 Data Resiliency 都带有绿色勾号标记。
- 在 Details 卡 中,验证是否显示集群信息。
如需有关使用 Block and File 仪表板的 OpenShift Data Foundation 集群健康的更多信息,请参阅监控 OpenShift Data Foundation。
3.3. 验证 Multicloud 对象网关是否健康
流程
- 在 OpenShift Web 控制台中,点 Storage → Data Foundation。
在 Overview 选项卡的 Status 卡中,点 Storage System,然后点弹出框中的存储系统链接。
- 在 Object 选项卡的 Status 卡 中,验证 Object Service 和数据弹性 都具有绿色勾号。
- 在 Details 卡中,验证是否显示了 MCG 信息。
如需有关使用对象服务仪表板的 OpenShift Data Foundation 集群健康的更多信息,请参阅监控 OpenShift Data Foundation。
3.4. 验证特定的存储类是否存在
流程
- 从 OpenShift Web 控制台左侧窗格中,点击 Storage → Storage Classes。
验证是否在创建 OpenShift Data Foundation 集群时创建了以下存储类:
-
ocs-storagecluster-ceph-rbd
-
ocs-storagecluster-cephfs
-
openshift-storage.noobaa.io
-
ocs-storagecluster-ceph-rgw
-
第 4 章 部署独立多云对象网关
仅通过 OpenShift Data Foundation 部署多云对象网关组件可为部署提供灵活性,并有助于减少资源消耗。使用这个部分来只部署独立 Multicloud 对象网关组件,它涉及以下步骤:
- 安装 Local Storage Operator。
- 安装 Red Hat OpenShift Data Foundation Operator
- 创建独立多云对象网关
4.1. 安装 Local Storage Operator
在本地存储设备上创建 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 是否显示绿色勾号,代表安装成功。
4.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 集群。 - 您必须在 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 资源。这有助于您节省订阅成本。如需更多信息,请参阅管理和分配存储资源指南中的如何为 Red Hat OpenShift Data Foundation 使用专用 worker 节点章节。
流程
- 登录 OpenShift Web 控制台。
- 点 Operators → OperatorHub。
-
在 Filter by keyword 框中滚动或键入
OpenShift Data Foundation
,以查找 OpenShift Data Foundation Operator。 - 点 Install。
在 Install Operator 页面中设置以下选项:
- 更新频道为 stable-4.12。
- 安装模式是 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 控制台中,导航到 Storage 并验证 Data Foundation 是否可用。
4.3. 在 IBM Power 上创建独立 Multicloud 对象网关
在部署 OpenShift Data Foundation 时,您只能创建独立多云对象网关组件。
先决条件
- 确保已安装 OpenShift Data Foundation Operator。
- (用于仅使用本地存储设备进行部署)确保安装了 Local Storage Operator。
要识别每个节点中的存储设备,请参阅查找可用的存储设备。
流程
- 登录 OpenShift Web 控制台。
-
在
openshift-local-storage
命名空间中,点 Operators → Installed Operators 查看已安装的 Operator。 - 单击 Local Storage 安装的操作器。
- 在 Operator Details 页面中,点 Local Volume 链接。
- 单击 Create Local Volume。
- 点 YAML 视图来配置本地卷。
使用以下 YAML 为文件系统 PV 定义
LocalVolume
自定义资源。apiVersion: local.storage.openshift.io/v1 kind: LocalVolume metadata: name: localblock namespace: openshift-local-storage spec: logLevel: Normal managementState: Managed nodeSelector: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - worker-0 - worker-1 - worker-2 storageClassDevices: - devicePaths: - /dev/sda storageClassName: localblock volumeMode: Filesystem
以上定义从
worker-0
,worker-1
和worker-2
节点选择一个sda
本地设备。localblock
存储类被创建,持久性卷由sda
提供。重要根据您的环境,指定 nodeSelector 的适当值。在所有 worker 节点上,设备名称都应该相同。您还可以指定多个 devicePath。
- 点 Create。
在 OpenShift Web 控制台中,点 Operators → Installed Operators 查看所有已安装的 Operator。
确保所选 项目 为
openshift-storage
。- 单击 OpenShift Data Foundation operator,然后单击 Create StorageSystem。
- 在 Backing storage 页面中,为 Deployment 类型选择 Multicloud Object Gateway。
选择 Use a existing StorageClass 选项用于 备份存储类型。
- 选择在安装 LocalVolume 时使用的存储类。
- 点 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 服务器名称和 Vault Enterprise 命名空间。
- 上传对应的 PEM 编码证书文件,以提供 CA 证书、客户端证书和客户端私钥。
- 点 Save。
- 点 Next。
-
默认情况下,Key Management Service Provider 设置为
在 Review and create 页面中,查看配置详情:
若要修改任何配置设置,请单击 Back。
- 单击 Create StorageSystem。
验证步骤
- 验证 OpenShift Data Foundation 集群是否健康
- 在 OpenShift Web 控制台中,点 Storage → Data Foundation。
点 Storage Systems 选项卡,然后点
ocs-storagecluster-storagesystem
。- 在 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) -
csi-addons-controller-manager-*
(任何 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) -
noobaa-default-backing-store-noobaa-pod-*
(任何 worker 节点上 1 个 pod)
-
第 5 章 卸载 OpenShift Data Foundation
5.1. 以内部模式卸载 OpenShift Data Foundation
要以内部模式卸载 OpenShift Data Foundation,请参阅 有关卸载 OpenShift Data Foundation 的知识库文章。