diff --git a/CHANGELOG.md b/CHANGELOG.md index 97397f9ce2..da3bbd4f04 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,26 @@ +## v2.14.0 / 2024-11-08 + +### Note + +* This release builds with Golang `v1.23.3` +* This release builds with `k8s.io/client-go`: `v0.31.2` +* This release removes `kube_endpoint_address_not_ready` and `kube_endpoint_address_available` which have been deprecated in 2022. Please use `kube_endpoint_address`as a replacement. + +* [BUGFIX] Use --track-unscheduled-pods to select unscheduled pods in Daemonset sharding by @CatherineF-dev in +* [BUGFIX] Install tools so VERSION gets set by @mrueg in +* [BUGFIX] Syntax errors in kube-state-metrics.libsonnet by @jeffmccune in +* [BUGFIX] Set kube_job_status_failed metric even when there are no job.Status.Conditions present by @richabanker in +* [BUGFIX] de-duplication of custom resource metrics by @bartlettc22 in +* [BUGFIX] Configure sharding every time MetricsHandler.Run runs by @wallee94 in +* [BUGFIX] Panic in `util.GVRFromType` for core objects by @L3n41c in +* [BUGFIX] Big memory value overflow by @leiwingqueen in +* [BUGFIX] Expose empty labels by @mrueg in +* [BUGFIX] CustomResourceMetrics: Convert status condition Unknown to a valid value by @Haleygo in +* [CHANGE] Remove deprecated endpoint address metric by @mrueg in +* [FEATURE] Add new metric kube_job_status_suspended by @Indresh2410 in +* [FEATURE] Move endpoint ports into address metric by @mrueg in +* [ENHANCEMENT] Use concurrent map when storing metrics by @rarruda in + ## v2.13.0 / 2024-07-18 ### Note diff --git a/README.md b/README.md index d67173c677..0108cede90 100644 --- a/README.md +++ b/README.md @@ -79,11 +79,11 @@ Generally, it is recommended to use the latest release of kube-state-metrics. If | kube-state-metrics | Kubernetes client-go Version | |--------------------|:----------------------------:| -| **v2.9.2** | v1.26 | | **v2.10.1** | v1.27 | | **v2.11.0** | v1.28 | | **v2.12.0** | v1.29 | | **v2.13.0** | v1.30 | +| **v2.14.0** | v1.31 | | **main** | v1.31 | #### Resource group version compatibility @@ -96,8 +96,8 @@ release. The latest container image can be found at: -* `registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.13.0` (arch: `amd64`, `arm`, `arm64`, `ppc64le` and `s390x`) -* View all multi-architecture images at [here](https://explore.ggcr.dev/?image=registry.k8s.io%2Fkube-state-metrics%2Fkube-state-metrics:v2.13.0) +* `registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.14.0` (arch: `amd64`, `arm`, `arm64`, `ppc64le` and `s390x`) +* View all multi-architecture images at [here](https://explore.ggcr.dev/?image=registry.k8s.io%2Fkube-state-metrics%2Fkube-state-metrics:v2.14.0) ### Metrics Documentation diff --git a/data.yaml b/data.yaml index b20061e763..99eade51a7 100644 --- a/data.yaml +++ b/data.yaml @@ -1,12 +1,10 @@ # The purpose of this config is to keep all versions in a single file and make them machine accessible # Marks the latest release -version: "2.13.0" +version: "2.14.0" # List at max 5 releases here + the main branch compat: - - version: "v2.9.2" - kubernetes: "1.26" - version: "v2.10.1" kubernetes: "1.27" - version: "v2.11.0" @@ -15,5 +13,7 @@ compat: kubernetes: "1.29" - version: "v2.13.0" kubernetes: "1.30" + - version: "v2.14.0" + kubernetes: "1.31" - version: "main" kubernetes: "1.31" diff --git a/examples/autosharding/cluster-role-binding.yaml b/examples/autosharding/cluster-role-binding.yaml index 11cdc294a8..6d274aa826 100644 --- a/examples/autosharding/cluster-role-binding.yaml +++ b/examples/autosharding/cluster-role-binding.yaml @@ -4,7 +4,7 @@ metadata: labels: app.kubernetes.io/component: exporter app.kubernetes.io/name: kube-state-metrics - app.kubernetes.io/version: 2.13.0 + app.kubernetes.io/version: 2.14.0 name: kube-state-metrics roleRef: apiGroup: rbac.authorization.k8s.io diff --git a/examples/autosharding/cluster-role.yaml b/examples/autosharding/cluster-role.yaml index d330803f9b..ed985f954a 100644 --- a/examples/autosharding/cluster-role.yaml +++ b/examples/autosharding/cluster-role.yaml @@ -4,7 +4,7 @@ metadata: labels: app.kubernetes.io/component: exporter app.kubernetes.io/name: kube-state-metrics - app.kubernetes.io/version: 2.13.0 + app.kubernetes.io/version: 2.14.0 name: kube-state-metrics rules: - apiGroups: diff --git a/examples/autosharding/role-binding.yaml b/examples/autosharding/role-binding.yaml index a8bc73d9c1..f6057aa342 100644 --- a/examples/autosharding/role-binding.yaml +++ b/examples/autosharding/role-binding.yaml @@ -4,7 +4,7 @@ metadata: labels: app.kubernetes.io/component: exporter app.kubernetes.io/name: kube-state-metrics - app.kubernetes.io/version: 2.13.0 + app.kubernetes.io/version: 2.14.0 name: kube-state-metrics namespace: kube-system roleRef: diff --git a/examples/autosharding/role.yaml b/examples/autosharding/role.yaml index 464e44658c..6259f5c729 100644 --- a/examples/autosharding/role.yaml +++ b/examples/autosharding/role.yaml @@ -4,7 +4,7 @@ metadata: labels: app.kubernetes.io/component: exporter app.kubernetes.io/name: kube-state-metrics - app.kubernetes.io/version: 2.13.0 + app.kubernetes.io/version: 2.14.0 name: kube-state-metrics namespace: kube-system rules: diff --git a/examples/autosharding/service-account.yaml b/examples/autosharding/service-account.yaml index 8107dcf62c..9d19b1f173 100644 --- a/examples/autosharding/service-account.yaml +++ b/examples/autosharding/service-account.yaml @@ -5,6 +5,6 @@ metadata: labels: app.kubernetes.io/component: exporter app.kubernetes.io/name: kube-state-metrics - app.kubernetes.io/version: 2.13.0 + app.kubernetes.io/version: 2.14.0 name: kube-state-metrics namespace: kube-system diff --git a/examples/autosharding/service.yaml b/examples/autosharding/service.yaml index f32d1001bb..cb00ae69cc 100644 --- a/examples/autosharding/service.yaml +++ b/examples/autosharding/service.yaml @@ -4,7 +4,7 @@ metadata: labels: app.kubernetes.io/component: exporter app.kubernetes.io/name: kube-state-metrics - app.kubernetes.io/version: 2.13.0 + app.kubernetes.io/version: 2.14.0 name: kube-state-metrics namespace: kube-system spec: diff --git a/examples/autosharding/statefulset.yaml b/examples/autosharding/statefulset.yaml index a0ccaad8d2..11fa302193 100644 --- a/examples/autosharding/statefulset.yaml +++ b/examples/autosharding/statefulset.yaml @@ -4,7 +4,7 @@ metadata: labels: app.kubernetes.io/component: exporter app.kubernetes.io/name: kube-state-metrics - app.kubernetes.io/version: 2.13.0 + app.kubernetes.io/version: 2.14.0 name: kube-state-metrics namespace: kube-system spec: @@ -18,7 +18,7 @@ spec: labels: app.kubernetes.io/component: exporter app.kubernetes.io/name: kube-state-metrics - app.kubernetes.io/version: 2.13.0 + app.kubernetes.io/version: 2.14.0 spec: automountServiceAccountToken: true containers: @@ -34,7 +34,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.13.0 + image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.14.0 livenessProbe: httpGet: path: /livez diff --git a/examples/daemonsetsharding/cluster-role-binding.yaml b/examples/daemonsetsharding/cluster-role-binding.yaml index 11cdc294a8..6d274aa826 100644 --- a/examples/daemonsetsharding/cluster-role-binding.yaml +++ b/examples/daemonsetsharding/cluster-role-binding.yaml @@ -4,7 +4,7 @@ metadata: labels: app.kubernetes.io/component: exporter app.kubernetes.io/name: kube-state-metrics - app.kubernetes.io/version: 2.13.0 + app.kubernetes.io/version: 2.14.0 name: kube-state-metrics roleRef: apiGroup: rbac.authorization.k8s.io diff --git a/examples/daemonsetsharding/cluster-role.yaml b/examples/daemonsetsharding/cluster-role.yaml index d330803f9b..ed985f954a 100644 --- a/examples/daemonsetsharding/cluster-role.yaml +++ b/examples/daemonsetsharding/cluster-role.yaml @@ -4,7 +4,7 @@ metadata: labels: app.kubernetes.io/component: exporter app.kubernetes.io/name: kube-state-metrics - app.kubernetes.io/version: 2.13.0 + app.kubernetes.io/version: 2.14.0 name: kube-state-metrics rules: - apiGroups: diff --git a/examples/daemonsetsharding/daemonset-service.yaml b/examples/daemonsetsharding/daemonset-service.yaml index 82bbc568bb..b800c51b66 100644 --- a/examples/daemonsetsharding/daemonset-service.yaml +++ b/examples/daemonsetsharding/daemonset-service.yaml @@ -4,7 +4,7 @@ metadata: labels: app.kubernetes.io/component: exporter app.kubernetes.io/name: kube-state-metrics-shard - app.kubernetes.io/version: 2.13.0 + app.kubernetes.io/version: 2.14.0 name: kube-state-metrics-shard namespace: kube-system spec: diff --git a/examples/daemonsetsharding/daemonset.yaml b/examples/daemonsetsharding/daemonset.yaml index f0d78d6fd7..feb64691a7 100644 --- a/examples/daemonsetsharding/daemonset.yaml +++ b/examples/daemonsetsharding/daemonset.yaml @@ -4,7 +4,7 @@ metadata: labels: app.kubernetes.io/component: exporter app.kubernetes.io/name: kube-state-metrics-shard - app.kubernetes.io/version: 2.13.0 + app.kubernetes.io/version: 2.14.0 name: kube-state-metrics-shard namespace: kube-system spec: @@ -16,7 +16,7 @@ spec: labels: app.kubernetes.io/component: exporter app.kubernetes.io/name: kube-state-metrics-shard - app.kubernetes.io/version: 2.13.0 + app.kubernetes.io/version: 2.14.0 spec: automountServiceAccountToken: true containers: @@ -29,7 +29,7 @@ spec: fieldRef: apiVersion: v1 fieldPath: spec.nodeName - image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.13.0 + image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.14.0 livenessProbe: httpGet: path: /livez diff --git a/examples/daemonsetsharding/deployment-service.yaml b/examples/daemonsetsharding/deployment-service.yaml index f32d1001bb..cb00ae69cc 100644 --- a/examples/daemonsetsharding/deployment-service.yaml +++ b/examples/daemonsetsharding/deployment-service.yaml @@ -4,7 +4,7 @@ metadata: labels: app.kubernetes.io/component: exporter app.kubernetes.io/name: kube-state-metrics - app.kubernetes.io/version: 2.13.0 + app.kubernetes.io/version: 2.14.0 name: kube-state-metrics namespace: kube-system spec: diff --git a/examples/daemonsetsharding/deployment.yaml b/examples/daemonsetsharding/deployment.yaml index fcc95bceb5..e24d1d100b 100644 --- a/examples/daemonsetsharding/deployment.yaml +++ b/examples/daemonsetsharding/deployment.yaml @@ -4,7 +4,7 @@ metadata: labels: app.kubernetes.io/component: exporter app.kubernetes.io/name: kube-state-metrics - app.kubernetes.io/version: 2.13.0 + app.kubernetes.io/version: 2.14.0 name: kube-state-metrics namespace: kube-system spec: @@ -17,13 +17,13 @@ spec: labels: app.kubernetes.io/component: exporter app.kubernetes.io/name: kube-state-metrics - app.kubernetes.io/version: 2.13.0 + app.kubernetes.io/version: 2.14.0 spec: automountServiceAccountToken: true containers: - args: - --resources=certificatesigningrequests,configmaps,cronjobs,daemonsets,deployments,endpoints,horizontalpodautoscalers,ingresses,jobs,leases,limitranges,mutatingwebhookconfigurations,namespaces,networkpolicies,nodes,persistentvolumeclaims,persistentvolumes,poddisruptionbudgets,replicasets,replicationcontrollers,resourcequotas,secrets,services,statefulsets,storageclasses,validatingwebhookconfigurations,volumeattachments - image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.13.0 + image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.14.0 livenessProbe: httpGet: path: /livez diff --git a/examples/daemonsetsharding/service-account.yaml b/examples/daemonsetsharding/service-account.yaml index 8107dcf62c..9d19b1f173 100644 --- a/examples/daemonsetsharding/service-account.yaml +++ b/examples/daemonsetsharding/service-account.yaml @@ -5,6 +5,6 @@ metadata: labels: app.kubernetes.io/component: exporter app.kubernetes.io/name: kube-state-metrics - app.kubernetes.io/version: 2.13.0 + app.kubernetes.io/version: 2.14.0 name: kube-state-metrics namespace: kube-system diff --git a/examples/standard/cluster-role-binding.yaml b/examples/standard/cluster-role-binding.yaml index 11cdc294a8..6d274aa826 100644 --- a/examples/standard/cluster-role-binding.yaml +++ b/examples/standard/cluster-role-binding.yaml @@ -4,7 +4,7 @@ metadata: labels: app.kubernetes.io/component: exporter app.kubernetes.io/name: kube-state-metrics - app.kubernetes.io/version: 2.13.0 + app.kubernetes.io/version: 2.14.0 name: kube-state-metrics roleRef: apiGroup: rbac.authorization.k8s.io diff --git a/examples/standard/cluster-role.yaml b/examples/standard/cluster-role.yaml index d330803f9b..ed985f954a 100644 --- a/examples/standard/cluster-role.yaml +++ b/examples/standard/cluster-role.yaml @@ -4,7 +4,7 @@ metadata: labels: app.kubernetes.io/component: exporter app.kubernetes.io/name: kube-state-metrics - app.kubernetes.io/version: 2.13.0 + app.kubernetes.io/version: 2.14.0 name: kube-state-metrics rules: - apiGroups: diff --git a/examples/standard/deployment.yaml b/examples/standard/deployment.yaml index 85539fc1d4..3666e8ab64 100644 --- a/examples/standard/deployment.yaml +++ b/examples/standard/deployment.yaml @@ -4,7 +4,7 @@ metadata: labels: app.kubernetes.io/component: exporter app.kubernetes.io/name: kube-state-metrics - app.kubernetes.io/version: 2.13.0 + app.kubernetes.io/version: 2.14.0 name: kube-state-metrics namespace: kube-system spec: @@ -17,11 +17,11 @@ spec: labels: app.kubernetes.io/component: exporter app.kubernetes.io/name: kube-state-metrics - app.kubernetes.io/version: 2.13.0 + app.kubernetes.io/version: 2.14.0 spec: automountServiceAccountToken: true containers: - - image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.13.0 + - image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.14.0 livenessProbe: httpGet: path: /livez diff --git a/examples/standard/service-account.yaml b/examples/standard/service-account.yaml index 8107dcf62c..9d19b1f173 100644 --- a/examples/standard/service-account.yaml +++ b/examples/standard/service-account.yaml @@ -5,6 +5,6 @@ metadata: labels: app.kubernetes.io/component: exporter app.kubernetes.io/name: kube-state-metrics - app.kubernetes.io/version: 2.13.0 + app.kubernetes.io/version: 2.14.0 name: kube-state-metrics namespace: kube-system diff --git a/examples/standard/service.yaml b/examples/standard/service.yaml index f32d1001bb..cb00ae69cc 100644 --- a/examples/standard/service.yaml +++ b/examples/standard/service.yaml @@ -4,7 +4,7 @@ metadata: labels: app.kubernetes.io/component: exporter app.kubernetes.io/name: kube-state-metrics - app.kubernetes.io/version: 2.13.0 + app.kubernetes.io/version: 2.14.0 name: kube-state-metrics namespace: kube-system spec: