You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: keps/sig-node/2371-cri-pod-container-stats/README.md
+11-8Lines changed: 11 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -235,9 +235,10 @@ This will be described in more detail in the [design details section](#design-de
235
235
### /metrics/cadvisor
236
236
237
237
1. Expose the metric fields provided in `/metrics/cadvisor` in an analogous Prometheus endpoint directly from the CRI implementation.
238
-
5. cAdvisor should be updated to support no longer collecting stats that are duplicated with CRI implementation, and omit them from the report sent to `/metrics/cadvisor`.
238
+
2. cAdvisor should be updated to support no longer collecting stats that are duplicated with CRI implementation, and omit them from the report sent to `/metrics/cadvisor`.
239
239
3. The precise endpoint can change, but all the fields should be duplicated (so custom rules can be maintained).
240
240
4. Kubelet does not collect nor expose pod and container level metrics that were formally collected for and exposed by `/metrics/cadvisor`.
241
+
5. Kubelet should broadcast the endpoint from the CRI, similarly to how it does for `/metrics/cadvisor`.
241
242
242
243
### User Stories [optional]
243
244
@@ -268,7 +269,6 @@ Thus, this KEP largely the plan described [here](#plan), with some changes:
268
269
#### Open Questions
269
270
1. For the newly introduced CRI API fields, should there be Windows and Linux specific fields?
270
271
271
-
272
272
### Risks and Mitigations
273
273
274
274
- To properly move to CRI stats, it is likely there are some metrics that we'll want to not support (Accelerator/UserDefined). We should be careful to not break entities that rely on these metrics.
@@ -527,7 +527,6 @@ Below is the proposed strategy for doing so:
527
527
528
528
As a requirement for the Beta stage, cAdvisor must support optionally collecting and broadcasting these metrics, similarly to the changes needed for summary API.
529
529
530
-
531
530
### Test Plan
532
531
533
532
- Internally in the Kubelet, there should be integration tests verifying that information gotten from the two sources is not too different.
@@ -540,6 +539,9 @@ As a requirement for the Beta stage, cAdvisor must support optionally collecting
540
539
- CRI should be extended to provide required stats for `/stats/summary`
541
540
- Kubelet should be extended to provide the required stats from CRI implementation for `/stats/summary`.
542
541
- This new behavior will be gated by a feature gate to prevent regressions for users that rely on the old behavior.
542
+
- cAdvisor should be able to optionally not report the metrics needed for both summary API and `/metrics/cadvisor`. This behavior will be toggled by the Kubelet feature gate.
543
+
- Kubelet will query the CRI implementation for endpoints to broadcast from its own server.
544
+
- This will allow the CRI to broadcast `/metrics/cadvisor` through the Kubelet's HTTP server.
543
545
544
546
#### Alpha -> Beta Graduation
545
547
@@ -548,7 +550,6 @@ As a requirement for the Beta stage, cAdvisor must support optionally collecting
548
550
- Validate performance impact of this feature is within allowable margin (or non-existent, ideally).
549
551
- The CRI stats implementation should perform better than they did with CRI+cAdvisor.
550
552
- cAdvisor stats provider may be marked as deprecated (depending on stability of new CRI based implementations).
551
-
- cAdvisor should be able to optionally not report the metrics needed for both summary API and `/metrics/cadvisor`. This behavior will be toggled by the Kubelet feature gate.
552
553
553
554
#### Beta -> GA Graduation
554
555
@@ -788,11 +789,13 @@ _This section must be completed when targeting beta graduation to a release._
788
789
789
790
## Implementation History
790
791
791
-
2021-1-27: KEP opened
792
-
2021-5-12: KEP merged, targeted at Alpha in 1.22
793
-
2021-7-8: KEP deemed not ready for Alpha in 1.22
792
+
2021-01-27: KEP opened
793
+
2021-05-12: KEP merged, targeted at Alpha in 1.22
794
+
2021-07-08: KEP deemed not ready for Alpha in 1.22
794
795
2021-12-07: KEP successfully implemented at Alpha in 1.23
795
-
2022-1-25: KEP targeted at Beta in 1.24
796
+
2022-01-25: KEP targeted at Beta in 1.24
797
+
2022-04-20: KEP deemed not ready for Beta in 1.24
798
+
2022-06-13: Move some Beta criteria to Alpha criteria in 1.25
0 commit comments