3.4. MCG operator
Multicloud 对象网关(MCG)操作器是 OpenShift Data Foundation 的操作器,以及 OpenShift Data Foundation 操作器和 Rook-Ceph 操作器。MCG operator 上游作为独立操作器提供。
MCG 操作器执行以下主要功能:
- 控制并协调 OpenShift Data Foundation 中的多云对象网关(MCG)组件。
- 管理新的用户资源,如对象 bucket 声明、存储桶类和后备存储。
- 创建默认的"开箱即用"资源。
些配置和信息通过 OpenShift Data Foundation 操作器传递给 MCG 操作器。
3.4.1. 组件
MCG 操作器没有子组件。但是,它由一个协调循环组成,用于由它控制的不同资源。
MCG 操作器具有命令行界面(CLI),并作为 OpenShift Data Foundation 的一部分提供。它支持创建、删除和查询各种资源。此 CLI 在应用配置前添加了一个输入和状态验证层,这与直接应用 YAML 文件不同。
3.4.2. 职责和资源
MCG Operator 协调并负责自定义资源定义(CRD)和 OpenShift Container Platform 实体。
- 后备存储
- 命名空间存储
- bucket 类
- 对象存储桶声明(OBC)
- NooBaa, pod 有状态设置 CRD
- Prometheus 规则和服务监控
- Pod 横向自动扩展(HPA)
后备存储
客户连接到 MCG 组件的资源。此资源为 MCG 提供在其上保存置备存储桶数据的功能。
根据 OpenShift Container Platform 运行的平台,作为部署的一部分创建默认后备存储。例如,当 OpenShift Container Platform 或 OpenShift Data Foundation 部署在 Amazon Web Services(AWS)上时,它会生成一个默认的后备存储,即 AWS::S3 存储桶。同样,对于 Microsoft Azure,默认后备存储是一个 blob 容器,以此类推。
默认后备存储使用云凭证操作器的 CRD 创建,该 CRD 附带了 OpenShift Container Platform。可添加到 MCG 的后备存储的数量没有限制。bucket 类 CRD 中使用后备存储来定义存储桶的不同策略。参考特定 OpenShift Data Foundation 版本的文档,以确定作为后备存储支持的服务或资源的类型。
命名空间存储
命名空间存储桶中使用的资源。部署期间不会创建默认值。
BucketClass
新调配存储桶的默认或初始策略。在存储桶类中设置以下策略:
- 放置策略(Placement policy)
指示要附加到存储桶的后备存储并用于写入存储桶的数据。此策略用于数据存储桶和缓存策略,以指示本地缓存放置。放置策略有两种模式:
- 分散。在定义的后备存储间条状数据
- 镜像。在每个后备存储上创建完整的副本
- 命名空间策略
- 命名空间存储桶的策略,用于定义用于聚合的资源以及用于写入目标的资源。
- 缓存策略
- 这是存储桶的策略,并设置缓存项目的 hub(数据源)和生存时间(TTL)。
部署期间会创建一个默认的 bucket 类,它使用使用默认后备存储的放置策略进行设置。对可添加的 bucket 类数量没有限制。
请参阅特定 OpenShift Data Foundation 版本的文档,以确定受支持的策略类型。
对象存储桶声明(OBC)
启用置备 S3 存储桶的 CRD。使用 MCG 时,OBC 接收一个可选存储桶类来记录存储桶的初始配置。如果没有提供 bucket 类,则使用默认的 bucket 类。
NooBaa, pod 有状态设置 CRD
控制 NooBaa 部署的不同 pod 的内部 CRD,如 DB pod、核心 pod 和端点。此 CRD 不可更改,因为它是内部的。此操作器协调以下实体:
- DB Pod SCC
- Role Binding 和 Service Account,允许 OpenShift Container Platform 和 NooBaa 用户界面间的 SSO 单点登录
- S3 访问的路由
- 由 OpenShift Container Platform 获取并签名的证书,它们是在 S3 路由上设置的
Prometheus 规则和服务监控
这些 CRD 为 Prometheus 和 MCG 支持的警报规则设置提取点。
Pod 横向自动扩展(HPA)
它与 MCG 端点集成。端点容器集根据 CPU 压力(S3 流量的数量)扩展和缩减。
3.4.3. 高可用性
作为操作器,唯一提供的高可用性是 OpenShift Container Platform 重新调度失败的 pod。
3.4.4. 相关日志文件
要排除 NooBaa Operator 的问题,您可以查看以下内容:
- Operator pod 日志,它们也可通过 must-gather 获得。
- 可以通过 must-gather 获得的不同 CRD 或实体及其状态。
3.4.5. 生命周期
在部署 OpenShift Data Foundation 并卸载前,MCG 操作器会运行和协调。