全部產品
Search
文件中心

Container Service for Kubernetes:kube-controller-manager組件監控指標及大盤使用說明

更新時間:Aug 30, 2024

kube-controller-manager是管理多種Kubernetes控制器的控制面組件,例如負責節點管理的Node Controller、管理有狀態應用的控制器StatefulSet Controller、處理無狀態應用的Deployment Controller等。本文介紹kube-controller-manager組件的指標清單和對應大盤的使用指導。

相關概念

Workqueue

展開查看Workqueue術語說明

kube-controller-manager管理的Controller,例如Node Controller、StatefulSet Controller、Deployment Controller等,通常通過工作隊列Workqueue機制來安全、並發地處理資來源物件的更新。每當有新的事件發生時(例如Pod的建立、更新、刪除等),相應的Controller會收到事件通知,將關聯的資源標識符(例如Pod的名稱、命名空間等)放入Workqueue中。Controller的工作迴圈會不斷從Workqueue中取出這些資源標識符,並執行相應的邏輯來處理資源。

使用前須知

操作入口

請參見查看叢集控制面組件監控大盤

指標清單

指標是組件對外透出狀態和參數的方式之一,kube-controller-manager組件使用的指標清單如下。

指標

類型

說明

workqueue_adds_total

Counter

Workqueue處理的新增事件(Adds)數量。

workqueue_depth

Gauge

Workqueue當前隊列深度。如果隊列深度長時間保持在較高水平,表明Controller不能及時處理隊列中的任務,導致任務堆積。

workqueue_queue_duration_seconds_bucket

Histogram

任務在Workqueue中存在的時間長度。Bucket閾值為{10-8, 10-7, 10-6, 10-5, 10-4, 10-3, 10-2, 10-1, 1, 10}。單位:秒。

memory_utilization_byte

Gauge

記憶體使用量量。單位:位元組(Byte)。

cpu_utilization_core

Gauge

CPU使用量。單位:核(Core)。

rest_client_requests_total

Counter

從狀態值(Status Code)、方法(Method)和主機(Host)維度分析HTTP請求次數。

rest_client_request_duration_seconds_bucket

Histogram

從方法(Verb)和URL維度分析HTTP請求時延。

說明

如下資源使用率指標已廢棄,請及時去除依賴該指標的警示和監控。

  • cpu_utilization_ratio:CPU使用率。

  • memory_utilization_ratio:記憶體使用量率。

大盤使用指導

您可以配置大盤觀測請求的分位元quantile和PromQL的採樣時間長度interval。大盤基於組件指標和相關PromQL繪製,大盤的可觀測性展示和功能解析如下。

Workqueue

可觀測性展示kcm1

功能解析

名稱

PromQL

說明

Workqueue入隊速率

sum(rate(workqueue_adds_total{job="ack-kube-controller-manager"}[$interval])) by (name)

Workqueue在單位時間內新增事件(Adds)的數量。

Workqueue深度

sum(rate(workqueue_depth{job="ack-kube-controller-manager"}[$interval])) by (name)

Workqueue深度在單位時間內的變化。

Workqueue處理時延

histogram_quantile($quantile, sum(rate(workqueue_queue_duration_seconds_bucket{job="ack-kube-controller-manager"}[5m])) by (name, le))

事件在Workqueue中存在的時間長度。

資源

可觀測性展示kcm2

功能解析

大盤名稱

PromQL

說明

記憶體使用量量

memory_utilization_byte{container="kube-controller-manager"}

記憶體使用量量。單位:位元組。

CPU使用量

cpu_utilization_core{container="kube-controller-manager"}*1000

CPU使用量。單位:毫核。

Kube API

可觀測性展示kcm3

功能解析

大盤名稱

PromQL

說明

Kube API請求QPS

  • sum(rate(rest_client_requests_total{job="ack-kube-controller-manager",code=~"2.."}[$interval])) by (method,code)

  • sum(rate(rest_client_requests_total{job="ack-cloud-controller-manager",code=~"3.."}[$interval])) by (method,code)

  • sum(rate(rest_client_requests_total{job="ack-cloud-controller-manager",code=~"4.."}[$interval])) by (method,code)

  • sum(rate(rest_client_requests_total{job="ack-cloud-controller-manager",code=~"5.."}[$interval])) by (method,code)

kube-controller-managerkube-apiserver發起的HTTP請求,從方法(Method)和傳回值(Code)維度分析。

Kube API請求時延

histogram_quantile($quantile, sum(rate(rest_client_request_duration_seconds_bucket{job="ack-kube-controller-manager"}[$interval])) by (verb,url,le))

kube-controller-managerkube-apiserver發起的HTTP請求時延,從方法(Verb)和請求URL維度進行分析。

相關文檔

關於其他叢集控制面組件監控的指標詳情、大盤使用指引和常見指標異常說明,請參見kube-apiserver組件監控指標說明etcd組件監控指標說明kube-scheduler組件監控指標說明cloud-controller-manager組件監控指標說明