Skip to content

Commit 26ff8ac

Browse files
committed
promote 4396 to beta
1 parent 334d04c commit 26ff8ac

File tree

2 files changed

+25
-8
lines changed

2 files changed

+25
-8
lines changed

keps/sig-node/4369-allow-special-characters-environment-variable/README.md

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,9 @@ checklist items _must_ be updated for the enhancement to be released.
5555

5656
Items marked with (R) are required *prior to targeting to a milestone / release*.
5757

58-
- [ ] (R) Enhancement issue in release milestone, which links to KEP dir in [kubernetes/enhancements] (not the initial KEP PR)
59-
- [ ] (R) KEP approvers have approved the KEP status as `implementable`
60-
- [ ] (R) Design details are appropriately documented
58+
- [x] (R) Enhancement issue in release milestone, which links to KEP dir in [kubernetes/enhancements] (not the initial KEP PR)
59+
- [x] (R) KEP approvers have approved the KEP status as `implementable`
60+
- [x] (R) Design details are appropriately documented
6161
- [ ] (R) Test plan is in place, giving consideration to SIG Architecture and SIG Testing input (including test refactors)
6262
- [ ] e2e Tests for all Beta API Operations (endpoints)
6363
- [ ] (R) Ensure GA e2e tests meet requirements for [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
@@ -211,7 +211,7 @@ No
211211

212212
###### Can the feature be disabled once it has been enabled (i.e. can we roll back the enablement)?
213213

214-
If close the feature gate, already running workloads will not be affected in any way,
214+
If disable the feature gate, already running workloads will not be affected in any way,
215215
but cannot create workloads that use special characters as environment variables.
216216

217217
###### What happens if we reenable the feature if it was previously rolled back?
@@ -226,7 +226,7 @@ Yes.
226226

227227
###### How can a rollout or rollback fail? Can it impact already running workloads?
228228

229-
When a feature gate is closed, already running workloads are not affected in any way, but update fields for workload will cause the workload to fail.
229+
When a feature gate is disabled, already running workloads are not affected in any way, but update fields for workload will cause the workload to fail.
230230

231231
###### What specific metrics should inform a rollback?
232232

@@ -242,7 +242,22 @@ No.
242242

243243
### Monitoring Requirements
244244

245-
- We will investigate in the beta version how to monitor kubelet/CRI implementations could fail on pods using this enhancement.
245+
###### How can an operator determine if the feature is in use by workloads?
246+
247+
Yes, operators can use the Kubenetes API to achieve this. They need to get all pods in the cluster and check if any pod has set a field other than `[-._a-zA-Z][-._a-zA-Z0-9]*` as an environment variable name. For example, we can find the namespaces and names of pods using this feature and their environment variable names using the following command:
248+
249+
```
250+
kubectl get pods --all-namespaces -o json | jq -r '.items[] | select(.spec.containers[].env[]?.name | test("^[a-zA-Z_][a-zA-Z0-9_]*$") | not) | [.metadata.namespace, .metadata.name, .spec.containers[].env[]?.name] | @tsv'
251+
```
252+
253+
###### What are the SLIs (Service Level Indicators) an operator can use to determine the health of the service?
254+
255+
- [x] Metrics
256+
- Metric name: run_podsandbox_errors_total
257+
- [Optional] Aggregation method:
258+
- Components exposing the metric: According to the test results in https://github.com/HirazawaUi/verfiy-container-env, the container runtime is very lenient with using special characters as environment variables, and almost no failures will occur. However, if unexpected boundary conditions occur, `run_podsandbox_errors_total` can still help us record some problems.
259+
- [ ] Other (treat as last resort)
260+
- Details:
246261

247262
### Dependencies
248263

@@ -294,6 +309,8 @@ No
294309

295310
\- 2023-12-21: Initial draft KEP
296311

312+
\- 2024-08-26: promote to beta
313+
297314
## Drawbacks
298315

299316
If the envvar name character set is extended, all the things currently consuming and using envvar names from the API will have an impact and may break or be unsafe.

keps/sig-node/4369-allow-special-characters-environment-variable/kep.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ see-also: []
1818
replaces: []
1919

2020
# The target maturity stage in the current dev cycle for this KEP.
21-
stage: alpha
21+
stage: beta
2222

2323
# The most recent milestone for which work toward delivery of this KEP has been
2424
# done. This can be the current (upcoming) milestone, if it is being actively
2525
# worked on.
26-
latest-milestone: "v1.30"
26+
latest-milestone: "v1.32"
2727

2828
# The milestone at which this feature was, or is targeted to be, at each stage.
2929
milestone:

0 commit comments

Comments
 (0)