Pod 安全准入控制器通过 enforce、audit、warn 模式强制执行安全策略,结合 privileged、baseline、restricted 三级标准,基于命名空间标签实现 Pod 创建时的安全控制,自 v1.23 起内置启用,简化集群安全治理。

Kubernetes 的 Pod 安全准入控制器(Pod Security Admission Controller)是一种内置的机制,用于在创建或更新 Pod 时强制执行安全策略。它的作用是确保 Pod 符合集群管理员定义的安全标准,防止用户部署存在安全隐患的工作负载。
Pod 安全准入控制器的工作原理
当用户提交 Pod 或 Pod 模板(如 Deployment、StatefulSet 中的模板)时,准入控制器会在对象持久化之前对其进行拦截和检查。如果 Pod 不符合预设的安全规则,请求将被拒绝。
该控制器基于配置的策略模式(如 enforce、audit、warn)决定如何处理不合规的 Pod:
- enforce:直接拒绝不符合策略的 Pod 创建
- audit:允许创建,但在审计日志中标记违规项
- warn:创建时向用户显示警告信息
支持的 Pod 安全标准
Pod 安全准入控制器通常与 Pod Security Standards 配合使用,这些标准分为几个级别:
- privileged:最宽松,允许所有特权操作(如 hostPath 挂载、特权容器等)
- baseline:限制明显危险的行为,适合大多数工作负载
- restricted:最严格,遵循最小权限原则,适用于高安全场景
这些级别通过命名空间上的标签来启用,例如:pod-security.kubernetes.io/enforce: baseline
如何启用和配置
从 Kubernetes v1.23 开始,旧的 PodSecurityPolicy 被弃用,推荐使用内置的 Pod 安全准入控制器。要启用它,需确保:
- API server 启用了
PodSecurity准入插件(默认已启用) - 为命名空间添加相应的安全级别标签
例如,为命名空间设置 baseline 策略:
kubectl label namespace my-ns pod-security.kubernetes.io/enforce=baseline基本上就这些。它让集群安全管理更简单、标准化,无需额外组件即可实现基础安全控制。










