第 3 章 配置核心平台监控


3.1. 准备配置核心平台监控堆栈

在安装前,OpenShift Container Platform 安装程序只提供少量的配置选项。大多数 OpenShift Container Platform 框架组件(包括集群监控堆栈)都在安装后进行配置。

本节介绍可以配置哪些监控组件以及如何准备配置监控堆栈。

重要

3.1.1. 可配置的监控组件

下表显示了您可以配置的监控组件,以及 cluster-monitoring-config 配置映射中用来指定这些组件的键。

Expand
表 3.1. 可配置的核心平台监控组件
组件cluster-monitoring-config 配置映射键

Prometheus Operator

prometheusOperator

Prometheus

prometheusK8s

Alertmanager

alertmanagerMain

Thanos querier

thanosQuerier

kube-state-metrics

kubeStateMetrics

monitoring-plugin

monitoringPlugin

openshift-state-metrics

openshiftStateMetrics

Telemeter Client

telemeterClient

Prometheus Adapter

k8sPrometheusAdapter

警告

ConfigMap 对象的不同配置更改会导致不同的结果:

  • Pod 不会重新部署。因此,没有服务中断。
  • 受影响的 pod 被重新部署:

    • 对于单节点集群,这会导致临时服务中断。
    • 对于多节点集群,因为高可用性,受影响的 pod 会逐渐推出,监控堆栈仍然可用。
    • 无论高可用性如何,配置和重新定义持久性卷的大小始终会导致服务中断。

每个需要更改配置映射中的步骤都包括其预期的结果。

3.1.2. 创建集群监控配置映射

您可以通过在 openshift-monitoring 项目中创建和更新 cluster-monitoring-config 配置映射来配置 OpenShift Container Platform 核心监控组件。Cluster Monitoring Operator (CMO) 然后配置监控堆栈的核心组件。

先决条件

  • 您可以使用具有 cluster-admin 集群角色的用户身份访问集群。
  • 已安装 OpenShift CLI(oc)。

流程

  1. 检查 cluster-monitoring-config ConfigMap 对象是否存在:

    $ oc -n openshift-monitoring get configmap cluster-monitoring-config
    Copy to Clipboard Toggle word wrap
  2. 如果 ConfigMap 对象不存在:

    1. 创建以下 YAML 清单。在本例中,该文件名为 cluster-monitoring-config.yaml

      apiVersion: v1
      kind: ConfigMap
      metadata:
        name: cluster-monitoring-config
        namespace: openshift-monitoring
      data:
        config.yaml: |
      Copy to Clipboard Toggle word wrap
    2. 应用配置以创建 ConfigMap 对象:

      $ oc apply -f cluster-monitoring-config.yaml
      Copy to Clipboard Toggle word wrap

3.1.3. 为核心平台监控授予用户权限

集群管理员可以监控所有 OpenShift Container Platform 核心项目和用户定义的项目。

您还可以为核心平台监控授予开发人员和其他用户不同的权限。您可以通过分配以下监控角色或集群角色之一来授予权限:

Expand
Name描述项目

cluster-monitoring-metrics-api

具有此角色的用户能够访问 Thanos Querier API 端点。另外,它还授予对核心平台 Prometheus API 和用户定义的 Thanos Ruler API 端点的访问权限。

openshift-monitoring

cluster-monitoring-operator-alert-customization

具有此角色的用户可以管理用于核心平台监控的 AlertingRuleAlertRelabelConfig 资源。这些权限是警报自定义功能所必需的。

openshift-monitoring

monitoring-alertmanager-edit

具有此角色的用户可以管理用于核心平台监控的 Alertmanager API。它们也可以在 OpenShift Container Platform Web 控制台的 Administrator 视角中管理警报静默。

openshift-monitoring

monitoring-alertmanager-view

具有此角色的用户可以监控 Alertmanager API 以进行核心平台监控。它们也可以在 OpenShift Container Platform Web 控制台的 Administrator 视角中查看警报静默。

openshift-monitoring

cluster-monitoring-view

具有此集群角色的用户具有与 cluster-monitoring-metrics-api 角色相同的访问权限,以及其他额外的权限,提供对用户定义的 Prometheus 的 /federate 端点的访问权限。

必须与 ClusterRoleBinding 绑定,才能获取用户定义的 Prometheus 的 /federate 端点的访问权限。

3.1.3.1. 使用 Web 控制台授予用户权限

您可以使用 OpenShift Container Platform Web 控制台为 openshift-monitoring 项目或自己的项目授予用户权限。

先决条件

  • 您可以使用具有 cluster-admin 集群角色的用户身份访问集群。
  • 要将角色分配到的用户帐户已存在。

流程

  1. 在 OpenShift Container Platform Web 控制台的 Administrator 视角中,进入 User Management RoleBindings Create binding
  2. Binding Type 部分中,选择 Namespace Role Binding 类型。
  3. Name 字段中输入角色绑定的名称。
  4. Namespace 字段中,选择要授予访问权限的项目。

    重要

    您使用此流程向用户授予的监控角色或集群角色权限只适用于您在 Namespace 字段中选择的项目。

  5. Role Name 列表中选择监控角色或集群角色。
  6. Subject 部分,选择 User
  7. Subject Name 字段中,输入用户名称。
  8. 选择 Create 以应用角色绑定。

3.1.3.2. 使用 CLI 授予用户权限

您可以使用 OpenShift CLI (oc) 为 openshift-monitoring 项目或自己的项目授予用户权限。

重要

无论您选择的角色或集群角色,都必须作为集群管理员将其与特定项目进行绑定。

先决条件

  • 您可以使用具有 cluster-admin 集群角色的用户身份访问集群。
  • 要将角色分配到的用户帐户已存在。
  • 已安装 OpenShift CLI(oc)。

流程

  • 要为项目的用户分配监控角色,请输入以下命令:

    $ oc adm policy add-role-to-user <role> <user> -n <namespace> --role-namespace <namespace> 
    1
    Copy to Clipboard Toggle word wrap
    1
    <role> 替换为您要监控角色,<user> 替换为您要为其分配角色的用户,<namespace> 替换为您要授予访问权限的项目。
  • 要为项目的用户分配监控集群角色,请输入以下命令:

    $ oc adm policy add-cluster-role-to-user <cluster-role> <user> -n <namespace> 
    1
    Copy to Clipboard Toggle word wrap
    1
    <cluster-role> 替换为您要监控的集群角色,<user> 替换为您要为其分配集群角色的用户, <namespace> 替换为您要授予访问权限的项目。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat