1. Pod Security Standards(privileged/baseline/restricted)在准入控制中如何落地,存量集群如何迁移?
Pod Security Standards(privileged/baseline/restricted)如何在准入控制中落地?存量集群如何迁移?
- Pod Security Standards 三级定义
- 准入控制(Pod Security Admission / 策略引擎)落地
- 存量集群的迁移路径
Pod Security Standards(PSS)定义了三级安全标准:privileged(宽松,允许特权容器等)、baseline(基线,限制危险特性如 hostPID、特权容器、hostNetwork 等)、restricted(严格,强制非 root、只读根文件系统、禁用 capabilities 提升等)。落地方式:通过 Pod Security Admission(k8s 1.23+ 内置)或策略引擎(Kyverno/Gatekeeper)在准入控制阶段对 Pod 做校验,按 namespace 设置 enforcement 级别(enforce/audit/warn),使不符合级别的 Pod 被拒绝、记录或告警。存量集群迁移:先对存量 Pod 做评估(audit/warn 模式收集违规),分析哪些 namespace 的负载需要升级到更严格级别,通过灰度推进(先 warn 观察、再 enforce),对确实需要特权的基础设施负载(如 DaemonSet、node 组件)单独放行或使用 privileged 级别,逐步把命名空间收敛到 baseline/restricted,避免一次性 enforce 导致存量业务崩溃。
PSS 的价值在于用一个"官方标准"把 Pod 安全要求分级,让团队按"privileged → baseline → restricted"逐级收紧。落地的关键是"先审计后强制":存量集群不能直接 enforce 最严级别,要先用 warn/audit 模式评估影响,再分 namespace 灰度迁移,防止误伤存量负载。
# 为 namespace 设置 restricted 强制级别(拒绝不符合的 Pod)
kubectl label ns default pod-security.kubernetes.io/enforce=restricted
# 查看 namespace 的 PSS 状态
kubectl label ns default --list