Pod Security

Pod Security Standards

Kubernetes Pod Security Standards define three policies:

  • Privileged: Unrestricted policy

  • Baseline: Minimally restrictive policy

  • Restricted: Highly restrictive policy for security-critical applications

Pod Security Admission Controller

apiVersion: v1
kind: Namespace
metadata:
  name: secure-namespace
  labels:
    pod-security.kubernetes.io/enforce: restricted
    pod-security.kubernetes.io/warn: restricted
    pod-security.kubernetes.io/audit: restricted

Modern Security Context Examples

  1. Restricted Policy Compliant Pod:

  1. RuntimeClass Integration:

OPA/Gatekeeper Policy Examples

  1. Require Non-Root Users:

  1. Enforce Security Context:

Network Policy Examples

Modern zero-trust network policy:

Best Practices for 2024+

  1. Pod Security Standards Adoption

    • Enable Pod Security Admission controller

    • Use "restricted" policy by default

    • Implement exceptions only when necessary

  2. Runtime Security

    • Use gVisor or kata-containers for isolation

    • Enable SeccompProfile

    • Implement Falco for runtime monitoring

  3. Supply Chain Security

    • Sign container images

    • Use cosign for verification

    • Implement admission controllers

  4. Zero Trust Implementation

    • Default deny network policies

    • Explicit allow rules only

    • Regular audit logging

  5. Resource Constraints

    • Set CPU/Memory limits

    • Configure OOM score

    • Use resource quotas

Last updated