3.2. OpenShift Container Storage operator


ocs-operator 可以被理解为 OpenShift Data Foundation 的"meta"操作器,即操作器旨在影响其他操作器,并充当其他操作器提供的功能的配置网关。它不直接管理其他操作器。

ocs-operator 有以下主要功能:

  • 创建自定义资源(CR),以触发其他操作器进行协调。
  • 将 Ceph 和多云对象网关配置抽象,并将其限制为由红帽验证和支持的已知最佳实践。
  • 根据支持策略创建并协调部署容器化 Ceph 和 NooBaa 所需的资源。

3.2.1. 组件

ocs-operator 没有任何依赖组件。但是,Operator 依赖于是否存在来自其他 Operator 的所有自定义资源定义(CRD),这些定义在 ClusterServiceVersion (CSV)中定义。

3.2.2. 设计图

本图演示了 OpenShift Container Storage 如何与 OpenShift Container Platform 集成。

图 3.2. OpenShift Container Storage Operator

OpenShift Container Storage Operator

3.2.3. 职责

这两个 ocs-operator CRD 是:

  • OCSInitialization
  • StorageCluster

OCSInitialization 是一个单例 CRD,用于封装应用到 operator 级别的操作。操作器负责确保一个实例始终存在。CR 会触发以下内容:

  • 执行 OpenShift Container Storage 所需的初始化任务。如果需要,可以通过删除 OCSInitialization CRD 来触发这些任务来再次运行。

    • 确保存在 OpenShift Container Storage 所需的安全性上下文约束(SCC)。
  • 管理 Ceph toolbox Pod 的部署,用于执行高级故障排除和恢复操作。

StorageCluster CRD 代表提供 OpenShift Container Storage 完整功能的系统。它触发操作器,以确保 Rook-CephNooBaa CRD 的生成与协调。ocs-operator 算法根据 StorageCluster spec 中的配置生成 CephClusterNooBaa CRD。Operator 还会创建额外的 CR,如 CephBlockPoolsRoutes 等。启用 OpenShift Container Storage 的不同功能需要这些资源。目前,每个 OpenShift Container Platform 集群只支持一个 StorageCluster CR。

3.2.4. Resources

ocs-operator 会根据定义的 CRD 的 spec 创建以下 CR。可以覆盖其中部分资源的配置,允许更改生成的 spec 或不能完全创建这些资源。

常规资源
事件
在需要时创建各种事件以响应协调。
持久性卷(PV)
PV 不会被 Operator 直接创建。但是,Operator 会跟踪 Ceph CSI 驱动程序创建的所有 PV,并确保 PV 具有支持功能的适当注解。
Quickstarts
为 OpenShift Container Platform 控制台部署各种 Quickstart CR。
Rook-Ceph 资源
CephBlockPool
定义默认的 Ceph 块池。Ceph 对象存储的 CephFilesysPrometheusRulesoute
StorageClass
定义默认存储类。例如,Ceph BlockPoolCephFilesystem
VolumeSnapshotClass
为对应存储类定义默认卷快照类。
多云对象网关资源
NooBaa
定义默认的 Multicloud 对象网关系统。
监控资源
  • 指标导出器服务
  • 指标导出器服务监控器
  • PrometheusRules

3.2.5. 限制

ocs-operator 都部署或协调 OpenShift Data Foundation 的其他 Pod。ocs-operator CSV 定义顶层组件,如 operator Deployments,Operator Lifecycle Manager(OLM)协调指定的组件。

3.2.6. 高可用性

高可用性并不是 ocs-operator Pod 的主要要求,与其他多数操作器类似。总体而言,并没有操作需要或受益于流程分布。在当前 Pod 不可用或被删除时,OpenShift Container Platform 会快速启动一个替换的 Pod。

3.2.7. 相关配置文件

ocs-operator 配置完全由 CSV 指定,在没有 CSV 自定义构建的情况下不可修改。

3.2.8. 相关日志文件

要了解 OpenShift Container Storage 并排除问题,您可以参阅以下内容:

  • Operator Pod 日志
  • Storagecluster 状态和事件
  • OCSInitialization 状态

Operator Pod 日志

每个操作器都提供标准的 Pod 日志,其中包括有关协调的信息以及遇到的错误的信息。这些日志通常具有有关成功协调的信息,可以过滤掉并忽略它们。

Storagecluster 状态和事件

StorageCluster CR 将协调详情存储在 CR 的状态中,并关联事件。status 包含预期容器镜像的一个部分。它显示了应当存在于其他操作器的容器集中的容器镜像,以及它当前检测到的镜像。这有助于确定 OpenShift Container Storage 升级是否完成。

OCSInitialization 状态

此状态显示初始化任务是否已成功完成。

3.2.9. 生命周期

只要仍然安装了 OpenShift Container Storage 捆绑包,就需要 ocs-operator。这是作为 OLM 对 OpenShift Container Storage CSV 协调的一部分进行管理。至少一个 pod 实例应该处于 Ready 状态。

CRD 等 operator 操作对象不应影响 Operator 的生命周期。OCSInitialization CR 应始终存在。如果不存在,Operator 会创建一个。创建和删除 StorageClusters 是在 Operator 控制之外的操作,必须由管理员发起,或者使用适当的 API 调用自动执行。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat, Inc.