3. 服务目录平台介绍

服务目录平台是连接基础设施能力与业务应用的中间层,它屏蔽了底层 Kubernetes 集群的复杂性,以“服务”为粒度提供标准化交付、观测与治理能力。在 Deployment 水位巡检场景中,平台负责聚合多集群水位数据、定义巡检规则、触发巡检任务并展示结果。

3.1 平台架构

平台采用分层解耦架构,从上到下分为四层:接入层、服务目录层、编排调度层和基础设施层。各层职责清晰,通过 API 与事件总线通信。

架构设计要点: 服务目录层是核心,它维护了服务与 Deployment 的映射关系;编排调度层负责将巡检任务转换为 Kubernetes Job 并下发到目标集群。
服务目录平台分层架构 接入层 Web 控制台 | 开放 API | CLI 工具 | 事件 Webhook 服务目录层 服务模型管理 | 版本与依赖 | 水位巡检规则 | 服务拓扑 编排调度层 任务编排 | 多集群调度 | 巡检 Job 管理 | 结果回写 基础设施层 Kubernetes 集群 | 节点与命名空间 | Deployment / StatefulSet 巡检任务由编排调度层下发至目标集群,结果经服务目录层聚合后展示

3.2 核心功能模块

平台围绕服务全生命周期管理,提供以下核心功能模块。其中与 Deployment 水位巡检直接相关的模块已用 粗体 标出。

功能模块 职责说明 巡检关联度
服务模型管理 定义服务元数据、Owner、SLA 等级、关联 Deployment 列表 高 — 确定巡检范围
水位巡检引擎 配置巡检规则(CPU/内存/副本数阈值)、定时触发、结果判定 核心 — 巡检执行主体
版本与发布管理 管理服务版本、镜像、配置变更记录 低 — 用于关联变更事件
多集群资源视图 聚合展示多集群 Deployment 实时水位、Pod 分布、事件流 高 — 巡检数据来源
服务拓扑与依赖 展示服务间调用关系、上下游依赖 中 — 辅助异常定位
告警与通知 基于巡检结果生成告警,通过钉钉/邮件/企微推送 高 — 巡检结果消费
巡检关联说明: 水位巡检引擎定期从多集群资源视图拉取 Deployment 的 request/limit/实际使用量,与服务模型中的水位阈值比对,超出阈值则触发告警。

3.3 与 Kubernetes 的集成方式

平台通过三种标准化方式与 Kubernetes 集群集成,覆盖数据采集、任务下发和状态同步三大场景。

3.3.1 集成方式对比

集成方式 通信协议 适用场景 安全机制
Kubernetes API Proxy HTTPS + RBAC 实时查询 Deployment/Pod 水位数据 绑定 ServiceAccount,最小权限原则
Agent 边车模式 gRPC 双向流 持续采集水位指标、事件流,支持离线缓存 mTLS 双向认证
Webhook 回调 HTTPS + 签名 接收集群事件(Pod 重启、OOM、节点故障) HMAC-SHA256 签名校验

3.3.2 集成流程示例

以水位巡检数据采集为例,平台通过 Kubernetes API Proxy 方式获取目标 Deployment 的实时状态:

# 平台内部封装后的调用示例
GET /api/v1/proxy/clusters/{clusterId}/namespaces/{ns}/deployments/{name}/status

# 返回数据片段(简化)
{
  "deployment": "order-service",
  "namespace": "prod",
  "replicas": 3,
  "readyReplicas": 3,
  "containers": [
    {
      "name": "order",
      "requests": {"cpu": "500m", "memory": "512Mi"},
      "limits":   {"cpu": "1000m", "memory": "1Gi"},
      "currentUsage": {"cpu": "320m", "memory": "380Mi"}
    }
  ]
}
集成注意事项: 平台不会直接暴露集群 Kubeconfig 给用户。所有 API 请求经过平台鉴权层,自动注入 RBAC ,避免凭证泄露风险。Agent 模式需在目标集群安装 DaemonSet,占用少量节点资源(约 50m CPU / 128Mi 内存)。
服务目录平台与 Kubernetes 集成数据流 服务目录平台 水位巡检引擎 多集群资源视图 告警与通知 API Proxy HTTPS + RBAC Agent 边车 gRPC + mTLS Webhook 回调 HTTPS + HMAC 签名 Kubernetes 集群 Deployment / Pod Metrics Server Event / Node 状态 Agent DaemonSet Webhook Receiver 数据流方向:平台通过 API Proxy 拉取水位数据,Agent 持续上报指标,Webhook 被动接收集群事件 三种方式可同时启用,互为补充,保障巡检数据完整性与实时性

3.4 水位巡检在平台中的定位

Deployment 水位巡检是服务目录平台中 可观测性 与 治理能力 的交汇点。平台通过服务模型确定“巡检谁”,通过多集群资源视图获取“当前水位”,通过巡检引擎判定“是否健康”,最终将结果写入服务实例的状态中,形成闭环。

关键设计原则: 巡检规则以服务为单位配置,而非以 Deployment 为单位。一个服务可能对应多个 Deployment(如金丝雀、蓝绿部署),平台自动聚合所有关联 Deployment 的水位数据,按服务维度输出巡检报告。