|
9 | 9 | - [Goals](#goals)
|
10 | 10 | - [Non-Goals](#non-goals)
|
11 | 11 | - [Proposal](#proposal)
|
12 |
| - - [User Stories (Optional)](#user-stories-optional) |
| 12 | + - [User Stories](#user-stories) |
13 | 13 | - [Story 1](#story-1)
|
14 | 14 | - [Story 2](#story-2)
|
15 | 15 | - [Notes/Constraints/Caveats (Optional)](#notesconstraintscaveats-optional)
|
16 | 16 | - [Risks and Mitigations](#risks-and-mitigations)
|
17 | 17 | - [Design Details](#design-details)
|
18 | 18 | - [Test Plan](#test-plan)
|
19 | 19 | - [Graduation Criteria](#graduation-criteria)
|
| 20 | + - [Alpha](#alpha) |
| 21 | + - [Deprecation](#deprecation) |
20 | 22 | - [Upgrade / Downgrade Strategy](#upgrade--downgrade-strategy)
|
21 | 23 | - [Version Skew Strategy](#version-skew-strategy)
|
22 | 24 | - [Production Readiness Review Questionnaire](#production-readiness-review-questionnaire)
|
|
27 | 29 | - [Scalability](#scalability)
|
28 | 30 | - [Troubleshooting](#troubleshooting)
|
29 | 31 | - [Implementation History](#implementation-history)
|
30 |
| -- [Drawbacks](#drawbacks) |
31 |
| -- [Alternatives](#alternatives) |
32 |
| -- [Infrastructure Needed (Optional)](#infrastructure-needed-optional) |
| 32 | +- [Drawbacks [optional]](#drawbacks-optional) |
| 33 | +- [Alternatives [optional]](#alternatives-optional) |
| 34 | +- [Infrastructure Needed [optional]](#infrastructure-needed-optional) |
33 | 35 | <!-- /toc -->
|
34 | 36 |
|
35 | 37 | ## Release Signoff Checklist
|
@@ -180,13 +182,11 @@ See PR (exhaustive unit tests added for alpha covering feature gate on and off f
|
180 | 182 |
|
181 | 183 | ### Graduation Criteria
|
182 | 184 |
|
183 |
| - |
184 | 185 | #### Alpha
|
185 | 186 |
|
186 | 187 | - Feature implemented behind a feature flag - KubeletEnsureSecretPulledImages
|
187 | 188 | - Initial e2e tests completed and enabled - No additional e2e identified as yet
|
188 | 189 |
|
189 |
| - |
190 | 190 | #### Deprecation
|
191 | 191 |
|
192 | 192 | N/A in alpha
|
|
302 | 302 | ###### Will enabling / using this feature result in increasing size or count of the existing API objects?
|
303 | 303 |
|
304 | 304 | Yes. When enabled, and when container images have been pulled with image pull secrets (credentials), subsequent image
|
305 |
| -pulls for pods that do not contain the image pull secret that sucessfully pulled the image will have to authenticate |
| 305 | +pulls for pods that do not contain the image pull secret that successfully pulled the image will have to authenticate |
306 | 306 | by trying to pull the image manifests from the registry. The image layers do not have to be re-pulled, just the
|
307 | 307 | manifests for authentication purposes.
|
308 | 308 |
|
@@ -343,7 +343,7 @@ Why should this KEP _not_ be implemented. N/A
|
343 | 343 | - Make the behavior change enabled by default by changing the feature gate to true by default instead of false by default.
|
344 | 344 | - Discussions went back and forth on whether this should go directly to GA as a fix or alpha as a feature gate. It seems this should be the default security posture for pullIfNotPresent as it is not clear to admins/users that an image pulled by a first pod with authentication can be used by a second pod without authentication. The performance cost should be minimal as only the manifest needs to be re-authenticated. But after further review and discussion with MrunalP we'll go ahead and have a kubelet feature gate with default off for alpha in v1.22.
|
345 | 345 | - Set the flag at some other scope e.g. pod spec (doing it at the pod spec was rejected by SIG-Node).
|
346 |
| -- For beta/ga we may revisit/replace the in memory hash map in kubelet design, with an extention to the CRI API for having the container runtime |
| 346 | +- For beta/ga we may revisit/replace the in memory hash map in kubelet design, with an extension to the CRI API for having the container runtime |
347 | 347 | ensure the image instead of kubelet.
|
348 | 348 |
|
349 | 349 | ## Infrastructure Needed [optional]
|
|
0 commit comments