kube-scheduler コンポーネントは、Kubernetes クラスターのデフォルトのスケジューラです。Pod を適切なクラスターノードに割り当てます。このトピックでは、kube-scheduler コンポーネントのメトリック、ダッシュボード、および一般的なメトリックの異常について説明します。
前提条件
ダッシュボードへのアクセス
詳細については、「コントロールプレーンコンポーネントのダッシュボードを表示する」をご参照ください。
メトリックチェックリスト
メトリックは、コンポーネントのステータスとパラメーターに関する情報を提供します。次の表に、kube-scheduler コンポーネントのメトリックをリストします。
メトリック | タイプ | 説明 |
scheduler_scheduler_cache_size | Gauge | スケジューラキャッシュ内のノード、Pod、および AssumedPods (スケジュールされたと見なされる Pod) の数。 |
scheduler_pending_pods | Gauge | 保留中の Pod の数。キューのタイプは次のとおりです:
|
scheduler_pod_scheduling_attempts_bucket | ヒストグラム | スケジューラが Pod のスケジュールに成功するまでの試行回数。バケットのしきい値は |
memory_utilization_byte | Gauge | メモリ使用量 (バイト)。 |
cpu_utilization_core | Gauge | CPU 使用量 (コア)。 |
rest_client_requests_total | Counter | HTTP リクエストの数。状態コード、メソッド、ホスト別に分析されます。 |
rest_client_request_duration_seconds_bucket | ヒストグラム | HTTP リクエストのレイテンシー。verb と URL 別に分析されます。 |
ダッシュボードガイド
ダッシュボードは、コンポーネントのメトリックと関連する Prometheus Query Language (PromQL) クエリから構築されます。次のセクションでは、ダッシュボードの可観測性の特徴について説明します。
概要
可観測性表示
特徴の詳細
メトリック | PromQL | 説明 |
スケジューラの保留中 Pod | scheduler_pending_pods{job="ack-scheduler"} | 保留中の Pod の数。キューのタイプは次のとおりです:
|
スケジューラの Pod スケジューリング試行 | histogram_quantile($quantile, sum(rate(scheduler_pod_scheduling_attempts_bucket{job="ack-scheduler"}[$interval])) by (pod, le)) | スケジューラが Pod をスケジュールする試行回数。バケットのしきい値は |
スケジューラキャッシュ統計 |
| スケジューラキャッシュ内のノード、Pod、および AssumedPods の数。 |
リソース
可観測性表示
特徴の詳細
メトリック | 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 リクエスト。メソッドと戻り値 (コード) 別に分析されます。 |
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 コンポーネントに開始された HTTP リクエストのレイテンシー。verb とリクエスト URL 別に分析されます。 |
一般的なメトリックの異常
コンポーネントのメトリックが異常な場合は、次の説明を参照して、その動作が想定内であるかどうかを判断してください。
アクティブなスケジューラ Pod の数
正常な条件 | 異常な条件 | 説明 | 推奨事項 |
アクティブなスケジューラ Pod の数は 1 以上です。 | アクティブなスケジューラ Pod の数は 0 です。 | クラスターで使用可能なアクティブなスケジューラがありません。 |
|
保留中の Pod の数
正常な条件 | 異常な条件 | 説明 | 推奨事項 |
Pod のスケジューリング速度は安定しており、低い値のままです。 |
| クラスター内の Pod のリソースリクエストが不合理であるか、ノードのリソース構成が不十分です。 |
|
Pod のスケジュールに成功するまでの試行回数
正常な条件 | 異常な条件 | 説明 | 推奨事項 |
Pod は数回の試行の後にノードにスケジュールできます。 | 複数回試行しても Pod をスケジュールできません。 | クラスター内の Pod のリソースリクエストが不合理であるか、ノードのリソース構成が不十分です。 |
|
リファレンス
他のコントロールプレーンコンポーネントのメトリック、ダッシュボードガイド、および一般的なメトリックの異常の詳細については、「kube-apiserver コンポーネントのメトリック」、「etcd コンポーネントのメトリック」、「kube-controller-manager コンポーネントのメトリック」、および「cloud-controller-manager コンポーネントのメトリック」をご参照ください。
