ACK Pro 预设控制面可观测性

更新时间:
复制 MD 格式

ACK Pro 预设控制面通过固化控制面基线资源,提供确定性的高性能保障。本文介绍如何查看控制面核心容量指标监控,以及如何评估是否需要切换档位。

容量规划监控

核心容量指标说明

预设控制面的档位规格通过以下三个核心容量指标进行定义,每个指标反映控制面不同维度的处理能力。

指标名称

度量单位

PromQL

说明

API 请求并发数

Seats(席位数)

sum(apiserver_flowcontrol_current_executing_seats)

档位规格以 Seats(席位数)定义 API 请求的最大并发能力。预设控制面通过固化 API Server 基线资源,确保高并发场景下的请求处理能力。该监控指标基于 Kubernetes API Priority and Fairness(APF)机制,反映当前正在处理的并发请求数量。

Pod 调度速率

Pod/秒

rate(scheduler_schedule_attempts_total{result="scheduled"}[2m])

集群调度器每秒将 Pod 调度至节点的速率。预设控制面通过固定资源配额保障调度速率的确定性,避免因控制面弹性伸缩导致的调度性能波动。

etcd 数据库大小

GB

max(etcd_mvcc_db_total_size_in_use_in_bytes)

存储集群全量数据的容量。当数据库使用量接近当前档位上限时,应及时升档或清理无用资源。

核心容量看板查看

在目标集群的集群信息页面,进入集群监控页签,重点关注如下容量指标,并与预设控制面档位规格进行对比选型:

image

  • API 请求并发数(API Request Concurrency):对应档位中的 Seats 规格,反映 API Server 的并发处理压力。

  • Pod 调度速率(Pod Scheduling Rate):观察每秒处理的 Pod 调度请求数,判断调度器是否存在瓶颈。

  • etcd 数据库大小(Cluster Database Size):监控 etcd 存储占用,确保数据量在当前档位的安全限制内。

档位切换参考标准

当集群出现以下任一情况时,建议评估是否需要升档:

观测维度

升档参考条件

说明

API 请求并发数

当前并发 Seats 持续达到当前档位上限的 80% 以上。

表明 API Server 并发处理能力接近饱和,可能出现请求排队或 429 限流。

Pod 调度速率

调度速率持续接近当前档位上限,且存在 Pending Pod 积压。

表明调度器已成为瓶颈,工作负载扩容受限。

etcd 数据库大小

数据库使用量超过当前档位容量的 80%。

存储空间不足可能导致 etcd 拒绝写入,影响集群状态变更。

控制面组件资源水位

任一控制面组件(kube-apiserver、etcd、kube-scheduler 等)的 CPU 或内存资源水位持续处于 high 状态(利用率 ≥ 80%)。

表明当前档位的资源配给紧张,存在无法支撑实际负载的风险,应升档以获取更大的资源配额。

以上条件为参考建议,具体升档决策应结合业务场景、负载高峰时段和持续时间综合判断。建议观察指标趋势而非瞬时尖刺,并在负载高峰期提前规划升档。

资源水位监控与告警

资源水位查看

  1. 在目标集群详情页左侧导航栏,选择运维管理 > Prometheus 监控

  2. 进入核心组件监控页签,然后切换下方的组件页签进行查看。建议重点关注 kube-apiserver、etcd、kube-scheduler 组件的内存及 CPU 资源水位。

    image

以 kube-apiserver 为例,资源水位通过以下指标进行度量:

资源类型

指标名称

含义

内存水位

resource_utilization_level{resource="memory", container="kube-apiserver", utilization_level="high"}

值为 1 时表明内存利用率 ≥ 80%。

内存水位

resource_utilization_level{resource="memory", container="kube-apiserver", utilization_level="normal"}

值为 1 时表明内存利用率 < 80%。

CPU 水位

resource_utilization_level{resource="cpu", container="kube-apiserver", utilization_level="high"}

值为 1 时表明 CPU 利用率 ≥ 80%。

CPU 水位

resource_utilization_level{resource="cpu", container="kube-apiserver", utilization_level="normal"}

值为 1 时表明 CPU 利用率 < 80%。

当水位指标持续处于 high 状态(即利用率 ≥ 80%)时,表明当前控制面资源紧张,请及时进行升档操作。

上表以 kube-apiserver 为例,container 字段同样适用于 etcd、kube-scheduler、kube-controller-manager 等控制面组件。

控制面组件资源水位告警

ACK Pro 预设控制面默认配置控制面组件资源水位告警,当任一控制面组件的 CPU 或内存资源利用率持续超过阈值时,系统将自动触发告警通知。

属性

说明

告警名称

集群控制面托管组件内存水位高 / 集群控制面托管组件 CPU 水位高。

触发条件

控制面托管组件(kube-apiserver、etcd、kube-scheduler 等)的 CPU 或内存资源利用率持续 ≥ 80%。

通知方式

通过集群配置的告警联系人组进行通知,支持短信、邮件、钉钉等渠道。

建议处理

收到告警后,建议登录控制台确认资源水位状态,并及时进行升档操作,以避免控制面性能降级或服务不可用。

告警示例如下:

告警名称:集群控制面托管组件内存水位高_<cluster-name>
告警级别:P1
集群名称:<cluster-name>
告警内容:集群控制面托管组件内存水位高

相关文档