第 2 章 Cluster Observability Operator 概述
Cluster Observability Operator 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
Cluster Observability Operator (COO) 是 OpenShift Container Platform 的一个可选组件。您可以进行部署,以创建独立可配置供不同服务和用户使用的独立监控堆栈。
COO 部署以下监控组件:
- Prometheus
- Thanos Querier (可选)
- Alertmanager (可选)
COO 组件独立于默认的集群内监控堆栈(由 Cluster Monitoring Operator (CMO) 部署和管理)。两个 Operator 部署的监控堆栈不会冲突。除了 CMO 部署的默认平台监控组件外,您还可以使用 COO 监控堆栈。
2.1. 了解 Cluster Observability Operator
Cluster Observability Operator (COO) 创建的默认监控堆栈包括可使用远程写入将指标发送到外部端点的高可用性 Prometheus 实例。
每个 COO 堆栈还包括一个可选的 Thanos Querier 组件,可用于从中央位置查询高度可用的 Prometheus 实例,以及可选的 Alertmanager 组件,您可以使用它来为不同的服务设置警报配置。
2.1.1. 使用 Cluster Observability Operator 的优点
COO 使用的 MonitoringStack
CRD 为 COO 部署的监控组件提供了建议的默认监控配置,但您可以自定义它来满足更复杂的要求。
部署 COO 管理的监控堆栈可帮助满足监控需求,使用 Cluster Monitoring Operator (CMO) 部署的核心平台监控堆栈来解决。使用 COO 部署的监控堆栈与核心平台和用户工作负载监控相比有以下优点:
- 扩展性
- 用户可以在 COO 部署的监控堆栈中添加更多指标,该堆栈无法在没有丢失支持的情况下进行核心平台监控。另外,COO 管理的堆栈可以使用联邦从核心平台监控接收特定集群特定指标。
- 多租户支持
- COO 可以为每个用户命名空间创建一个监控堆栈。您还可以为每个命名空间部署多个堆栈,或为多个命名空间部署单个堆栈。例如,集群管理员、SRE 团队和开发团队都可以在单个集群中部署自己的监控堆栈,而不必使用单一的监控组件的共享堆栈。然后,不同团队上的用户可以独立配置其应用程序和服务的警报、警报路由和警报接收器等功能。
- 可扩展性
- 您可以根据需要创建 COO 管理的监控堆栈。多个监控堆栈可以在单个集群中运行,这有助于使用手动分片监控非常大的集群。此功能解决了指标数量超过单个 Prometheus 实例的监控功能的情况。
- 灵活性
- 使用 Operator Lifecycle Manager (OLM) 部署 COO 与 OpenShift Container Platform 发行周期分离 COO 版本。这种部署方法可以更快地进行发布迭代,并能够快速响应变化的要求和问题。另外,通过部署 COO 管理的监控堆栈,用户可以独立于 OpenShift Container Platform 发行周期管理警报规则。
- 高度自定义
- COO 可以使用 Server-Side Apply (SSA) 将自定义资源中单个可配置字段的所有权委派给用户,从而增强自定义。