Exemptions — exclude specific resources from policy enforcement.
1# Namespace with exemptions2apiVersion: v13kind: Namespace4metadata:5 name: kube-system6 labels:7 pod-security.kubernetes.io/enforce: privileged8 pod-security.kubernetes.io/enforce-version: latest9 pod-security.kubernetes.io/warn: restricted10 pod-security.kubernetes.io/warn-version: latest11---12# Pod with exemption annotation13apiVersion: v114kind: Pod15metadata:16 name: exempt-pod17 namespace: production18 annotations:19 pod-security.kubernetes.io/enforce: privileged20 pod-security.kubernetes.io/enforce-version: latest21spec:22 containers:23 - name: app24 image: nginx:latest25 securityContext:26 privileged: true # Would be rejected without exemption
1# Check namespace policy2kubectl get namespace kube-system -o yaml | grep pod-security34# Check Pod annotations5kubectl get pod exempt-pod -o jsonpath='{.metadata.annotations}' | jq67# Verify exemption8kubectl apply -f exempt-pod.yaml # Should succeed910# View exemption events11kubectl get events --field-selector involvedObject.name=exempt-pod1213# Check system namespaces14kubectl get namespaces -o json | jq '.items[] | select(.metadata.labels["pod-security.kubernetes.io/enforce"] == "privileged") | .metadata.name'
Exemption Types:
Use cases: