Commit Graph

156 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
cc69f8f65d
Merge pull request #107490 from pacoxu/add-volume-stats-slow-log
add warning log if volume calculation took too long than 1 second
2022-07-28 17:55:10 -07:00
Davanum Srinivas
ab690750df
Switch to v3 of github.com/emicklei/go-restful
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-06-09 14:11:41 -04:00
Kubernetes Prow Robot
b0254c8a0b
Merge pull request #108758 from fengzixu/improvement-volume-health
re-push "add volume kubelet_volume_stats_health_abnormal to kubelet #105585"
2022-03-29 17:35:34 -07:00
fengzixu
38d8aae408 fix: add nil check 2022-03-27 08:38:20 +00:00
Kir Kolyshkin
4513de06a8 Regen mocks using go 1.18
Generated by ./hack/update-mocks.sh using go 1.18

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2022-03-23 10:19:38 -07:00
Kubernetes Prow Robot
5cb6fab8f6 Merge pull request #105585 from fengzixu/improvement-volume-health
add volume kubelet_volume_stats_health_abnormal to kubelet
2022-03-17 01:32:38 +00:00
Maciej Borsz
aa95513982
Revert "add volume kubelet_volume_stats_health_abnormal to kubelet" 2022-03-16 13:44:09 +01:00
Paco Xu
e3745a10aa add warning log if volume calculation took too long than 1 second 2022-01-17 10:40:49 +08:00
fengzixu
5d544d3f01 fix comment 2022-01-11 14:28:31 +00:00
fengzixu
b885deffe3 fix unit test 2022-01-11 13:50:17 +00:00
fengzixu
ed7fd0ced5 add volumeHealth label to metrics 2022-01-11 13:50:17 +00:00
fengzixu
d71e21e01e add volume kubelet_volume_stats_health_abnormal to kubelet 2022-01-11 13:50:17 +00:00
Patrick Ohly
a8c930ef46 generic ephemeral volume: graduation to GA
The feature gate gets locked to "true", with the goal to remove it in two
releases.

All code now can assume that the feature is enabled. Tests for "feature
disabled" are no longer needed and get removed.

Some code wasn't using the new helper functions yet. That gets changed while
touching those lines.
2021-10-11 20:54:20 +02:00
Patrick Ohly
b1ba381ef8 kubelet: also provide filesystem stats for generic ephemeral volumes
When checking for a reference to a PVC, the code also needs to consider that a
PVC might be referenced indirectly through an ephemeral volume source.
2021-10-08 12:11:52 +02:00
vikram Jadhav
0de4397490 mockery to mockgen conversion 2021-09-25 16:15:08 +00:00
Stephen Augustus
481cf6fbe7
generated: Run hack/update-gofmt.sh
Signed-off-by: Stephen Augustus <foo@auggie.dev>
2021-08-24 15:47:49 -04:00
Sahil Raja
8eee78a61f
Update github.com/pkg/errors to go native errors pkg
Signed-off-by: Sahil Raja <sahil.raja@mayadata.io>
2021-06-21 23:03:14 +05:30
Niels de Vos
b997e0e4d6 Add SupportsMetrics() for Block-mode volumes
Volumes that are provisioned with `VolumeMode: Block` often have a
MetrucsProvider interface declared in their type. However, the
MetricsProvider should implement a GetMetrics() function. In the cases
where the storage drivers do not implement GetMetrics(), a panic can
occur.

Usual type-assertions are not sufficient in this case. All assertions
assume the interface is present. There is no straight forward way to
verify that a valid GetMetrics() function is provided.

By adding SupportsMetrics(), storage driver implementations require
careful reviewing for metrics support.
2021-05-20 17:10:23 +02:00
Niels de Vos
fb703b4cc1 Include metrics of BlockVolumes in volumeStatCalculator 2021-04-22 18:21:46 +02:00
Niels de Vos
e22012950b Add Kubelet.ListBlockVolumesForPod() 2021-04-22 08:36:20 +02:00
fengzixu
edc1c62471 feature: add CSIVolumeHealth feature and gate
1. add EventRecorder to ResourceAnalyzer
2. add CSIVolumeHealth feature and gate
2021-03-10 01:16:37 +09:00
Shintaro Murakami
fe7a862c2d Unify determination of whether a volume is ephemeral 2021-03-05 14:49:09 +09:00
pacoxu
cd54bd94e9 deprecate cAdvisor json metrics collected by Kubelet
- remove unused code for cadvisor json metrics collected

