Commit Graph

1685 Commits

Author SHA1 Message Date
Lili Cosic 4e2454096c examples: Regenerate manifests 2021-04-12 17:26:25 +02:00
Lili Cosic 0d840520a3 Cut v2.0.0 2021-04-12 17:26:25 +02:00
Lili Cosic a045719ade README.md: Document resource and latency from scale test 2021-04-12 17:26:25 +02:00
Kubernetes Prow Robot 31f81f2243
Merge pull request #1440 from mrueg/r20-golang-latest
[release-2.0] Use latest golang version to build/update dependencies
2021-04-06 03:13:36 -07:00
Manuel Rüger b073aeee8f go.mod: Update dependencies 2021-04-06 11:59:50 +02:00
Manuel Rüger 8650880735 Makefile: Use golang-1.16.3 2021-04-06 11:57:41 +02:00
Kubernetes Prow Robot 2630cdffbe
Merge pull request #1435 from mrueg/rm-quay
e2e.sh: Remove traces of quay.io
2021-03-30 21:38:59 -07:00
Manuel Rüger e8feba5a81 e2e.sh: Remove traces of quay.io 2021-03-31 01:21:20 +02:00
Kubernetes Prow Robot 0863837da8
Merge pull request #1436 from mrueg/golangci-lint-1.39.0
.github/ci.yml: Update golangci-lint to 1.39.0
2021-03-30 13:42:58 -07:00
Manuel Rüger 94e4e48795 .github/ci.yml: Update golangci-lint to 1.39.0 2021-03-30 14:23:43 +02:00
Kubernetes Prow Robot aafecf305b
Merge pull request #1428 from mrueg/tag-2.0.0-rc.1
Cut 2.0.0 rc.1
2021-03-26 07:30:44 -07:00
Manuel Rüger e2c705ea8b Cut 2.0.0-rc.1
* [CHANGE] Rename --labels-metric-allow-list to --metric-labels-allowlist #1424
* [CHANGE] Remove deprecated Kubernetes APIs #1423
* [CHANGE] go.mod: Update Dependencies #1419
* [CHANGE] Remove vendor folder #1419
* [CHANGE] `k8s.gcr.io/kube-state-metrics/kube-state-metrics` becomes the authoritative registry
Location on quay.io will not be updated anymore. Previously pushed images will be kept around to avoid breaking existing deployments.
2021-03-26 15:20:33 +01:00
Kubernetes Prow Robot e41436efc1
Merge pull request #1424 from mrueg/remove-dash
Rename cli flag from label-metrics-allow-list to metric-labels-allowlist
2021-03-26 05:36:43 -07:00
Manuel Rüger 2a7a96b659 Rename cli flag from label-metrics-allow-list to metric-labels-allowlist
This might be more clear on what the flag is doing. There were two ways
to spell allow-list / allowlist which it removes as well

