Kube Scheduler
Kube Scheduler のメトリクスを監視することで、Kube Scheduler の構成と最適化を支援し、クラスタのリソース利用率とアプリケーションの性能を向上できます
設定¶
前提条件¶
- DataKit がインストールされている
収集器の設定¶
datakit.yamlでConfigMapリソースを設定して Kube Scheduler のメトリクスデータを収集する
apiVersion: v1
kind: ConfigMap
metadata:
name: datakit-conf
namespace: datakit
data:
kubernetesprometheus.conf: |-
[inputs.kubernetesprometheus]
[[inputs.kubernetesprometheus.instances]]
role = "pod"
namespaces = ["kube-system"]
selector = "component=kube_scheduler,tier=control-plane"
scrape = "true"
scheme = "https"
port = "10259"
path = "/metrics"
interval = "30s"
[inputs.kubernetesprometheus.instances.custom]
measurement = "kube_scheduler"
job_as_measurement = false
[inputs.kubernetesprometheus.instances.custom.tags]
cluster_name_k8s = "k8s-test"
node_name = "__kubernetes_pod_node_name"
instance = "__kubernetes_mate_instance"
[inputs.kubernetesprometheus.instances.auth]
bearer_token_file = "/var/run/secrets/kubernetes.io/serviceaccount/token"
[inputs.kubernetesprometheus.instances.auth.tls_config]
insecure_skip_verify = true
ca_certs = []
cert = ""
cert_key = ""
- datakit を再起動する
メトリクス¶
kube scheduler メトリクスセット¶
Kube Scheduler のメトリクスは kube-scheduler メトリクスセットにあります。ここでは Kube Scheduler のメトリクスに関する説明を紹介します
| Metrics | 説明 | 単位 |
|---|---|---|
scheduler_scheduler_cache_size |
スケジューラキャッシュ内の Node、Pod、AssumedPod(スケジュール対象と見なされた Pod)の数 |
count |
scheduler_pending_pods |
Pending Pod の数 |
count |
process_cpu_seconds_total |
kube-scheduler プロセスの CPU 使用総量 |
s |
rest_client_request_duration_seconds_bucket |
メソッド(Verb)と URL の次元から HTTP リクエストの遅延を分析する |
ms |
rest_client_requests_total |
ステータス値(Status Code)、メソッド(Method)、ホスト(Host)の次元から HTTP リクエスト数を分析する |
count |
rest_client_requests_total |
kube-scheduler が kube-apiserver に対して発行した HTTP リクエスト総数 |
count |