1. 课程导论:Deployment 水位巡检的背景与目标
1.1 为什么需要 Deployment 水位巡检
在 Kubernetes 集群的日常运维中,Deployment 是最核心的工作负载抽象。然而,随着微服务数量膨胀,Deployment 的配置漂移、资源浪费、异常副本等问题逐渐成为运维盲区。传统巡检依赖人工登录集群执行 kubectl get deploy,存在以下痛点:
- 配置漂移:副本数、资源限制、更新策略被临时修改后未同步至 CMDB。
- 资源浪费:大量 Deployment 长期处于 0 副本或低负载状态,占用 etcd 和调度器资源。
- 异常副本:Pod 重启次数过高、CrashLoopBackOff 未被及时告警。
- 版本黑洞:镜像版本长期不更新,安全漏洞无法追溯。
核心目标:通过服务目录平台统一纳管所有 Deployment,建立可量化的水位指标,实现从“被动救火”到“主动巡检”的运维模式转变。
1.2 服务目录平台概述
服务目录平台(Service Catalog Platform)是企业内部微服务的“活字典”。它聚合了 CMDB、Kubernetes API、监控系统、发布系统等多源数据,为每个服务提供统一的元数据视图。在本课程中,服务目录平台承担以下角色:
| 角色 | 说明 |
|---|---|
| 数据底座 | 存储 Deployment 的期望状态(副本数、资源限制、镜像版本) |
| 巡检引擎 | 定时对比实际集群状态与目录中的期望状态,生成差异报告 |
| 可视化看板 | 以水位图、趋势图展示集群健康度,支持下钻到单个 Deployment |
| 工单联动 | 自动创建变更工单或告警事件,驱动修复流程 |
1.3 课程整体结构
本课程共 30 章,按“认知 → 设计 → 实现 → 运营”四阶段递进。下表展示了各阶段的核心内容:
| 阶段 | 章节范围 | 核心产出 |
|---|---|---|
| 认知 | 第 1-4 章 | 水位指标体系、服务目录数据模型 |
| 设计 | 第 5-12 章 | 巡检引擎架构、差异计算算法、告警分级策略 |
| 实现 | 第 13-24 章 | 核心代码实现、API 设计、前端看板、工单集成 |
| 运营 | 第 25-30 章 | 巡检报告模板、SLA 度量、持续优化案例 |
学习建议:如果你对 Kubernetes 和服务目录已有基础,可以直接从第 5 章“巡检引擎架构设计”开始;如果你是运维新手,建议按顺序学习,先建立水位指标认知。
1.4 水位巡检的核心指标
在进入具体实现前,先明确本课程定义的五大水位指标。这些指标将贯穿后续所有章节:
- 副本水位:实际副本数与期望副本数的偏差比例。
- 资源水位:CPU/Memory 的 request 与 limit 设置是否合理,是否存在超卖。
- 更新水位:镜像版本与目录中记录的基线版本是否一致。
- 健康水位:Pod 重启次数、就绪探针失败率、CrashLoop 状态。
- 废弃水位:长期 0 副本、无更新、无流量的 Deployment 数量。
注意:水位指标不是静态阈值,而是动态基线。本课程第 3 章会详细讲解如何通过历史数据自动计算合理阈值,避免误报。