1
-
2
1
# Kubelet CRI support
3
2
4
3
<!-- toc -->
13
12
- [ Identified Work Items] ( #identified-work-items )
14
13
- [ Changes from v1alpha2 to v1beta1] ( #changes-from-v1alpha2-to-v1beta1 )
15
14
- [ Clean Up] ( #clean-up )
15
+ - [ Pinned Images] ( #pinned-images )
16
16
- [ Test Plan] ( #test-plan )
17
17
- [ Graduation Criteria] ( #graduation-criteria )
18
18
- [ Alpha -> ; Beta Graduation] ( #alpha---beta-graduation )
@@ -81,6 +81,7 @@ Evolve the CRI API version as we address feedback in each milestone towards stab
81
81
- No longer map the ` container-runtime-endpoint ` flag as experimental.
82
82
- Keep the ` image-service-endpoint ` flag as experimental and evaluate if it makes sense to keep
83
83
as a configurable or remove it.
84
+ - Introduce field in the ` Image ` message to indicate an image should not be garbage collected (see #pinned-images)
84
85
85
86
#### Changes from v1alpha2 to v1beta1
86
87
@@ -100,6 +101,26 @@ Need Sig-Node and Sig-Networking to help validate if / when kubenet is being dep
100
101
- Removal of TODOs that are no longer valid should be done before v1beta. We have scraped the api specification once and have a small
101
102
list of commits to file.
102
103
104
+ #### Pinned Images
105
+ - Introduce field in the ` Image ` message to indicate an image should not be garbage collected:
106
+ ``` golang
107
+ message Image {
108
+ ...
109
+ ImageSpec spec = 7 ;
110
+ // Recommendation on whether this image should be exempt from garbage collection.
111
+ // It must only be treated as a recommendation--the client can still request the image be deleted,
112
+ // and the runtime must oblige.
113
+ bool pinned = 8 ;
114
+
115
+ }
116
+ ...
117
+ ```
118
+ - Rely on this behavior instead of having the Kubelet keep track of expected pause image.
119
+ - In other words, have the runtime say the required pause image is pinned, indicating the Kubelet should not garbage collect it.
120
+ - As a result, support for `pod-infra-container` option in Kubelet will be dropped (not part of this KEP, but worth mentioning).
121
+ - See https://github.com/kubernetes/kubernetes/pull/101808 for more details.
122
+
123
+
103
124
### Test Plan
104
125
- Review of the existing test cases in critest and adding more if we find any gaps.
105
126
- Make sure we have e2e node (and possibly selected e2e conformance) tests running on more than one CRI implementation.
@@ -113,6 +134,7 @@ list of commits to file.
113
134
- Documentation is updated to reflect beta status.
114
135
- Update the CI with containerd and CRI-O versions that support the v1 proto.
115
136
- Ensure that the required CRI stats changes are included. See https://github.com/kubernetes/enhancements/issues/2371 .
137
+ - Introduce field in the ` Image ` message to indicate an image should not be garbage collected (see #pinned-images)
116
138
117
139
#### Beta -> GA Graduation
118
140
- TBD
0 commit comments