2. Kubecost 核心概念:成本分配、监控、告警与优化概览
在深入准入策略之前,必须先理解 Kubecost 的四大核心能力。它们构成了从“成本可见”到“成本可控”的完整闭环,也是后续所有策略配置的数据基础与决策依据。
2.1 成本分配(Cost Allocation)—— 成本归属的基石
成本分配解决的是“钱花在了哪里”的问题。Kubecost 通过标签(Labels)与注解(Annotations)将云账单中的原始成本数据,逐层分摊到 Kubernetes 资源层级:命名空间 → 控制器(Deployment/StatefulSet) → Pod → 容器。
| 分摊层级 | 分摊依据 | 典型用途 |
|---|---|---|
| 命名空间 | 命名空间标签 + 聚合规则 | 按团队/项目/环境划分预算 |
| 控制器 | ownerReference + 标签继承 | 定位高成本微服务 |
| Pod | 资源请求(Requests)与用量(Usage) | 识别资源浪费的 Pod 实例 |
| 容器 | 容器级资源限制(Limits) | 分析 Sidecar 或业务容器的成本占比 |
关键指标: Kubecost 默认使用 Requests 作为 CPU/内存的计价基准,而非 Limits。这意味着未设置 Requests 的 Pod 会被视为零成本,容易造成成本盲区。建议所有工作负载都显式设置合理的 Requests。
2.2 监控(Monitoring)—— 实时成本与效率仪表盘
Kubecost 的监控层提供三个核心视图,帮助团队持续观测成本水位与资源效率。
- 集群概览(Cluster Overview): 展示集群总成本、按命名空间/标签/服务的成本分布、以及云服务商(AWS/GCP/Azure)的原始账单对比。
- 资源效率(Resource Efficiency): 计算每个工作负载的 请求/用量比率。比率低于 50% 表示过度申请,高于 90% 表示资源紧张。
- 资产视图(Asset View): 按节点、PV、GPU 等基础设施资产维度展示成本,便于识别闲置资源。
2.3 告警(Alerting)—— 成本异常与预算违规通知
告警是成本治理的“哨兵”。Kubecost 支持基于 Prometheus 规则的自定义告警,覆盖以下典型场景:
- 预算阈值告警: 当命名空间或标签组的月度成本超过预算的 80%、100%、120% 时触发。
- 成本异常检测: 基于历史数据(7 天/30 天滑动窗口)自动识别成本突增(如某服务成本日环比上涨超过 50%)。
- 资源效率告警: 当工作负载的 CPU/内存请求与用量比率低于 30% 或高于 95% 时发出警告。
注意: 告警规则需要与准入策略联动。例如,当告警检测到某命名空间成本异常飙升时,可以自动触发准入策略,拒绝该命名空间后续的高风险变更(如申请超大资源规格),直到问题被确认或修复。
2.4 优化(Optimization)—— 持续降本建议
Kubecost 的优化引擎基于历史用量数据,为每个工作负载生成具体的资源调整建议。这些建议是准入策略中“水位高风险”判断的核心数据源。
| 优化类型 | 建议内容 | 准入策略关联 |
|---|---|---|
| 资源请求调整 | 推荐更合理的 CPU/内存 Requests 和 Limits | 检查新变更的 Requests 是否偏离建议值超过 20% |
| 副本数调整 | 基于负载模式建议 HPA 最小/最大副本数 | 拒绝副本数超出建议范围 2 倍以上的变更 |
| 节点池/实例类型 | 推荐更经济的实例类型或 Spot 实例比例 | 检查新工作负载是否使用了非推荐的实例类型 |
| 闲置资源回收 | 识别长期低负载的 Pod 或未绑定的 PV | 阻止创建新的低效资源(如无标签的 Pod) |
2.5 四大能力的关系闭环
成本分配、监控、告警与优化并非孤立模块,它们构成了一个持续迭代的治理循环:
- 成本分配 提供精细化的成本归属数据。
- 监控 实时展示成本与效率指标。
- 告警 在指标异常时主动通知。
- 优化 基于历史数据生成改进建议。
- 准入策略 将优化建议转化为变更时的硬性检查规则,形成“监控 → 告警 → 优化 → 准入”的自动化治理闭环。
课程关联: 本章后续的准入策略配置,将直接引用 Kubecost 优化引擎生成的“推荐资源规格”作为基线,并结合告警规则中的预算阈值,共同判定一次变更是否属于“水位高风险”。理解这四大核心概念,是掌握准入策略逻辑的前提。