kubernetes: Add field-level warnings for deprecated / known bad values
- Determine approach and format for warnings:
- determine when to emit warnings: on creation, on update that would change generation / spec
- Use field.Path format
- for deprecated values, indicate replacement, deprecation and target removal release
- Add warnings for deprecated fields
- Pod templates
- beta os/arch/zone/region labels in node selectors / affinity - https://github.com/kubernetes/kubernetes/pull/101688
- alpha seccomp annotations (#94365) - https://github.com/kubernetes/kubernetes/pull/101688
- alpha sysctl annotations (https://github.com/kubernetes/kubernetes/pull/63717) - https://github.com/kubernetes/kubernetes/pull/101688
- PersistentVolumeSpec
- deprecated node labels in volume node affinity - https://github.com/kubernetes/kubernetes/pull/108554
- StorageClass
- deprecated node labels - https://github.com/kubernetes/kubernetes/pull/108554
- CSIStorageCapacity
- deprecated node labels - https://github.com/kubernetes/kubernetes/pull/108554
- RuntimeClass
- deprecated node labels - https://github.com/kubernetes/kubernetes/pull/108554
- Pod templates
- Add warnings for known bad values
- PVC, PV, PVC template in statefulset and inline ephemeral volume
- fractional byte storage requests (#94313)
- Pod templates
- fractional byte requests/limits - https://github.com/kubernetes/kubernetes/pull/101688
- duplicate hostAliases (#91670, #58477) - https://github.com/kubernetes/kubernetes/pull/101688
- duplicate imagePullSecrets (#91629, #58477) - https://github.com/kubernetes/kubernetes/pull/101688
- duplicate containers[*].env (this issue, #86163, #93266, #58477) - https://github.com/kubernetes/kubernetes/pull/101688
- duplicate volumes (#78266, #58477) - https://github.com/kubernetes/kubernetes/pull/101688
- duplicate containers[*].ports (#86273, #93952, #58477)
-
pods setting both linux and windows options? (if multi-OS images are not possible. xref https://github.com/kubernetes/kubernetes/pull/92355#discussion_r487214449) - imagePullSecrets or volume source entries with empty secret or configmap name (https://github.com/kubernetes/kubernetes/issues/99454#issuecomment-787838112)
- Service
- … issues linked from https://github.com/kubernetes/kubernetes/issues/64841#issuecomment-395141013
- PVC, PV, PVC template in statefulset and inline ephemeral volume
See:
- https://github.com/kubernetes/enhancements/issues/1693
- https://github.com/kubernetes/enhancements/tree/master/keps/sig-api-machinery/1693-warnings
- https://kubernetes.io/blog/2020/09/03/warnings/#future-possibilities
- https://github.com/kubernetes/kubernetes/issues/58477
/assign /sig api-machinery /milestone v1.20 See:
- https://github.com/kubernetes/enhancements/issues/1693
- https://github.com/kubernetes/enhancements/tree/master/keps/sig-api-machinery/1693-warnings
- https://kubernetes.io/blog/2020/09/03/warnings/#future-possibilities
- https://github.com/kubernetes/kubernetes/issues/58477
/assign /sig api-machinery /milestone v1.20 See:
- https://github.com/kubernetes/enhancements/issues/1693
- https://github.com/kubernetes/enhancements/tree/master/keps/sig-api-machinery/1693-warnings
- https://kubernetes.io/blog/2020/09/03/warnings/#future-possibilities
- https://github.com/kubernetes/kubernetes/issues/58477
/assign /sig api-machinery /milestone v1.20
About this issue
- Original URL
- State: open
- Created 4 years ago
- Reactions: 1
- Comments: 27 (23 by maintainers)
next set of tasks expected to be done in
1.21looks like 1.22
Thanks for confirming. Since it is possible to have multi-os image (multi-arch) I don’t think that we would be able to effectively warn for pods that set both linux and windows options. In azure we use a mutli-os/multi arch image for the pause container:
mcr.microsoft.com/oss/kubernetes/pause:1.4.0
which has a manifest for linux and windows: