kube-schedulerは、Kubernetesクラスターのデフォルトスケジューラです。 このコンポーネントは、適切なクラスターノードで実行するポッドのスケジューリングを担当します。 このトピックでは、kube-schedulerのメトリックについて説明します。 このトピックでは、kube-schedulerのダッシュボードの使用方法と、一般的なメトリック異常のトラブルシューティング方法についても説明します。
使用上の注意
ダッシュボードアクセス
詳細については、「ACK Proクラスターでの制御プレーンコンポーネントダッシュボードの表示」をご参照ください。
メトリクス
メトリックは、コンポーネントのステータスおよびパラメータ設定を示すことができる。 次の表に、kube-schedulerでサポートされているメトリックを示します。
メトリック | タイプ | 説明 |
scheduler_scheduler_cache_size | ゲージ | スケジューラーキャッシュ内のノード、ポッド、および想定ポッドの数。 |
scheduler_pending_pods | ゲージ | 保留中のポッドの数。 保留中のポッドは、次のタイプで構成されます。
|
scheduler_pod_scheduing_attempts_bucket | ヒストグラム | スケジューラがポッドをスケジュールしようとした回数。 バケット閾値は、 |
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) に基づいて生成されます。 次のセクションでは、kube-schedulerのダッシュボードの可観測性と機能について説明します。
kube-apiserverのメトリックが異常になった場合は、以下のセクションで説明するメトリックの異常が存在するかどうかを確認します。 次のセクションで説明されていないメトリック異常が発生した場合、チケットを起票します。
概要
観察可能性
機能
メトリック | PromQL | 説明 |
スケジューラ保留ポッド | scheduler_pending_pods{job="ack-scheduler"} | 保留中のポッドの数。 保留中のポッドは、次のタイプで構成されます。
|
ポッドを正常にスケジュールするスケジューラの試行数 | histogram_quantile($quantile, sum(rate(scheduler_pod_scheduling_attempts_bucket{job="ack-scheduler"}[$interval])) by (pod, le)) | kube-schedulerがポッドをスケジュールしようとした回数。 バケット閾値は、 |
スケジューラキャッシュデータ統計 |
| スケジューラーキャッシュ内のノード、ポッド、および想定ポッドの数。 |
リソース
可视性
機能
メトリック | PromQL | 説明 |
メモリ使用量 | memory_utilization_byte{container="kube-scheduler"} | メモリ使用量。 単位はバイトです。 |
CPU使用率 | cpu_utilization_core{container="kube-scheduler"}* 1000 | 使用されるCPU容量。 単位: ミリコア。 |
Kube API
可视性
機能
メトリック | PromQL | 説明 |
Kube APIリクエストQPS |
| kube-schedulerからkube-apiserverに送信されたHTTPリクエストの1秒あたりの数。 1秒あたりのクエリ (QPS) の値は、ステータスコード、メソッド、およびホストに基づいて計算されます。 |
Kube APIリクエストのレイテンシ | histogram_quantile($quantile, sum(rate(rest_client_request_duration_seconds_bucket{job="ack-scheduler"}[$interval])) by (verb,url,le)) | kube-schedulerによって送信された要求とkube-apiserverによって返された応答との間の時間間隔。 レイテンシは、動詞とURLに基づいて計算されます。 |
一般的なメトリック異常
kube-apiserverのメトリックが異常になった場合は、以下のセクションで説明するメトリックの異常が存在するかどうかを確認します。 次のセクションで説明されていないメトリック異常が発生した場合、チケットを起票します。
スケジューラポッド
通常のケース | 異常 | 異常な説明 | 提案 |
スケジューラポッドの数は1以上です。 | スケジューラーポッドの数は0です。 | クラスターにスケジューラーポッドが存在しません。 |
|
スケジューラ保留ポッド
通常のケース | 異常 | 異常な説明 | 提案 |
ポッドスケジューリングは一貫して遅い。 |
| クラスター内のポッドのリソース要求が適切に構成されていないか、クラスターに十分なノードがありません。 |
|
Schedulerがポッドをスケジュールするのに成功した回数
通常のケース | 異常 | 異常な説明 | 提案 |
ポッドは、数回試行した後にノードにスケジュールできます。 | 数回試行した後、ポッドのスケジュールに失敗します。 | クラスター内のポッドのリソース要求が適切に構成されていないか、クラスターに十分なノードがありません。 |
|
関連ドキュメント
メトリクスの詳細、ダッシュボードの使用に関する注意事項、および他のコントロールプレーンコンポーネントの一般的なメトリクス異常のトラブルシューティング方法の提案については、metrics of kube-apiserver、Metrics of etcd、Metrics of controller-manager、Metrics of cloud-controller-manager、