3.6. 在受管集群中安装 OpenShift Data Foundation
要在两个 OpenShift Container Platform 集群之间配置存储复制,OpenShift Data Foundation Operator 必须首先安装在每个受管集群上,如下所示:
先决条件
- 确保您已满足 OpenShift Data Foundation 外部部署的硬件要求。有关硬件要求的详情,请参阅外部模式要求。
流程
- 在每个受管集群中,安装和配置最新的 OpenShift Data Foundation 集群。
在安装 operator 后,创建一个 StorageSystem,使用选择 Full deployment 类型和
Connect with external storage platform,其中您的后端存储类型为Red Hat Ceph Storage。具体步骤请参考以外部模式部署 OpenShift Data foundation。
将以下标记与
ceph-external-cluster-details-exporter.py脚本一起使用。您在
ceph-external-cluster-details-exporter.py script中需要最少使用以下三个标记:- --rbd-data-pool-name
-
使用在为 OpenShift Container Platform 部署 RHCS 时创建的 RBD 池的名称。例如,池的名称可能为
rbdpool。 - --rgw-endpoint
-
以
<ip_address>:<port>格式提供端点。它是与您要配置的 OpenShift Container Platform 集群相同的站点中运行的 RGW 守护进程的 RGW IP。 - --run-as-user
- 每个站点使用不同的客户端名称。
如果在 RHCS 部署过程中使用了默认值,则以下标记是
可选的:- --cephfs-filesystem-name
-
使用在为 OpenShift Container Platform 在 RHCS 部署期间创建的 CephFS 文件系统的名称,默认的文件系统名称是
cephfs。 - --cephfs-data-pool-name
-
在用于 OpenShift Container Platform 的 RHCS 部署期间创建的 CephFS 数据池名称后,默认的池称为
cephfs.data。 - --cephfs-metadata-pool-name
-
在用于 OpenShift Container Platform 的 RHCS 部署期间创建的 CephFS 元数据池的名称后,默认的池名为
cephfs.meta。
在 bootstrap 节点(
ceph1)上运行以下命令,为 datacenter1 和 datacenter2 中的 RGW 端点获取 IP:ceph orch ps | grep rgw.objectgw输出示例:
rgw.objectgw.ceph3.mecpzm ceph3 *:8080 running (5d) 31s ago 7w 204M - 16.2.7-112.el8cp rgw.objectgw.ceph6.mecpzm ceph6 *:8080 running (5d) 31s ago 7w 204M - 16.2.7-112.el8cphost ceph3.example.com host ceph6.example.com输出示例:
ceph3.example.com has address 10.0.40.24 ceph6.example.com has address 10.0.40.66使用在 bootstrapped 节点
ceph1上为第一个 OpenShift Container Platform 受管集群cluster1配置的参数,运行ceph-external-cluster-details-exporter.py。python3 ceph-external-cluster-details-exporter.py --rbd-data-pool-name rbdpool --cephfs-filesystem-name cephfs --cephfs-data-pool-name cephfs.cephfs.data --cephfs-metadata-pool-name cephfs.cephfs.meta --<rgw-endpoint> XXX.XXX.XXX.XXX:8080 --run-as-user client.odf.cluster1 > ocp-cluster1.json注意根据您的环境修改 <rgw-endpoint> XXX.XXX.XXX.XXX。
使用在 bootstrapped 节点
ceph1上为第一个 OpenShift Container Platform 受管集群cluster2配置的参数,运行ceph-external-cluster-details-exporter.py。python3 ceph-external-cluster-details-exporter.py --rbd-data-pool-name rbdpool --cephfs-filesystem-name cephfs --cephfs-data-pool-name cephfs.cephfs.data --cephfs-metadata-pool-name cephfs.cephfs.meta --rgw-endpoint XXX.XXX.XXX.XXX:8080 --run-as-user client.odf.cluster2 > ocp-cluster2.json注意根据您的环境修改 <rgw-endpoint> XXX.XXX.XXX.XXX。
-
将 bootstrap 集群 (ceph1)
ocp-cluster1.json和ocp-cluster2.json这两个文件保存到本地机器中。 -
在部署外部 OpenShift Data Foundation 的
cluster1上,使用 OpenShift Container Platform 控制台上的文件ocp-cluster1.json的内容。 -
在部署外部 OpenShift Data Foundation 的
cluster2上,使用 OpenShift Container Platform 控制台上的文件ocp-cluster2.json的内容。
-
将 bootstrap 集群 (ceph1)
- 检查设置,然后选择 Create StorageSystem。
使用以下命令验证每个受管集群中 OpenShift Data Foundation 部署是否成功:
$ oc get storagecluster -n openshift-storage ocs-external-storagecluster -o jsonpath='{.status.phase}{"\n"}'对于 Multicloud 网关(MCG):
$ oc get noobaa -n openshift-storage noobaa -o jsonpath='{.status.phase}{"\n"}'等待在主受管集群和从受管集群上的查询的状态结果变为 Ready。
-
在 OpenShift Web 控制台中,进入到 Installed Operators
OpenShift Data Foundation Storage System ocs-storagecluster-storagesystemResources。验证 StorageCluster的 Status 是否为Ready,并且旁边有一个绿色勾号标记。