Skip to content

Commit da76cd0

Browse files
committed
Pod Security GA plan
1 parent c85afff commit da76cd0

File tree

2 files changed

+26
-17
lines changed

2 files changed

+26
-17
lines changed

keps/sig-auth/2579-psp-replacement/README.md

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -735,15 +735,25 @@ We are targeting Beta in v1.23.
735735

736736
#### GA
737737

738-
<<[UNRESOLVED]>>
738+
Targeting GA in v1.25.
739739

740-
We are targeting GA in v1.24 to allow for migration off PodSecurityPolicy before it is removed in
741-
v1.25.
740+
**Conformance:**
741+
- Enabling the admission controller with the "default-default" enforcing mode of privileged is
742+
essentially a no-op without adding namespace labels, so it doesn't have any impact on
743+
conformance.
744+
- E2E framework has been updated to explicitly label test namespaces with the appropriate
745+
enforcement level, using the `NamespacePodSecurityEnforceLevel` framework value. For GA,
746+
conformance tests should be updated to use the most restrictive level possible.
747+
- Pod Security Admission is *not* required for conformance.
742748

743-
- Examples of real world usage and positive user feedback.
744-
- [Conformance test plan](#conformance)
749+
**User Experience Improvements:**
750+
- [Warn when labeling exempt namespaces](https://github.com/kubernetes/kubernetes/issues/109549)
751+
- [Dedupe overlapping forbidden messages](https://github.com/kubernetes/kubernetes/issues/106129)
752+
- [Aggregate identical warnings for multiple pods in a namespace](https://github.com/kubernetes/kubernetes/issues/103213)
753+
- [Add context to failure messages](https://github.com/kubernetes/kubernetes/pull/105314)
745754

746-
<<[/UNRESOLVED]>>
755+
**API Changes:**
756+
- Add `pod-security.admission.config.k8s.io/v1` with no changes from the `v1beta1` API.
747757

748758
### Upgrade / Downgrade Strategy
749759

@@ -910,6 +920,8 @@ previous answers based on experience in the field._
910920
There will be a hard cap on the number of pods analyzed, and a timeout for the review of those pods
911921
that ensures evaluation does not exceed a percentage of the time allocated to the request.
912922
See [Namespace policy update warnings](#namespace-policy-update-warnings).
923+
- Timeout: minimum of 1 second or (remaining request deadline / 2)
924+
- Max pods to check: 3000 ([benchmarks](https://github.com/kubernetes/kubernetes/pull/104588) indicate that 3000 pods should evaluate in under 10ms)
913925

914926
* **Will enabling / using this feature result in introducing new API types?**
915927
- No.
@@ -1046,13 +1058,10 @@ templated pod resources. This could be useful in CI/CD pipelines and tests.
10461058

10471059
### Conformance
10481060

1049-
As this feature progresses towards GA, we should think more about how it interacts with conformance.
1050-
1051-
- Enabling the admission controller with the "default-default" enforcing mode of privileged is
1052-
essentially a no-op without adding namespace labels, so it shouldn't have any impact on
1053-
conformance.
1054-
- If we want a more restricted version to still be considered conformant, we might need to
1055-
explicitly label namespaces in the conformance tests with the privilege level the tests require.
1061+
Clusters requiring baseline or restricted Pod Security levels should still be able to pass
1062+
conformance. This might require
1063+
[Conformance Profiles](https://github.com/kubernetes/enhancements/tree/master/keps/sig-architecture/1618-conformance-profiles)
1064+
to be feasible.
10561065

10571066
## Implementation History
10581067

keps/sig-auth/2579-psp-replacement/kep.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,26 +29,26 @@ see-also:
2929
replaces: []
3030

3131
# The target maturity stage in the current dev cycle for this KEP.
32-
stage: beta
32+
stage: stable
3333

3434
# The most recent milestone for which work toward delivery of this KEP has been
3535
# done. This can be the current (upcoming) milestone, if it is being actively
3636
# worked on.
37-
latest-milestone: "v1.23"
37+
latest-milestone: "v1.25"
3838

3939
# The milestone at which this feature was, or is targeted to be, at each stage.
4040
milestone:
4141
alpha: "v1.22"
4242
beta: "v1.23"
43-
stable: TBD
43+
stable: "v1.25"
4444

4545
# The following PRR answers are required at alpha release
4646
# List the feature gate name and the components for which it must be enabled
4747
feature-gates:
4848
- name: PodSecurity
4949
components:
5050
- kube-apiserver (PodSecurity admission plugin)
51-
disable-supported: true
51+
disable-supported: false
5252

5353
# The following PRR answers are required at beta release
5454
metrics:

0 commit comments

Comments
 (0)