用途:在 Kubernetes 中实现声明式策略强制执行,用 OPA Gatekeeper 或 Kyverno 作为准入控制器,按组织策略校验和变更资源。适用于统一标签与注解、资源限额等配置标准,阻止特权容器、宿主机命名空间、不安全镜像等安全错误配置,部署前满足合规要求,统一命名与元数据规范,通过变更策略自动修复,对现有资源做不阻断审计,以及把策略校验前移到 CI/CD。
主要能力:安装策略引擎(Helm 安装 Gatekeeper 或 Kyverno,多副本 HA,启用审计);定义 ConstraintTemplate/Constraint 或 ClusterPolicy/Policy;测试策略拒绝不合规资源、放行合规资源,支持 dry-run 和策略报告;配置变更策略自动添加默认标签、修改资源;启用审计模式,用 kubectl 查询違例与策略报告并暴露指标;集成 CI/CD 与 pre-commit 做部署前校验;配置命名空间排除。
使用方式:先安装引擎,例如 helm install gatekeeper gatekeeper/gatekeeper --namespace gatekeeper-system --create-namespace;Kyverno 用 helm install kyverno kyverno/kyverno --namespace kyverno --create-namespace。然后用 kubectl apply -f 应用模板与策略,用 kubectl get constraints、kubectl get clusterpolicies 查看状态,用 kubectl apply --dry-run=server 做服务端校验。
限制与注意:必须拥有集群管理员权限,并先选定策略引擎。未提供具体版本兼容信息、性能数据或收费信息。注意 webhook failurePolicy 设为 Fail 时引擎不可用会阻断全部资源;初始策略过严可能破坏现有工作负载,宜先审计后强制;策略需正确指定 API 组、版本与类型,变更先于校验执行,多策略修改同一字段会冲突;Rego 复杂策略调试困难;后台扫描大集群资源消耗高;策略 CRD 版本随引擎版本变化,需查阅对应版本文档。