Skip to content

Commit abe3fd3

Browse files
authored
Merge pull request #1896 from mrueg/prep-release-2.7
*: Cut v2.7.0
2 parents b2c90e8 + 095bf79 commit abe3fd3

39 files changed

+741
-246
lines changed

CHANGELOG.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,36 @@
1+
## v2.7.0 / 2022-11-25
2+
3+
Note: Experimental VerticalPodAutoscaler metrics are considered deprecated in this release and will be removed in v2.9.0.
4+
Please use CustomResourceStateMetrics to gather metrics from VPA resources. See: #1718
5+
6+
Note: Experimental CustomResourceState changed their naming convention for better usability.
7+
The name of the CRD used to be interpolated into the name of the metric which made it impossible to aggregate a CRD across different versions.
8+
This was changed to have the GVK information represented as labels:
9+
kube_myteam_io_v1_Foo_uptime -> kube_crd_uptime{group="myteam.io", kind="Foo", version="v1"}
10+
See: #1847
11+
12+
* [CHANGE] Deprecate VerticalPodAutoscaler metrics #1835 @rexagod
13+
* [CHANGE] Recommend kube-scheduler metrics for container resource limits and requests #1849 @rexagod
14+
* [FEATURE] Add experimental kube_pod_container_status_last_terminated_exitcode metric #1752 @ssabo
15+
* [FEATURE] Introduce custom-resources-only flag #1813 @bavarianbidi
16+
* [FEATURE] Allow allowlist filtering by wildcard key #1823 @rexagod
17+
* [FEATURE] Add ContainerResourceSourceType to hpa spec and target metrics #1831 @whitebear009
18+
* [FEATURE] Represent group, version and kind of a resource as labels #1850 @rexagod
19+
* [FEATURE] Sharding metrics per node via fieldSelector #1864 @CatherineF-dev
20+
* [FEATURE] Add experimental StatefulSet retention policy metrics #1876 @mattcary
21+
* [FEATURE] Allow labelFromKey field for all applicable metric types #1880 @rexagod
22+
* [FEATURE] Introduce Viper, allow hot-reload on config change #1827 @rexagod
23+
* [FEATURE] Introduce Cobra, allow configuration via environment variables #1834 @rexagod
24+
* [FEATURE] Add experimental kube_node_deletion_timestamp metric #1890 @rexagod
25+
* [FEATURE] Support autoscaling/v2 resources for HorizontalPodAutoscaler #1906 @JoaoBraveCoding
26+
* [FEATURE] Add IngressClass metrics #1905 @kaitoii11
27+
* [ENHANCEMENT] Import Kubernetes metrics stability framework #1844 @CatherineF-dev
28+
* [ENHANCEMENT] Promote kube_pod_container_status_waiting_reason and kube_deployment_status_replicas_ready to stable #1821 @CatherineF-dev
29+
* [ENHANCEMENT] Build with Kubernetes 1.25 and go 1.19 #1819 @mrueg
30+
* [BUGFIX] Handle singular labels in allowlist #1826 @rexagod
31+
* [BUGFIX] Do not expose ingress path metric when service is nil #1841 @evir35
32+
* [BUGFIX] Allow lease metrics to be exported across all namespaces #1845 @lantingchiang
33+
134
## v2.6.0 / 2022-08-26
235
* [FEATURE] Add local storage labels to kube_persistentvolume_info #1814 @nabokihms
336
* [FEATURE] Add support for StateSet and Info metrics for Custom-Resource State #1777 @chrischdi

OWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ reviewers:
33
- fpetkovski
44
- logicalhan
55
- mrueg
6+
- rexagod
67
approvers:
78
- dgrisonnet
89
- fpetkovski

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ Generally, it is recommended to use the latest release of kube-state-metrics. If
7676
| **v2.4.2** | v1.23 |
7777
| **v2.5.0** | v1.24 |
7878
| **v2.6.0** | v1.24 |
79+
| **v2.7.0** | v1.25 |
7980
| **master** | v1.25 |
8081

8182

@@ -88,7 +89,7 @@ release.
8889
#### Container Image
8990

9091
The latest container image can be found at:
91-
* `registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.6.0` (arch: `amd64`, `arm`, `arm64`, `ppc64le` and `s390x`)
92+
* `registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.7.0` (arch: `amd64`, `arm`, `arm64`, `ppc64le` and `s390x`)
9293

9394
### Metrics Documentation
9495

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.6.0
1+
2.7.0

docs/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ See each file for specific documentation about the exposed metrics:
6565

6666
- [ClusterRole Metrics](clusterrole-metrics.md)
6767
- [ClusterRoleBinding Metrics](clusterrolebinding-metrics.md)
68+
- [IngressClass Metrics](ingressclass-metrics.md)
6869
- [Role Metrics](role-metrics.md)
6970
- [RoleBinding Metrics](rolebinding-metrics.md)
7071
- [ServiceAccount Metrics](serviceaccount-metrics.md)

docs/cli-arguments.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ Flags:
3939
--add_dir_header If true, adds the file directory to the header of the log messages
4040
--alsologtostderr log to standard error as well as files (no effect when -logtostderr=true)
4141
--apiserver string The URL of the apiserver to use as a master
42+
--config string Path to the kube-state-metrics options config file
4243
--custom-resource-state-config string Inline Custom Resource State Metrics config YAML (experimental)
4344
--custom-resource-state-config-file string Path to a Custom Resource State Metrics config file (experimental)
4445
--custom-resource-state-only Only provide Custom Resource State metrics (experimental)