Fixes: https://github.com/kubernetes/kube-state-metrics/issues/1421
2021-03-26 13:11:19 +01:00
Kubernetes Prow Robot 47f688dfe6
Merge pull request #1423 from lilic/remove-leftover-old-api
Remove extensions APIs that are deprecated
2021-03-26 02:18:43 -07:00
Lili Cosic 04f7dfc54d examples: regenerate 2021-03-22 13:48:28 +01:00
Lili Cosic f895661f3e jsonnet/kube-state-metrics/kube-state-metrics.libsonnet: Remove old API 2021-03-22 13:48:18 +01:00
Lili Cosic b8cca61bae internal/store/verticalpodautoscaler_test.go: Switch test to new API 2021-03-22 13:46:47 +01:00
Kubernetes Prow Robot 6ba0712dae
Merge pull request #1419 from mrueg/r20-go.1.16
[release-2.0] Update go to 1.16, update dependencies, remove vendor directory
2021-03-18 07:01:19 -07:00
Kemal Akkoyun e25d9b5c48 [Backport] Remove vendor directory
Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com>
Signed-off-by: Manuel Rüger <manuel@rueg.eu>
2021-03-18 14:27:40 +01:00
Manuel Rüger cbce059ffc cli-arguments.md: Fix docs 2021-03-18 14:18:13 +01:00
Manuel Rüger 3ab8b19c29 go.mod: Update dependencies 2021-03-18 14:13:43 +01:00
Manuel Rüger 8960e36cb3 Make/Dockerfile: Switch to 1.16 2021-03-18 13:49:04 +01:00
Kubernetes Prow Robot 8fb9b23f73
Merge pull request #1406 from lilic/release-2.rc.0
Cut v2.0.0-rc.0
2021-03-04 05:04:08 -08:00
Lili Cosic 7da9f00372 examples: Regenerate manifests 2021-03-04 13:53:25 +01:00
Lili Cosic 6977dc95ae Cut v2.0.0-rc.0
Also remove last mention of quay.io/coreos image, in favour of the gcr
ones.
2021-03-04 13:52:35 +01:00
Kubernetes Prow Robot 323a841ecd
Merge pull request #1404 from Mikulas/docs-label-allowlist-fix
fix labels-metric-allow-list documentation
2021-03-03 23:21:59 -08:00
Mikulas (Mike) Dite ffa4c7bf0e fix labels-metric-allow-list documentation
The parser defined in types.go does not expect quotes
https://github.com/kubernetes/kube-state-metrics/blob/master/pkg/options/types.go#L136-L140
https://github.com/kubernetes/kube-state-metrics/blob/master/pkg/options/types_test.go#L168
2021-03-03 11:07:09 +00:00
Kubernetes Prow Robot 8f32177b02
Merge pull request #1402 from tariq1890/chpick-list-res-var
[release-2.0] Propagate resource version when sharded
2021-03-03 01:43:21 -08:00
andreihagiescu-db 256af0c1a7
Update listwatch.go
(cherry picked from commit d40eb3332e)
2021-03-02 21:48:46 -08:00
andreihagiescu-db 4da904859f
Update listwatch.go
(cherry picked from commit 6ee0f9255e)
2021-03-02 21:48:45 -08:00
andreihagiescu-db 6ed78c9b00
Update listwatch.go
(cherry picked from commit 8b2ef33df1)
2021-03-02 21:48:44 -08:00
andreihagiescu-db 74cce23ec8
Update listwatch.go
(cherry picked from commit 3e6cd660d0)
2021-03-02 21:48:42 -08:00
andreihagiescu-db 6b70140fcd
Update listwatch.go
(cherry picked from commit e1327ca01c)
2021-03-02 21:48:42 -08:00
andreihagiescu-db a3bf003ce3
Propagate resource version when sharded
Addresses a bug that causes a gap between `list` and `watch` when kube-state-metrics is sharded (fix for https://github.com/kubernetes/kube-state-metrics/issues/694)

Kube-state-metrics does a `list` and then enters a `watch` loop. The intention is to `watch` **all** events after the initial list. The k8s API takes an optional `resource version` parameter which is returned as part of the `list` call and can be forwarded to the `watch` call, in order to fetch all events after the initial `list`.

In its sharded version, kube-state-metrics intercepts the returned `list` in order to filter out the events for other shards. It reconstructs the response, but it does not propagate the `resource version` to the modified response. The subsequent `watch` call does not refer to a resource version.

When `watch` is called without a `resource version`, it will provide a view consistent with the **most recent** resource version of the `watch` call, missing the events between the `resource version` at `list` call and the most recent one. The k8s documentation captures this as follows: _Get State and Start at Most Recent: Start a watch at the most recent resource version, which must be consistent (i.e. served from etcd via a quorum read). To establish initial state, the watch begins with synthetic "Added" events of all resources instances that exist at the starting resource version. All following watch events are for all changes that occurred after the resource version the watch started at._

Testing: Reproduced the original bug report deterministically by introducing an artificial delay (120s) in list, prior to returning the response, and terminating some pods. Unless the bug is fix, the terminated pods continue to be reported as running by kube-state-metrics
(cherry picked from commit c1842eb06b)
2021-03-02 21:48:41 -08:00
Kubernetes Prow Robot d0b334a3d0
Merge pull request #1399 from lou-lan/feature/bump-go-version-to-2.26
Bump go version in CI to 1.16+
2021-03-01 08:11:27 -08:00
lou-lan ef2c5efb4e Bump go version in CI to 1.16+ 2021-03-01 22:10:03 +08:00
Kubernetes Prow Robot b2fc8588f8
Merge pull request #1400 from lilic/improve-alloc
internal/store/pod.go: Pre-allocate metric slices optimistically
2021-02-25 00:55:24 -08:00
Lili Cosic 6e81605114 internal/store/pod.go: Pre-allocate metric slices optimistically 2021-02-25 09:46:36 +01:00
Kubernetes Prow Robot 0b70d7e937
Merge pull request #1397 from lilic/remove-last-reason
internal/store/pod.go: Only create last_terminated containers series if containers are terminated state
2021-02-24 08:24:50 -08:00
Lili Cosic e62e963797 .github/workflows/ci.yml: We were not pinning to specific go version
this caused the go modules check to fail, as latest go version
introduced breaking changes it seems to modules.
2021-02-24 17:17:00 +01:00
Lili Cosic c3121e74bf docs/pod-metrics.md: Adjust docs and stability 2021-02-24 17:00:27 +01:00
Lili Cosic fa5e260535 internal/store/pod.go: Only create last_terminated containers series if pods are
terminated. This reduces the cardinality of this metric greatly, as it was
one of the highest cardinality metrics pre 2.0.
2021-02-24 16:59:53 +01:00
Kubernetes Prow Robot 7031cb7db1
Merge pull request #1381 from lilic/remove-all-reason
internal/store/pod.go: Only create terminated_reason series if pods are in terminated state
2021-02-16 04:21:06 -08:00
Kubernetes Prow Robot 652268759e
Merge pull request #1372 from lou-lan/fix/gzip
Fix gzip writer
2021-02-15 06:17:05 -08:00
lou-lan 483b77a523 Fix gzip writer 2021-02-15 21:57:20 +08:00
Lili Cosic 950a173907 docs/pod-metrics.md: Mark changed metrics as experimental 2021-02-09 15:51:55 +01:00
Lili Cosic 99838a5762 Adjust unit tests 2021-02-09 15:50:38 +01:00
Lili Cosic 025ae126df internal/store/pod.go: Only create terminated_reason series if pods are
terminated. This reduces the cardinality of this metric greatly, as it was
one of the highest cardinality metrics pre 2.0.
2021-02-09 15:50:38 +01:00
Kubernetes Prow Robot bd8a7769d3
Merge pull request #1378 from lilic/change-waiting-reason-metrics
internal/store/pod.go: Only create waiting_reason series if pods are in waiting state
2021-02-09 00:32:31 -08:00