kube-controller-managerは、ノードを管理するノードコントローラー、StatefulSetsを管理するStatefulSetコントローラー、Deploymentを処理するDeploymentコントローラーなど、さまざまなKubernetesコントローラーを管理するために使用される制御プレーンコンポーネントです。 このトピックでは、kube-controller-managerのメトリックについて説明します。 このトピックでは、kube-controller-managerのダッシュボードの使用方法についても説明します。
条件
ワークキュー
使用上の注意
ダッシュボードアクセス
詳細については、「ACK Proクラスターでの制御プレーンコンポーネントダッシュボードの表示」をご参照ください。
メトリクス
メトリックは、コンポーネントのステータスおよびパラメータ設定を示すことができる。 次の表に、kube-controller-managerでサポートされているメトリックを示します。
メトリック | タイプ | 説明 |
workqueue_adds_total | Counter | ワークキューによって処理された追加イベントの数。 |
workqueue_depth | ゲージ | ワークキューの長さ。 ワークキューの長さが長期間にわたって高いレベルのままである場合、コントローラはワークキュー内のタスクを適時に処理することができず、タスクが蓄積される。 |
workqueue_queue_duration_seconds_bucket | ヒストグラム | タスクがワークキューに残っている期間。 バケット閾値は、セット {10 -8、10 -7、10 -6、10 -5、10 -4、10 -3、10 -2、10 -1、1、10} として定義される。 単位は秒です。 |
memory_utilization_byte | ゲージ | メモリ使用量。 単位はバイトです。 |
cpu_utilization_core | ゲージ | 使用されるCPU容量。 単位: コア。 |
rest_client_requests_total | Counter | ステータスコード、メソッド、およびホストに基づいて計算されたHTTPリクエストの数。 |
rest_client_request_duration_seconds_bucket | ヒストグラム | 動詞とURLに基づいて計算されたHTTP応答遅延。 |
次のリソース使用率メトリックは非推奨です。 これらのメトリックに依存するアラートとモニタリングデータをできるだけ早く削除します。
cpu_utilization_ratio: CPU使用率。
memory_utilization_ratio: メモリ使用率。
ダッシュボードの使用状況ノート
ダッシュボードのquantileおよびintervalパラメーターを変更できます。 quantileパラメーターは要求分位を示し、intervalパラメーターはPrometheus Query Language (PromQL) サンプリング間隔を示します。 ダッシュボードはメトリクスとPromQLに基づいて生成されます。 次のセクションでは、kube-controller-managerのダッシュボードの可観測性と機能について説明します。
ワークキュー
可视性
機能
ダッシュボード | PromQL | 説明 |
ワークキューのエントリ率 | sum(rate(workqueue_adds_total{job="ack-kube-controller-manager"}[$interval])) by (name) | 指定された間隔でワークフローに追加される追加イベントの数。 |
ワークキューの深さ | sum(rate(workqueue_depth{job="ack-kube-controller-manager"}[$interval])) by (name) | 指定された間隔でのワークキューの長さの変更。 |
ワークキュー処理の遅延 | histogram_quantile($quantile, sum(rate(workqueue_queue_duration_seconds_bucket{job="ack-kube-controller-manager"}[5m])) by (name, le)) | ワークキュー内のイベントの期間。 |
リソース
可视性
機能
ダッシュボード | PromQL | 説明 |
メモリ使用量 | memory_utilization_byte{container="kube-controller-manager"} | メモリ使用量。 単位はバイトです。 |
CPU使用率 | cpu_utilization_core{container="kube-controller-manager"}* 1000 | 使用されるCPU容量。 単位: ミリコア。 |
Kube API
可视性
機能
ダッシュボード | PromQL | 説明 |
Kube APIリクエストQPS |
| kube-controller-managerからkube-apiserverに送信されたHTTPリクエストの1秒あたりの数。 1秒あたりのクエリ (QPS) 値は、メソッドとステータスコードに基づいて計算されます。 |
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-managerによって送信されたリクエストとkube-apiserverによって返されたレスポンスの間の時間間隔。 遅延は、動詞とURLに基づいて計算されます。 |
関連ドキュメント
メトリックの詳細、ダッシュボードの使用に関する注意事項、および他の制御プレーンコンポーネントの一般的なメトリック異常のトラブルシューティング方法に関する提案については、[metrics of kube-apiserver] 、[Metrics of etcd] 、[Metrics of kube-scheduler] 、[Metrics of cloud-controller-manager] を参照してください。