@@ -134,15 +134,15 @@ sure new clusters are in good state.
134
134
### LegacyServiceAccountTokenTracking
135
135
136
136
To facilitate LegacyServiceAccountTokenCleanUp, we implement a simple controller
137
- in kube-apiserver that maintains a bool value configmap in ` kube-system ` to
137
+ in kube-apiserver that maintains a bool value configmap ` kube-apiserver-legacy-service-account-token-tracking ` in ` kube-system ` to
138
138
indicates if tracking is enabled in the cluster. It is similar to the existing
139
139
` ClusterAuthenticationTrustController ` that maintains ` configmap/extension-apiserver-authentication ` .
140
140
141
141
- When LegacyServiceAccountTokenTracking is enabled in all apiservers,
142
142
143
- - the controller creates/updates a configmap in ` kube-system ` namespace that
144
- stores the current date as ` tracked- since` .
145
- - when a legacy token is used, issue a warning, update the label ` last-used `
143
+ - the controller creates/updates the configmap ` kube-apiserver-legacy-service-account-token-tracking ` in ` kube-system ` namespace that
144
+ stores the current date as ` since ` .
145
+ - when a legacy token is used, issue a warning, update the label ` kubernetes.io/legacy-token- last-used`
146
146
on the secret at date granularity, and record in a metric.
147
147
148
148
- When LegacyServiceAccountTokenTracking is disabled in any apiserver,
@@ -160,10 +160,10 @@ can be configured by cluster admins.
160
160
161
161
Determine the date that a given secret was last used:
162
162
163
- 1 . ` last-used ` if exists and after ` tracked- since` .
164
- 2 . defaults to ` tracked- since`
163
+ 1 . ` kubernetes.io/legacy-token- last-used` if exists and after ` since ` stored in the configmap ` kube-apiserver-legacy-service-account-token-tracking ` .
164
+ 2 . defaults to ` since `
165
165
166
- If ` tracked-since ` is unavailable, no secret would be removed.
166
+ If ` kube-apiserver-legacy-service-account-token-tracking ` is unavailable, no secret would be removed.
167
167
168
168
### Test Plan
169
169
@@ -227,10 +227,12 @@ legacy tokens for security practices.
227
227
228
228
#### Beta -> GA Graduation
229
229
230
- - [ ] In use by multiple distributions
231
- - [ ] Approved by PRR and scalability
232
- - [ ] Any known bugs fixed
233
- - [ ] Tests passing
230
+ - [x] In use by multiple distributions
231
+ - Google
232
+ - RedHat
233
+ - [x] Approved by PRR and scalability
234
+ - [x] Any known bugs fixed
235
+ - [x] Tests passing
234
236
235
237
#### Alpha -> Beta Graduation
236
238
@@ -242,7 +244,7 @@ legacy tokens for security practices.
242
244
243
245
| Alpha | Beta | GA |
244
246
| ----- | ---- | ---- |
245
- | 1.27 | 1.28 | 1.29 |
247
+ | 1.28 | 1.29 | 1.30 |
246
248
247
249
#### Beta -> GA Graduation
248
250
@@ -296,7 +298,7 @@ yes for all feature gates.
296
298
before the reenablement, Token Controller would create tokens for
297
299
serviceaccounts while the feature was off.
298
300
- LegacyServiceAccountTokenTracking: during this sequence of operations,
299
- only the label ` last-used ` is persisted, but there is no impact on the
301
+ only the label ` kubernetes.io/legacy-token- last-used` is persisted, but there is no impact on the
300
302
functionality of this feature.
301
303
- LegacyServiceAccountTokenCleanUp: the same as enable the feature.
302
304
@@ -351,7 +353,7 @@ checking if there are objects with field X set) may be a last resort. Avoid
351
353
logs or events for this purpose.
352
354
-->
353
355
354
- check if there is a configmap ` tracked-since ` in namespace ` kube-system ` .
356
+ check if there is a configmap ` kube-apiserver-legacy-service-account-token-tracking ` in namespace ` kube-system ` .
355
357
356
358
###### What are the SLIs (Service Level Indicators) an operator can use to determine the health of the service?
357
359
@@ -435,13 +437,13 @@ details). For now, we leave it here.
435
437
436
438
###### How does this feature react if the API server and/or etcd is unavailable?
437
439
438
- - ` tracked-since ` configmap cannout be created.
440
+ - ` kube-apiserver-legacy-service-account-token-tracking ` configmap cannout be created.
439
441
- unable to remove unused auto-generated secrets.
440
442
441
443
###### What are other known failure modes?
442
444
443
- - failure to create ` tracked-since ` config map
444
- - Detection: check if ` tracked-since ` exists in ` kube-system `
445
+ - failure to create ` kube-apiserver-legacy-service-account-token-tracking ` config map
446
+ - Detection: check if ` kube-apiserver-legacy-service-account-token-tracking ` exists in ` kube-system `
445
447
- Mitigations: there is no impact on existing systems.
446
448
- Diagnostics: check kube-apiserver log.
447
449
- Testing: TBD.
0 commit comments