1. 课程导论:服务目录平台概念、运行基线核验的重要性、Kyverno 策略引擎简介

1.1 服务目录平台:云原生时代的服务“黄页”

在微服务架构与云原生生态中,一个组织通常会运行成百上千个微服务。服务目录平台(Service Catalog Platform)应运而生,它充当了所有服务的“注册中心”与“元数据仓库”,提供服务的发现、治理、依赖关系可视化以及生命周期管理能力。

一个成熟的服务目录平台通常包含以下核心能力:

能力维度 说明 典型实现
服务注册与发现 服务启动时自动注册,消费者通过目录查找目标服务端点 Kubernetes Service / CoreDNS
元数据管理 维护服务名称、版本、Owner、SLA、标签、依赖关系 自定义 CRD + 标签注解
健康与合规状态 展示服务运行状态、策略合规评分、安全基线达标情况 Prometheus + Kyverno 报告
访问控制与审批 控制谁可以注册、修改、下线服务 RBAC + OPA/Gatekeeper
拓扑与依赖可视化 自动生成服务调用关系图,辅助故障定位 Kiali / 自研图谱
关键认知: 服务目录平台不仅仅是“服务列表”,它是运维治理、安全合规、成本优化在云原生环境中的统一数据底座。没有目录,基线核验就失去了可观测的载体。

1.2 运行基线核验:为什么是“必须做”的事?

运行基线(Runtime Baseline)是指一个服务在生产环境中安全、稳定运行所必须满足的一组最低配置与行为约束。基线核验(Baseline Verification)就是持续检查服务是否偏离了这些约束。

基线核验的重要性体现在三个层面:

  1. 安全层面: 防止容器以 root 运行、禁止特权提升、强制只读根文件系统、限制网络策略。
  2. 稳定性层面: 确保资源请求/限制合理、存活探针配置正确、反亲和性规则生效。
  3. 合规层面: 满足内部审计要求(如标签必须包含 Owner 和 CostCenter)、外部监管要求(如 PCI-DSS、SOC2)。

行业数据: 根据 CNCF 2024 年调查,超过 60% 的生产环境安全事件源于基线配置漂移。手动核验已无法应对每天数百次的部署变更。

基线核验的典型流程如下:

  • 定义基线: 将安全与运维规范转化为可执行的策略规则。
  • 持续校验: 在服务部署、更新、运行阶段自动触发检查。
  • 告警与阻断: 对不合规服务发出告警,或直接拒绝变更(强制模式)。
  • 审计与报告: 生成合规报告,供安全团队和审计方查阅。
服务目录平台与运行基线核验关系架构 服务目录平台 服务注册与发现 元数据管理 健康与合规状态 访问控制与审批 拓扑与依赖可视化 运行基线核验引擎 策略定义 持续校验 告警与阻断 审计与报告 Kubernetes 集群 Pod / Deployment Service / Ingress ConfigMap / Secret NetworkPolicy RBAC / ServiceAccount 服务目录平台提供元数据,基线核验引擎执行策略检查,Kubernetes 集群承载实际工作负载

1.3 Kyverno 策略引擎:Kubernetes 原生的策略执行者

Kyverno 是一个为 Kubernetes 设计的策略引擎,由 Nirmata 开源,目前是 CNCF 毕业项目。与 OPA/Gatekeeper 不同,Kyverno 使用 Kubernetes 自定义资源(CRD)来定义策略,无需学习专用的策略语言(如 Rego)。

Kyverno 的核心特性包括:

特性 描述 优势
Kubernetes 原生 策略使用 YAML 定义,与 Kubernetes 资源模型一致 学习成本低,运维人员可直接上手
多种策略类型 支持 Validate(校验)、Mutate(变更)、Generate(生成) 覆盖准入控制、配置注入、资源自动创建
集群与资源范围 可作用于整个集群、特定命名空间或特定资源类型 粒度灵活,适配不同管控场景
策略报告 自动生成 PolicyReport 和 ClusterPolicyReport 审计友好,可直接对接服务目录平台
无需 Sidecar 以 Admission Webhook 和后台扫描方式运行 对业务 Pod 无侵入
注意: 虽然 Kyverno 策略用 YAML 编写,但复杂逻辑(如跨资源校验、正则匹配)仍需一定的学习曲线。本课程后续章节会逐步拆解常见模式。
Kyverno 策略引擎工作流程 用户 / CI 系统 提交 Deployment / Pod Kubernetes API Server Admission Review Kyverno Webhook 策略匹配与执行 允许/拒绝 ClusterPolicy / Policy YAML 定义的策略规则 PolicyReport 合规结果与审计日志 服务目录 消费报告 Kyverno 以 Admission Webhook 方式拦截资源请求,匹配策略后返回允许/拒绝,并生成合规报告

1.4 三者协同:从策略到基线再到目录

本课程的核心逻辑是:Kyverno 策略引擎 作为执行层,将安全与运维规范转化为可编程策略;运行基线核验 作为检查层,持续验证服务是否符合策略;服务目录平台 作为展示与治理层,聚合所有服务的合规状态,提供全局视图。