第 3 章 配置核心平台监控
3.1. 准备配置核心平台监控堆栈 复制链接链接已复制到粘贴板!
在安装前,OpenShift Container Platform 安装程序只提供少量的配置选项。大多数 OpenShift Container Platform 框架组件(包括集群监控堆栈)都在安装后进行配置。
本节介绍可以配置哪些监控组件以及如何准备配置监控堆栈。
- 并非所有监控堆栈的配置参数都会被公开。只有在 Cluster Monitoring Operator 的 Config map 引用中列出的参数和字段才支持进行配置。
- 监控堆栈会带来额外的资源需求。参阅 扩展 Cluster Monitoring Operator 中的计算资源建议,并确认您有足够的资源。
3.1.1. 可配置的监控组件 复制链接链接已复制到粘贴板!
下表显示了您可以配置的监控组件,以及 cluster-monitoring-config
配置映射中用来指定这些组件的键。
组件 | cluster-monitoring-config 配置映射键 |
---|---|
Prometheus Operator |
|
Prometheus |
|
Alertmanager |
|
Thanos querier |
|
kube-state-metrics |
|
monitoring-plugin |
|
openshift-state-metrics |
|
Telemeter Client |
|
Prometheus Adapter |
|
ConfigMap
对象的不同配置更改会导致不同的结果:
- Pod 不会重新部署。因此,没有服务中断。
受影响的 pod 被重新部署:
- 对于单节点集群,这会导致临时服务中断。
- 对于多节点集群,因为高可用性,受影响的 pod 会逐渐推出,监控堆栈仍然可用。
- 无论高可用性如何,配置和重新定义持久性卷的大小始终会导致服务中断。
每个需要更改配置映射中的步骤都包括其预期的结果。
3.1.2. 创建集群监控配置映射 复制链接链接已复制到粘贴板!
您可以通过在 openshift-monitoring
项目中创建和更新 cluster-monitoring-config
配置映射来配置 OpenShift Container Platform 核心监控组件。Cluster Monitoring Operator (CMO) 然后配置监控堆栈的核心组件。
先决条件
-
您可以使用具有
cluster-admin
集群角色的用户身份访问集群。 -
已安装 OpenShift CLI(
oc
)。
流程
检查
cluster-monitoring-config
ConfigMap
对象是否存在:oc -n openshift-monitoring get configmap cluster-monitoring-config
$ oc -n openshift-monitoring get configmap cluster-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果
ConfigMap
对象不存在:创建以下 YAML 清单。在本例中,该文件名为
cluster-monitoring-config.yaml
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用配置以创建
ConfigMap
对象:oc apply -f cluster-monitoring-config.yaml
$ oc apply -f cluster-monitoring-config.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.3. 为核心平台监控授予用户权限 复制链接链接已复制到粘贴板!
集群管理员可以监控所有 OpenShift Container Platform 核心项目和用户定义的项目。
您还可以为核心平台监控授予开发人员和其他用户不同的权限。您可以通过分配以下监控角色或集群角色之一来授予权限:
Name | 描述 | 项目 |
---|---|---|
| 具有此角色的用户能够访问 Thanos Querier API 端点。另外,它还授予对核心平台 Prometheus API 和用户定义的 Thanos Ruler API 端点的访问权限。 |
|
|
具有此角色的用户可以管理用于核心平台监控的 |
|
| 具有此角色的用户可以管理用于核心平台监控的 Alertmanager API。它们也可以在 OpenShift Container Platform Web 控制台的 Administrator 视角中管理警报静默。 |
|
| 具有此角色的用户可以监控 Alertmanager API 以进行核心平台监控。它们也可以在 OpenShift Container Platform Web 控制台的 Administrator 视角中查看警报静默。 |
|
|
具有此集群角色的用户具有与 |
必须与 |
3.1.3.1. 使用 Web 控制台授予用户权限 复制链接链接已复制到粘贴板!
您可以使用 OpenShift Container Platform Web 控制台为 openshift-monitoring
项目或自己的项目授予用户权限。
先决条件
-
您可以使用具有
cluster-admin
集群角色的用户身份访问集群。 - 要将角色分配到的用户帐户已存在。
流程
-
在 OpenShift Container Platform Web 控制台的 Administrator 视角中,进入 User Management
RoleBindings Create binding。 - 在 Binding Type 部分中,选择 Namespace Role Binding 类型。
- 在 Name 字段中输入角色绑定的名称。
在 Namespace 字段中,选择要授予访问权限的项目。
重要您使用此流程向用户授予的监控角色或集群角色权限只适用于您在 Namespace 字段中选择的项目。
- 从 Role Name 列表中选择监控角色或集群角色。
- 在 Subject 部分,选择 User。
- 在 Subject Name 字段中,输入用户名称。
- 选择 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>
$ oc adm policy add-role-to-user <role> <user> -n <namespace> --role-namespace <namespace>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<role>
替换为您要监控角色,<user>
替换为您要为其分配角色的用户,<namespace>
替换为您要授予访问权限的项目。
要为项目的用户分配监控集群角色,请输入以下命令:
oc adm policy add-cluster-role-to-user <cluster-role> <user> -n <namespace>
$ oc adm policy add-cluster-role-to-user <cluster-role> <user> -n <namespace>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<cluster-role>
替换为您要监控的集群角色,<user>
替换为您要为其分配集群角色的用户,<namespace>
替换为您要授予访问权限的项目。