Kubernetes v1.37: Native Histo... Note

Kubernetes v1.37: Native Histograms Graduates to Beta

Native histograms are graduating to Beta in Kubernetes v1.37, offering high-resolution and low-cardinality observability. This advancement replaces older, static Prometheus histograms which suffered from bucket guessing, high cardinality, and interpolation errors. Prometheus native histograms utilize dynamic, exponential buckets stored within a single time series, reducing time series by up to 90%. This provides high resolution automatically and offers accurate quantile calculations. In Kubernetes, native histograms are integrated into shared metrics with dual exposition, ensuring compatibility with existing observability stacks. Classic buckets are still emitted alongside new native spans for a zero-breaking-change transition. Standard exponential options are automatically applied, ensuring bounded error for quantile calculations. This feature automatically supports major Kubernetes components like the API server, scheduler, and Kubelet. Upgrading to Kubernetes v1.37 enables this functionality, with Prometheus scrape configurations adapting to ingest the new format. Migrating dashboards and alerts involves updating PromQL queries from classic bucket references to direct metric name usage. A recommended migration workflow involves enabling both formats initially, then updating queries, verifying, and finally disabling classic format scraping for storage savings. Opting out or rolling back is flexible by adjusting Prometheus scrape configurations or component feature gates. This feature is moving towards General Availability, with community involvement encouraged.