cloud-controller-managerを使用すると、KubernetesのコアコンポーネントはKubernetes APIを使用してクラウドサービスプロバイダーと対話できます。 このトピックでは、cloud-controller-manangerでサポートされているメトリックについて説明し、cloud-controller-manangerのダッシュボードを使用するための使用方法について説明します。
使用上の注意
ダッシュボードアクセス
詳細については、「ACK Proクラスターでの制御プレーンコンポーネントダッシュボードの表示」をご参照ください。
メトリクス
メトリックは、コンポーネントのステータスおよびパラメータ設定を示すことができる。 次の表に、cloud-controller-manangerでサポートされているメトリックを示します。
メトリック | タイプ | 説明 |
cm_slb_latency_ms | ヒストグラム | クラシックロードバランサー (CLB) 同期遅延。 単位:ミリ秒。 バケットしきい値は、 |
ccm_node_latency_ms | ヒストグラム | ノード同期遅延。 単位:ミリ秒。 バケットしきい値は、 |
ccm_route_latency_ms | ヒストグラム | ルート同期遅延。 単位:ミリ秒。 バケットしきい値は、 |
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: メモリ使用率。
ダッシュボードの使用状況ノート
ダッシュボードは、メトリクスとPrometheus Query Language (PromQL) に基づいて生成されます。 次のセクションでは、cloud-controller-manangerのダッシュボードの可観測性と機能について説明します。
CCM
可视性
機能
ダッシュボード | PromQL | 説明 |
ルーティング同期遅延 | histogram_quantile($quantile, sum(rate(ccm_route_latencies_duration_milliseconds_bucket[$interval])) by (verb, le)) | ルート同期遅延。 単位:ミリ秒。 |
ノード同期遅延 | histogram_quantile($quantile, sum(rate(ccm_node_latencies_duration_milliseconds_bucket[$interval])) by (verb, le)) | nod同期遅延。 単位:ミリ秒。 |
CLB(Classical Load Balancer) 同期遅延 | histogram_quantile($quantile, sum(rate(ccm_slb_latencies_duration_milliseconds_bucket[$interval])) by (verb, le)) | CLB同期遅延。 単位:ミリ秒。 |
キュー
可视性
機能
ダッシュボード | PromQL | 説明 |
ワークキューのエンキュー率 | sum(rate(workqueue_adds_total{job="ack-cloud-controller-manager"}[$interval])) by (name) | 指定された間隔でワークフローに追加される追加イベントの数。 |
ワークキューの深さ | workqueue_depth{job="ack-cloud-controller-manager"} | 指定された間隔でのワークキューの長さの変更。 |
ワークキュー処理の遅延 | histogram_quantile($quantile, sum(rate(workqueue_queue_duration_seconds_bucket{job="ack-cloud-controller-manager"}[$interval])) by (name, le)) | ワークキュー内のイベントの期間。 |
リソース
可视性
機能
ダッシュボード | PromQL | 説明 |
メモリ使用量 | memory_utilization_byte{container="cloud-controller-manager"} | メモリ使用量。 単位はバイトです。 |
CPU使用率 | cpu_utilization_core{container="cloud-controller-manager"}* 1000 | 使用されるCPU容量。 単位: ミリコア。 |
Kube API
可视性
機能
ダッシュボード | PromQL | 説明 |
Kube APIリクエストQPS |
| cloud-controller-manangerからkube-apiserverに1秒あたりに送信されたHTTPリクエストの数。 1秒あたりのクエリ (QPS) 値は、VerbsとURLに基づいて計算されます。 |
一般的なメトリック異常
kube-apiserverのメトリックが異常になった場合は、以下のセクションで説明するメトリックの異常が存在するかどうかを確認します。 次のセクションで説明されていないメトリック異常が発生した場合、チケットを起票します。
CLB(Classical Load Balancer) 同期遅延
通常のケース | 異常 | 異常な説明 | 提案 |
CLB同期遅延は10秒より短い。 | CLB同期遅延は10秒より長い。 | CLB同期は時間がかかる。 | 異常なサービスイベントが存在するかどうかを確認します。 |
ワークキューの深さ
通常のケース | 異常 | 異常な説明 | 提案 |
ワークキューの深さは10より小さい。 | ワークキューの深さが10より大きい。 | 同期が保留されている多数のサービスがワークキューに存在します。 | ワークキューが長すぎると、サービスの同期が遅くなります。 クラスター内のノード、ポッド、およびサービスを更新する頻度を減らすことができます。 |
関連ドキュメント
メトリックの詳細、ダッシュボードを使用するための使用法の注意、および他の制御プレーンコンポーネントの一般的なメトリック異常のトラブルシューティング方法の提案については、次のトピックを参照してください。metrics of kube-apiserver、Metrics of etcd、Metrics of kube-scheduler、およびMetrics of kube-controller-manager