Signed-off-by: pacoxu <paco.xu@daocloud.io>
2021-03-02 15:36:21 +08:00
Benjamin Elder
56e092e382 hack/update-bazel.sh 2021-02-28 15:17:29 -08:00
chenyw1990
db5de9169f pkg/kubelet/server: migrate to structured logs 2021-02-09 15:34:52 +08:00
Marek Siarkowicz
7d309e0104 Move Kubelet Summary API to staging repo 2020-09-22 18:23:28 +02:00
RainbowMango
3c7caff44d remove deprecated kubelet endpoint /metrics/resource/v1alpha1 2020-08-28 09:16:56 +08:00
Jordan Liggitt
f33dc28094 generated: hack/update-hack-tools.sh && hack/update-vendor.sh 2020-07-25 16:45:02 -04:00
David Ashpole
1f70708f6c update cAdvisor to v0.37.0 2020-07-09 10:23:10 -07:00
Kubernetes Prow Robot
b170451caa
Merge pull request #90183 from dims/update-kubernetes-to-klog-v2
Update kubernetes to klog v2
2020-05-16 18:59:51 -07:00
Kubernetes Prow Robot
42fa1c081f
Merge pull request #88568 from RainbowMango/pr_cleanup_resource_metrics_ut
Clean up duplicate code and remove import cycle.
2020-05-16 16:09:36 -07:00
Davanum Srinivas
07d88617e5
Run hack/update-vendor.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:33 -04:00
Davanum Srinivas
442a69c3bd
switch over k/k to use klog v2
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:27 -04:00
Rodrigo Villablanca
1014d307a5 After run ./hack/update-bazel.sh 2020-04-15 09:24:54 -04:00
Rodrigo Villablanca
ae603b8ef1 Add some testing 2020-04-13 12:47:07 -04:00
Rodrigo Villablanca
0972c9ba4d Improvements 2020-04-13 12:47:07 -04:00
Rodrigo Villablanca
a68482290d Handling error returned by request.Request.ParseForm() 2020-04-13 12:47:07 -04:00
RainbowMango
7b7c73bf87 Clean up duplicate code and remove import cycle. 2020-02-26 15:19:29 +08:00
RainbowMango
ecf5f7d749 Deprecated metrics under /metrics/resource/v1alpha1 2019-12-16 10:27:02 +08:00
RainbowMango
159f56bf9b Deal with auto-generated files.
Update bazel by hack/update-bazel.sh
2019-11-08 20:21:48 +08:00
RainbowMango
2e8dcf7809 Migrate custom collector and mark metrics with ALPHA. 2019-11-08 20:19:37 +08:00
Jordan Liggitt
297570e06a hack/update-vendor.sh 2019-11-06 17:42:34 -05:00
Kubernetes Prow Robot
2dc0c01068
Merge pull request #78222 from humblec/volume_stats
Fix nil pointer dereference in metrics value calculator.
2019-06-17 04:36:11 -07:00
David Ashpole
785d40923a add kubelet flag to disable cadvisor json apis, and mark it deprecrated 2019-05-30 10:39:45 -07:00
Humble Chirammal
cada0270fe Fix nil pointer dereference in metrics value calculator.
The metrics structure passed to volume stat calculator
can contain real stats on subset of metrics fields. For example,
the metrics structure filled by a CSI driver can have
either INODES or BYTES filled, IOW it a valid return.
In such cases the volume stat calculator panic with below
trace:

0516 21:36:19.013143   14452 runtime.go:69] Observed a panic: "invalid memory address or nil pointer dereference" (runtime error: invalid memory address or nil pointer dereference)
/home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:76
/home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:65
/home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:51
/usr/local/go/src/runtime/panic.go:522
/usr/local/go/src/runtime/panic.go:82
/usr/local/go/src/runtime/signal_unix.go:390
/home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/api/resource/quantity.go:697
/home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/api/resource/quantity.go:685
/home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/kubelet/server/stats/volume_stat_calculator.go:144
/home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/kubelet/server/stats/volume_stat_calculator.go:125
/home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/kubelet/server/stats/volume_stat_calculator.go:65
/home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:152
/home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:153
/usr/local/go/src/runtime/asm_amd64.s:1337

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-05-27 16:36:39 +05:30
Kubernetes Prow Robot
535064773a
Merge pull request #73946 from dashpole/prometheus_core_metrics
Add kubelet resource metrics v1alpha1 endpoint
2019-03-07 22:43:28 -08:00
David Ashpole
6051664c0f add kubelet prometheus resource metrics endpoint 2019-03-07 15:39:37 -08:00
Yu-Ju Hong
191666d6a3 Fix computing of cpu nano core usage
CRI runtimes do not supply cpu nano core usage as it is not part of CRI
stats. However, there are upstream components that still rely on such
stats to function. The previous fix was faulty because the multiple
callers could compete and update the stats, causing
inconsistent/incoherent metrics. This change, instead, creates a
separate call for updating the usage, and rely on eviction manager,
which runs periodically, to trigger the updates. The caveat is that if
eviction manager is completley turned off, no one would compute the
usage.
2019-03-05 09:25:40 -08:00
Aldo Culquicondor
e61cd68bf3 Fix lint on pkg/kubelet/server/... 2019-02-21 10:31:41 -05:00
David Ashpole
54e581930c fix node and kubelet start times 2018-12-05 15:07:52 -08:00