OpenShift Container Storage is now OpenShift Data Foundation starting with version 4.9.
3.3. Rook-Ceph operator
Rook-Ceph 操作器是 OpenShift Data Foundation中 Ceph 的 Rook 操作器。Rook 使 Ceph 存储系统能够在 OpenShift Container Platform 上运行。
Rook-Ceph 操作器是一个简单的容器,它会自动引导存储集群并监控存储守护进程,以确保存储集群正常运行。
3.3.1. 组件 复制链接链接已复制到粘贴板!
Rook-Ceph 操作器管理许多组件,作为 OpenShift Data Foundation 部署的一部分。
- Ceph-CSI 驱动程序
-
操作器创建和更新 CSI 驱动程序,包括每个驱动程序的调配器、RADOS 块设备(RBD)和 Ceph 文件系统(CephFS),以及每个驱动程序的卷插件
守护进程集。 - Ceph 守护进程
- Mons
- 监视器(mons)为 Ceph 提供核心元数据存储。
- OSD
- 对象存储守护进程(OSD)将数据存储在底层设备上。
- Mgr
- 管理器(mgr)收集指标并为 Ceph 提供其他内部功能。
- RGW
- RADOS 网关(RGW)为对象存储提供 S3 端点。
- MDS
- 元数据服务器(MDS)提供 CephFS 共享卷。
3.3.2. 设计图 复制链接链接已复制到粘贴板!
下图说明了 Ceph Rook 如何与 OpenShift Container Platform 集成。
图 3.3. Rook-Ceph Operator
当 Ceph 在 OpenShift Container Platform 集群中运行时,OpenShift Container Platform 应用程序可以挂载由 Rook-Ceph 管理的块设备和文件系统,或者使用 S3/Swift API 进行对象存储。
3.3.3. 职责 复制链接链接已复制到粘贴板!
Rook-Ceph 操作器是一个引导和监控存储集群的容器。它执行以下功能:
- 自动配置存储组件
- 启动、监控和管理 Ceph 监控容器集和 Ceph OSD 守护进程,以提供 RADOS 存储集群
初始化 pod 和其他工件以运行要管理的服务:
- 池的 CRD
- 对象存储(S3/Swift)
- 文件系统
- 监控 Ceph mons 和 OSD,以确保存储仍然可用且正常运行
- 在根据集群大小调整 mon 配置时部署和管理 Cephmonmon 放置
- 监视 API 服务请求的状态更改,并应用更改
- 初始化使用存储所需的 Ceph-CSI 驱动程序
- 自动配置 Ceph-CSI 驱动程序,将存储挂载到 pod
rook-Ceph Operator 架构
Rook-Ceph 操作器镜像包含管理集群所需的所有工具。数据路径没有改变。但是,操作器不会公开所有 Ceph 配置。PG 和 crush map 等许多 Ceph 功能都隐藏给用户,在物理资源、池、卷、文件系统和存储桶方面提供更好的用户体验。
3.3.4. Resources 复制链接链接已复制到粘贴板!
rook-Ceph operator 添加了对在 openshift-storage 命名空间中创建的所有资源的所有者引用。卸载集群时,所有者会引用确保资源都已清理。这包括 OpenShift Container Platform 资源,如 configmaps, secrets, services, deployments, daemonsets 等。
Rook-Ceph 操作器监视 CR,以配置由 OpenShift Data Foundation 决定的设置,其中包括 CephCluster、CephObjectStore、CephFilesystem 和 CephBlockPool。
3.3.5. 生命周期 复制链接链接已复制到粘贴板!
rook-Ceph 操作器管理 Ceph 集群中以下 pod 的生命周期:
- rook operator
- 拥有集群协调的单一 pod。
- RBD CSI 驱动程序
- 两个调配器容器集,由一个部署进行管理。
-
每个节点有一个插件 pod,由
daemonset管理。
- CephFS CSI 驱动程序
- 两个调配器容器集,由一个部署进行管理。
-
每个节点有一个插件 pod,由
daemonset管理。
- Monitors (mons)
三个 mon pod,各自具有自己的部署。
- 扩展集群
- 包含五个 mon pod,一个位于仲裁区域中,另一个位于另外两个数据区域中。
- Manager (mgr)
集群有一个 mgr pod。
- 扩展集群
- 有两个 mgr 容器集(从 OpenShift Data Foundation 4.8 开始),各自位于两个非仲裁区域中。
- 对象存储守护进程 (OSD)
- 集群中最初创建至少三个 OSD。扩展集群时,会添加更多 OSD。
- 元数据服务器(MDS)
- CephFS 元数据服务器只有一个 pod。
- RADOS 网关(RGW)
- Ceph RGW 守护进程只有一个 pod。