docs/ingressclass-metrics.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# IngressClass Metrics
2+
3+
| Metric name| Metric type | Labels/tags | Status |
4+
| ---------- | ----------- | ----------- | ----------- |
5+
| kube_ingressclass_annotations | Gauge | `ingressclass`=&lt;ingressclass-name&gt; <br> `annotation_INGRESSCLASS_ANNOTATION`=&lt;INGRESSCLASS_ANNOTATION&gt; | EXPERIMENTAL |
6+
| kube_ingressclass_info | Gauge | `ingressclass`=&lt;ingressclass-name&gt; <br> `controller`=&lt;ingress-controller-name&gt; <br> | EXPERIMENTAL |
7+
| kube_ingressclass_labels | Gauge | `ingressclass`=&lt;ingressclass-name&gt; <br> `label_INGRESSCLASS_LABEL`=&lt;INGRESSCLASS_LABEL&gt; | EXPERIMENTAL|
8+
| kube_ingressclass_created | Gauge | `ingressclass`=&lt;ingressclass-name&gt; | EXPERIMENTAL|

docs/node-metrics.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@
88
| kube_node_role | Gauge | The role of a cluster node | | `node`=&lt;node-address&gt; <br> `role`=&lt;NODE_ROLE&gt; | EXPERIMENTAL |
99
| kube_node_spec_unschedulable | Gauge | Whether a node can schedule new pods | | `node`=&lt;node-address&gt;| STABLE |
1010
| kube_node_spec_taint | Gauge | The taint of a cluster node. | |`node`=&lt;node-address&gt; <br> `key`=&lt;taint-key&gt; <br> `value=`&lt;taint-value&gt; <br> `effect=`&lt;taint-effect&gt; | STABLE |
11-
| kube_node_status_capacity | Gauge | The capacity for different resources of a node | `cpu`=&lt;core&gt; <br> `ephemeral_storage`=&lt;byte&gt; <br> `pods`=&lt;integer&gt; <br> `attachable_volumes_*`=&lt;byte&gt; <br> `hugepages_*`=&lt;byte&gt; <br> `memory`=&lt;byte&gt; |`node`=&lt;node-address&gt; <br> `resource`=&lt;resource-name&gt; <br> `unit`=&lt;resource-unit&gt;| STABLE |
12-
| kube_node_status_allocatable | Gauge | The allocatable for different resources of a node that are available for scheduling | `cpu`=&lt;core&gt; <br> `ephemeral_storage`=&lt;byte&gt; <br> `pods`=&lt;integer&gt; <br> `attachable_volumes_*`=&lt;byte&gt; <br> `hugepages_*`=&lt;byte&gt; <br> `memory`=&lt;byte&gt; |`node`=&lt;node-address&gt; <br> `resource`=&lt;resource-name&gt; <br> `unit`=&lt;resource-unit&gt;| STABLE |
11+
| kube_node_status_capacity | Gauge | The total amount of resources available for a node | `cpu`=&lt;core&gt; <br> `ephemeral_storage`=&lt;byte&gt; <br> `pods`=&lt;integer&gt; <br> `attachable_volumes_*`=&lt;byte&gt; <br> `hugepages_*`=&lt;byte&gt; <br> `memory`=&lt;byte&gt; |`node`=&lt;node-address&gt; <br> `resource`=&lt;resource-name&gt; <br> `unit`=&lt;resource-unit&gt;| STABLE |
12+
| kube_node_status_allocatable | Gauge | The amount of resources allocatable for pods (after reserving some for system daemons) | `cpu`=&lt;core&gt; <br> `ephemeral_storage`=&lt;byte&gt; <br> `pods`=&lt;integer&gt; <br> `attachable_volumes_*`=&lt;byte&gt; <br> `hugepages_*`=&lt;byte&gt; <br> `memory`=&lt;byte&gt; |`node`=&lt;node-address&gt; <br> `resource`=&lt;resource-name&gt; <br> `unit`=&lt;resource-unit&gt;| STABLE |
1313
| kube_node_status_condition | Gauge | The condition of a cluster node | |`node`=&lt;node-address&gt; <br> `condition`=&lt;node-condition&gt; <br> `status`=&lt;true\|false\|unknown&gt; | STABLE |
1414
| kube_node_created | Gauge | Unix creation timestamp | seconds |`node`=&lt;node-address&gt;| STABLE |
15+
| kube_node_deletion_timestamp | Gauge | Unix creation timestamp | seconds |`node`=&lt;node-address&gt;| EXPERIMENTAL |

examples/autosharding/cluster-role-binding.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ metadata:
44
labels:
55
app.kubernetes.io/component: exporter
66
app.kubernetes.io/name: kube-state-metrics
7-
app.kubernetes.io/version: 2.6.0
7+
app.kubernetes.io/version: 2.7.0
88
name: kube-state-metrics
99
roleRef:
1010
apiGroup: rbac.authorization.k8s.io

examples/autosharding/cluster-role.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ metadata:
44
labels:
55
app.kubernetes.io/component: exporter
66
app.kubernetes.io/name: kube-state-metrics
7-
app.kubernetes.io/version: 2.6.0
7+
app.kubernetes.io/version: 2.7.0
88
name: kube-state-metrics
99
rules:
1010
- apiGroups:
@@ -97,6 +97,7 @@ rules:
9797
- networking.k8s.io
9898
resources:
9999
- networkpolicies
100+
- ingressclasses
100101
- ingresses
101102
verbs:
102103
- list

0 commit comments

Comments
 (0)