diff --git a/CHANGELOG.md b/CHANGELOG.md index 2efab4bacb..40d2104e8b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## v2.21.0 / 2025-09-21 + * This release builds with Go `v1.24.6` * This release builds with `k8s.io/client-go`: `v0.33.4` * This release is the last release that has endpoint metrics enabled by default. In the next release we will enable endpointslices metrics and disable endpoint metrics by default, since the endpoint resources are deprecated. You can still alter this behaviour in kube-state-metrics' config. diff --git a/README.md b/README.md index 72a9578e40..de63323e64 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.13.0** | v1.30 | | **v2.14.0** | v1.31 | | **v2.15.0** | v1.32 | | **v2.16.0** | v1.32 | | **v2.17.0** | v1.33 | +| **v2.21.0** | v1.33 | | **main** | v1.33 | #### 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.17.0` (arch: `amd64`, `arm`, `arm64`, `ppc64le` and `s390x`) -* [Multi-architecture images](https://explore.ggcr.dev/?image=registry.k8s.io%2Fkube-state-metrics%2Fkube-state-metrics:v2.17.0) +* `registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.21.0` (arch: `amd64`, `arm`, `arm64`, `ppc64le` and `s390x`) +* [Multi-architecture images](https://explore.ggcr.dev/?image=registry.k8s.io%2Fkube-state-metrics%2Fkube-state-metrics:v2.21.0) ### Metrics Documentation diff --git a/VERSION b/VERSION new file mode 100644 index 0000000000..db65e2167e --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +2.21.0 diff --git a/data.yaml b/data.yaml index 2d8aa8d2eb..586d0570df 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.17.0" +version: "2.21.0" # List at max 5 releases here + the main branch compat: - - version: "v2.13.0" - kubernetes: "1.30" - version: "v2.14.0" kubernetes: "1.31" - version: "v2.15.0" @@ -15,5 +13,7 @@ compat: kubernetes: "1.32" - version: "v2.17.0" kubernetes: "1.33" + - version: "v2.21.0" + kubernetes: "1.33" - version: "main" kubernetes: "1.33" diff --git a/examples/autosharding/cluster-role-binding.yaml b/examples/autosharding/cluster-role-binding.yaml index 761075f15b..7d95858343 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.17.0 + app.kubernetes.io/version: 2.21.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 6e9ff89892..1497da800b 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.17.0 + app.kubernetes.io/version: 2.21.0 name: kube-state-metrics rules: - apiGroups: diff --git a/examples/autosharding/role-binding.yaml b/examples/autosharding/role-binding.yaml index af4d794d66..3f032e3059 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.17.0 + app.kubernetes.io/version: 2.21.0 name: kube-state-metrics namespace: kube-system roleRef: diff --git a/examples/autosharding/role.yaml b/examples/autosharding/role.yaml index b93e99d254..9274d4d24f 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.17.0 + app.kubernetes.io/version: 2.21.0 name: kube-state-metrics namespace: kube-system rules: diff --git a/examples/autosharding/service-account.yaml b/examples/autosharding/service-account.yaml index d5a4c377ad..a8059f64a2 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.17.0 + app.kubernetes.io/version: 2.21.0 name: kube-state-metrics namespace: kube-system diff --git a/examples/autosharding/service.yaml b/examples/autosharding/service.yaml index b0d74c182f..2b88ac44b0 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.17.0 + app.kubernetes.io/version: 2.21.0 name: kube-state-metrics namespace: kube-system spec: diff --git a/examples/autosharding/statefulset.yaml b/examples/autosharding/statefulset.yaml index 9b365ee960..e127cc30f0 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.17.0 + app.kubernetes.io/version: 2.21.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.17.0 + app.kubernetes.io/version: 2.21.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.17.0 + image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.21.0 livenessProbe: httpGet: path: /livez diff --git a/examples/daemonsetsharding/cluster-role-binding.yaml b/examples/daemonsetsharding/cluster-role-binding.yaml index 761075f15b..7d95858343 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.17.0 + app.kubernetes.io/version: 2.21.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 6e9ff89892..1497da800b 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.17.0 + app.kubernetes.io/version: 2.21.0 name: kube-state-metrics rules: - apiGroups: diff --git a/examples/daemonsetsharding/daemonset-service.yaml b/examples/daemonsetsharding/daemonset-service.yaml index 0d2efbc9c1..5873b17351 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.17.0 + app.kubernetes.io/version: 2.21.0 name: kube-state-metrics-shard namespace: kube-system spec: diff --git a/examples/daemonsetsharding/daemonset.yaml b/examples/daemonsetsharding/daemonset.yaml index 6c49ed3548..ffcfcfff52 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.17.0 + app.kubernetes.io/version: 2.21.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.17.0 + app.kubernetes.io/version: 2.21.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.17.0 + image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.21.0 livenessProbe: httpGet: path: /livez diff --git a/examples/daemonsetsharding/deployment-service.yaml b/examples/daemonsetsharding/deployment-service.yaml index b0d74c182f..2b88ac44b0 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.17.0 + app.kubernetes.io/version: 2.21.0 name: kube-state-metrics namespace: kube-system spec: diff --git a/examples/daemonsetsharding/deployment-unscheduled-pods-fetching-service.yaml b/examples/daemonsetsharding/deployment-unscheduled-pods-fetching-service.yaml index 36802cfff4..b9f773297a 100644 --- a/examples/daemonsetsharding/deployment-unscheduled-pods-fetching-service.yaml +++ b/examples/daemonsetsharding/deployment-unscheduled-pods-fetching-service.yaml @@ -4,7 +4,7 @@ metadata: labels: app.kubernetes.io/component: exporter app.kubernetes.io/name: kube-state-metrics-unscheduled-pods-fetching - app.kubernetes.io/version: 2.17.0 + app.kubernetes.io/version: 2.21.0 name: kube-state-metrics-unscheduled-pods-fetching namespace: kube-system spec: diff --git a/examples/daemonsetsharding/deployment-unscheduled-pods-fetching.yaml b/examples/daemonsetsharding/deployment-unscheduled-pods-fetching.yaml index 6e35d179a4..fd94ba6016 100644 --- a/examples/daemonsetsharding/deployment-unscheduled-pods-fetching.yaml +++ b/examples/daemonsetsharding/deployment-unscheduled-pods-fetching.yaml @@ -4,7 +4,7 @@ metadata: labels: app.kubernetes.io/component: exporter app.kubernetes.io/name: kube-state-metrics-unscheduled-pods-fetching - app.kubernetes.io/version: 2.17.0 + app.kubernetes.io/version: 2.21.0 name: kube-state-metrics-unscheduled-pods-fetching namespace: kube-system spec: @@ -17,14 +17,14 @@ spec: labels: app.kubernetes.io/component: exporter app.kubernetes.io/name: kube-state-metrics-unscheduled-pods-fetching - app.kubernetes.io/version: 2.17.0 + app.kubernetes.io/version: 2.21.0 spec: automountServiceAccountToken: true containers: - args: - --resources=pods - --track-unscheduled-pods - image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.17.0 + image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.21.0 livenessProbe: httpGet: path: /livez diff --git a/examples/daemonsetsharding/deployment.yaml b/examples/daemonsetsharding/deployment.yaml index 68d36549fa..7cb6675f50 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.17.0 + app.kubernetes.io/version: 2.21.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.17.0 + app.kubernetes.io/version: 2.21.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.17.0 + image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.21.0 livenessProbe: httpGet: path: /livez diff --git a/examples/daemonsetsharding/service-account.yaml b/examples/daemonsetsharding/service-account.yaml index d5a4c377ad..a8059f64a2 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.17.0 + app.kubernetes.io/version: 2.21.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 761075f15b..7d95858343 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.17.0 + app.kubernetes.io/version: 2.21.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 6e9ff89892..1497da800b 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.17.0 + app.kubernetes.io/version: 2.21.0 name: kube-state-metrics rules: - apiGroups: diff --git a/examples/standard/deployment.yaml b/examples/standard/deployment.yaml index c06087d229..02007a7dcf 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.17.0 + app.kubernetes.io/version: 2.21.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.17.0 + app.kubernetes.io/version: 2.21.0 spec: automountServiceAccountToken: true containers: - - image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.17.0 + - image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.21.0 livenessProbe: httpGet: path: /livez diff --git a/examples/standard/service-account.yaml b/examples/standard/service-account.yaml index d5a4c377ad..a8059f64a2 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.17.0 + app.kubernetes.io/version: 2.21.0 name: kube-state-metrics namespace: kube-system diff --git a/examples/standard/service.yaml b/examples/standard/service.yaml index b0d74c182f..2b88ac44b0 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.17.0 + app.kubernetes.io/version: 2.21.0 name: kube-state-metrics namespace: kube-system spec: diff --git a/scripts/generate-release-date.sh b/scripts/generate-release-date.sh old mode 100644 new mode 100755 diff --git a/scripts/update-data-yaml.sh b/scripts/update-data-yaml.sh old mode 100644 new mode 100755