在 Azure Policy 中引入基于 CEL 和 VAP 的 Kubernetes 原生策略验证
Azure Policy for Kubernetes 现已集成 Gatekeeper 和原生 Kubernetes 验证准入策略(VAP),采用通用表达式语言(CEL)。该集成利用 Kubernetes 1.30 的 VAP 功能,提供更高效、更可靠的进程内策略执行。它降低了准入决策的延迟,简化了约束模板的创建,并实现了更强的“失败关闭”行为。用户仍可保留 Azure Policy 的优势,如集中式分配、范围管理和安全发布控制。此前,Azure Policy 依赖通过准入 Webhook 进行的基于 OPA Rego 的评估。新方法采用 CEL,这是一种专为 Kubernetes 验证设计的轻量级语言,允许策略在 Kubernetes API 服务器内部运行。这种树内评估通过消除对外部服务的依赖来提升可靠性。Azure Policy 作为治理层,而 CEL 提供验证逻辑。要实施 CEL 策略,需创建 CEL 约束模板,并将其打包到 Azure Policy 定义中。示例展示了如何使用这种双层方法将部署副本数限制为五个:约束模板定义验证逻辑,Azure Policy 定义则为其封装治理功能。该策略分配至 AKS 集群,并通过 Azure Policy 控制台监控合规性。此功能需要 Kubernetes v1.30 或更高版本,以及 Azure Policy for Kubernetes 附加组件。