はじめに
この記事では、Kubernetes 1.25 の CHANGELOG から Metrics の変更と SIG Instrumentation の取り組みについてまとめています。
Kubernetes v1.25 で SIG Instrumentation が扱う主要なテーマと注目したいテーマはないため、更新された KEP の Milestone を記載しておきます。
-
KEP-2845: Deprecate klog specific flags in Kubernetes Compnents
- Beta => Stable
-
KEP-2831: Kubelet Tracing
- v1.24 で Alpha の予定でしたが、v1.25 で Alpha に変更されました
メトリクスの追加
kubelet
- コンテナのプローブを計測するメトリクスが追加されました(#104484, @jackfrancis)
- Histogram:
prober_probe_duration_seconds
- Labels: {"probe_type", "container", "pod", "namespace"}
- Histogram:
kube-controller-manager
- Cloud Node Lifecycle コントローラー、Node IPAM コントローラー、Route、Service コントローラー、Cloud Node コントローラーで、コントローラーの起動状態を確認できるメトリクスが追加されました(#111033, @jprzychodzen)、(#111466, @jprzychodzen)、(#111462, @jprzychodzen)
- Gauge:
running_managed_controllers
- Lebels: {"name", "manager"}
- Gauge:
メトリクスの変更
kube-apiserver
- 次のメトリクスがリネームされました(#109579, @logicalhan)
- Counter:
apiserver_watch_cache_watch_cache_initializations_total
=>apiserver_watch_cache_initializations_total
- Counter:
- 次のメトリクスがリネームされ、ミリ秒単位ではなくナノ秒単位でサンプリングされるように変更されました(#110104, @MikeSpreitzer)
-
apiserver_flowcontrol_priority_level_seat_count_samples
=>apiserver_flowcontrol_priority_level_seat_utilization
-
apiserver_flowcontrol_priority_level_request_count_samples
=>apiserver_flowcontrol_priority_level_request_utilization
-
apiserver_flowcontrol_read_vs_write_request_count_samples
=>apiserver_flowcontrol_read_vs_write_current_requests
- 新しいメトリクスは以前のメトリクスと同様に、 max-in-flight フィルターの場合は使用率を、 API Priority and Fairness フィルターの場合はリクエスト数を記録します。
-
その他
- CoreDNS が v1.9.3 に更新されたことで以下のメトリクスが追加・更新されました [kube-up]: Bump coredns to v1.9.3 by mzaian · Pull Request #110488 · kubernetes/kubernetes
-
type
ラベルにHTTPS
が追加されました coredns #4934- Counter:
coredns_dns_requests_total
- Histogram:
coredns_dns_request_duration_seconds
- Counter:
-
plugin
ラベルが追加されました coredns #4914- Counter:
coredns_dns_responses_total
- Counter:
-
rcode
ラベルに正しい内容が記録されるように修正されましたcoredns #5126- 1.8.7 からの不具合
-
zones
ラベルが追加されましたcoredns #5124- Gauge:
coredns_cache_entries
- Counter:
coredns_cache_hits_total
- Counter:
coredns_cache_misses_total
- Counter:
coredns_cache_requests_total
- Counter:
coredns_cache_prefetch_total
- Counter:
coredns_cache_drops_total
- Counter:
coredns_cache_served_stale_total
- Counter:
coredns_cache_evictions_total
- Gauge:
-
メトリクスの非推奨
- なし
メトリクスの削除
kube-apiserver
-
次のメトリクスは削除されました。代わりに
apiserver_request_total
メトリクスのcode
ラベルを利用して確認できます(#110337, @logicalhan)- Counter:
apiserver_dropped_requests
- Counter:
-
次のメトリクスは削除されました。 代わりに
apiserver_storage_objects
メトリクスを利用してください(#110337, @logicalhan)- Counter:
etcd_object_counts
- Counter:
-
次のメトリクスは削除されました。 代わりに
apiserver_longrunning_requests
メトリクスを利用してください(#110337, @logicalhan)- Gauge:
apiserver_registered_watchers
- Gauge:
-
次のメトリクスは削除されました。 代わりに
apiserver_longrunning_requests
メトリクスを利用してください(#110310, @logicalhan)- Gauge:
apiserver_longrunning_gauge
- Gauge:
-
次のメトリクスが削除されました(#110104, @MikeSpreitzer)
- Histogram:
apiserver_flowcontrol_priority_level_seat_count_watermarks
- Histogram:
apiserver_flowcontrol_priority_level_request_count_watermarks
- Histogram:
apiserver_flowcontrol_read_vs_write_request_count_watermarks
- Histogram:
kubelet
-
DisableAcceleratorUsageMetrics
フィーチャーゲートが GA となり、kubelet による GPU アクセラレータメトリクスがサポートされなくなりました(#110940, @pacoxu)
メトリクスの修正
kubelet
- cAdvisor のメトリクスで、終了したコンテナのメトリクスが公開されないように修正されました(#110950, @yangjunmyfm192085)
- cAdvisor が v0.44.1 に更新され、kubelet が生成する Pod Network Stats のメトリクスの問題を修正しました(#109658, @bobbypage)
- 誤った StartTime を持つコンテナの場合、
container_start_time_seconds
メトリクスを公開しないように修正されました(#110880, @yangjunmyfm192085)
kube-scheduler
- Preemption 時にメトリクスが記録されない問題を修正(#108727, @sanposhiho)
kube-apiserver
-
scope
ラベルが正しく記録されるように修正されました(#110009, @azylinski)- Histogram:
apiserver_request_duration_seconds
- Histogram:
apiserver_request_slo_duration_seconds
- Histogram:
- 次の Cluster IP Allocator のメトリクスが正しく記録されるように修正されました (#110027, @tksm)
kube_apiserver_clusterip_allocator_*
-
apiserver_flowcontrol_priority_level_request_utilization
メトリクスとapiserver_flowcontrol_read_vs_write_current_requests
メトリクスの記録方法が修正されました(#110164, @MikeSpreitzer)
kube-proxy
-
sync_proxy_rules_no_endpoints_total
メトリクスは、リモートエンドポイントを持ち、ローカルエンドポイントを持たない local-traffic-policy サービスのみをカウントするようになりました(#109782, @danwinship)