Pod Security Standards define three profiles that get progressively stricter.
Pod Security Admission reads labels on the namespace to decide what to allow.
You can observe violations without blocking any deploys.
This spec runs as root and keeps all capabilities, so restricted rejects it.
Add the fields restricted requires and the same pod is admitted.
Inspect the labels to confirm the active posture.
Server-side dry run tells you if a pod would be admitted, without creating it.
Some agents legitimately need more than restricted allows.
The same fields work on a Deployment through the pod template.
PSA cannot express custom rules, so add a validating policy for those.
Stack versions: This page was written for Kubernetes 1.36.2, Docker Engine 29.6.1 (BuildKit default), containerd (CRI runtime on nodes), Helm 3, Compose v2, Argo CD (latest - verify at build), and Gateway API (GA - verify controller support at build).