news 2026/7/12 15:01:57

KubeCost 可观测最佳实践

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
KubeCost 可观测最佳实践

FinOps 背景需求

在典型的互联网公司的成本组成中,IT 成本占比并不低,技术成本与人力成本的比例差不多在 1:2 ~ 1:2.5 左右, 降低 IT 成本显然能带来立竿见影的效果。

近 10 年来云计算、云原生、容器、Kubernetes、DevOps 等技术的高速发展,使得 IT 成本的管理变得更加复杂,也给成本的管理带来了更多的挑战。目前大多数互联网公司,都基于 Kubernetes 实现资源的统一管控,实现统一的大池子,基于此的统一调度、分配、混合云等都是过去降本增效的重要手段。

但是,随着成本治理的深入,用户会发现资源治理团队的压力会越来越大。因为资源获取途径的简化,会导致资源使用方很容易的开出大量资源,导致资源成本快速上升或剧烈波动,并且这个过程在流程上缺乏管控。

在云原生时代,随着资源池化之后,成本默认归属到了技术中心部门,业务部门对成本没有感知,同时缺乏有效的手段针将成本拆分到业务线,即典型的大账问题 ,导致无法有效评估业务 ROI。

Kubecost 简介

为了解决“大帐问题”,分大帐为细账,Kubecost 成本计量工具应运而生。Kubecost 是一款专为 Kubernetes 环境设计的成本监控与优化工具,是开源工具 OpenCost 的商业化版本。通过提供详尽的资源使用情况报告,帮助用户深入了解其 Kubernetes 集群的运行成本。Kubecost 的核心价值在于它能够为用户提供一个直观且易于理解的界面,让用户能够轻松地追踪和管理云资源的成本。无论是对于初创企业还是大型组织,Kubecost 都能帮助它们实现更高效的资源利用和成本控制。

Kubecost 的设计理念是基于这样的认识:随着 Kubernetes 在现代云原生架构中的广泛应用,越来越多的企业开始面临如何有效管理和优化云成本的问题。Kubecost 通过集成多种云服务提供商的数据,为用户提供了一个统一的视图,使得成本管理变得更加简单直接。此外,Kubecost 还支持自定义成本分配规则,这意味着用户可以根据自身业务需求灵活调整成本计算方式,进一步提升成本管理的精准度。

核心功能

Kubecost 提供了一系列强大的功能,旨在帮助用户更好地理解和控制 Kubernetes 环境下的云成本。以下是 Kubecost 的几个关键特性:

  • 成本可视化:Kubecost 通过图表和仪表板的形式,为用户提供了一个清晰的成本概览。用户可以查看不同时间范围内的成本趋势,以及按命名空间、工作负载等维度细分的成本详情。
  • 成本预测:基于历史数据,Kubecost 可以预测未来的成本趋势,帮助用户提前规划预算并做出相应的成本优化决策。
  • 成本分配:Kubecost 支持自定义成本分配规则,允许用户根据实际业务场景调整成本分摊方式,确保成本计算更加符合实际情况。
  • 成本优化建议:Kubecost 不仅提供成本数据,还会根据用户的使用情况给出具体的优化建议,比如推荐更适合的工作负载配置或资源利用率改进方案。
  • 多云支持:Kubecost 支持多种云服务提供商,包括 AWS、Azure 和 Google Cloud 等,使得用户可以在不同的云环境中统一管理成本。

通过这些功能,Kubecost 成为了 Kubernetes 用户不可或缺的工具之一,帮助他们在享受云原生技术带来的便利的同时,也能够有效地控制和优化成本。

  • 产品详细介绍链接:https://docs.kubecost.com/
  • 开源项目地址:https://github.com/opencost/opencost/blob/develop/spec/opencost-specv01.md
  • FinOps资料:https://www.finops.org/introduction/what-is-finops/

观测云集成

观测云提供了集成 KubeCost 的能力,通过 ServiceMonitor 方式获取。

前置条件

  • 安装 K8S 环境
  • 安装 KubeCost
  • 安装 DataKit
  • 安装 Prometheus Operator

CRD 配置

KubeCost 已暴露了指标,只需要让 DataKit 能够发现指标并上报。

  • 新增kubecost-serverMonitor.yaml
apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: kubecost-metrics labels: app.kubernetes.io/name: cost-analyzer namespace: kubecost spec: selector: matchLabels: app.kubernetes.io/name: cost-analyzer endpoints: - interval: 30s path: /metrics port: tcp-model params: measurement: - kubecost-cost-analyzer
  • 执行
kubectl apply -f kubecost-serverMonitor.yaml

DataKit 配置

如已开启,请忽略。

  • 开启 DataKit Service Monitor 自动发现

添加env : ENV_INPUT_CONTAINER_ENABLE_AUTO_DISCOVERY_OF_PROMETHEUS_SERVICE_MONITORS

apiVersion: apps/v1 kind: DaemonSet metadata: labels: app: daemonset-datakit name: datakit namespace: datakit spec: ... template: ... spec: ... containers: - env: ... - name: ENV_INPUT_CONTAINER_ENABLE_AUTO_DISCOVERY_OF_PROMETHEUS_SERVICE_MONITORS value: "true" ...
  • 重启 DataKit

场景视图

登录观测云控制台,点击「场景」 -「新建仪表板」,输入 “KubeCost”, 选择 “KUBECOST”监控视图,点击 “确定” 即可添加视图。

关键指标

以下是 KubeCost 关键指标的描述信息。

Metric描述
container_cpu_allocationcontainer cpu 分配
container_gpu_allocationcontainer gpu 分配
container_memory_allocation_bytescontainer 内存分配
pv_hourly_costPersistentVolume 每小时成本
node_total_hourly_cost节点每小时总成本
node_cpu_hourly_cost节点 cpu 每小时成本
node_ram_hourly_cost节点 ram 每小时成本
node_gpu_hourly_cost节点 gpu 每小时成本

总结

观测云可以集成 KubeCost,获取 KubeCost 的指标并基于相关指标定制成本使用的相关视图,从而通过关注成本视图采取一些列的成本控制与优化策略,为企业的 FinOps 建设赋能。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/8 6:43:03

GPT-SoVITS技术亮点解析:为何它能实现高保真音色还原?

GPT-SoVITS技术亮点解析:为何它能实现高保真音色还原? 在AI语音逐渐渗透进日常生活的今天,我们早已不满足于“会说话”的机器。无论是智能助手、有声书朗读,还是短视频配音,用户期待的是听得清、辨得准、像真人的声音—…

作者头像 李华
网站建设 2026/7/8 6:44:04

超详细版Keil4安装教程(含驱动配置)

Keil4 安装与驱动配置全攻略:从零搭建嵌入式开发环境你有没有遇到过这种情况?刚下载好 Keil4,兴冲冲地打开准备写代码,结果编译报错、设备不识别、ST-Link连不上……折腾半天也没搞定。别急,这几乎是每个嵌入式新手都会…

作者头像 李华
网站建设 2026/7/9 0:20:18

GPT-SoVITS用户反馈精选:实际使用者的真实评价汇总

GPT-SoVITS用户反馈精选:实际使用者的真实评价汇总 在短视频创作、有声书生产乃至虚拟偶像运营日益火热的今天,一个共同的痛点浮现出来:如何快速获得既自然又个性化的语音内容?传统配音依赖专业录音,成本高、周期长&am…

作者头像 李华
网站建设 2026/7/8 7:36:13

18、软件开发中的测试与数据库访问

软件开发中的测试与数据库访问 1. 测试的重要性与代码覆盖 在软件开发过程中,测试是至关重要的一环。以 Drupal 框架为例,在版本 7 之前,测试并未得到足够重视,测试模块甚至需要对核心进行修改才能运行。但从 Drupal 7 开始,开发者将测试置于开发的核心位置,没有全面的…

作者头像 李华
网站建设 2026/7/8 6:57:56

19、Drupal数据库操作与模块部署全解析

Drupal数据库操作与模块部署全解析 1. 动态查询模型概述 动态查询模型具备静态查询模型的所有功能,并且具有跨数据库兼容性的额外优势。其自文档化的表达方式,使得代码更易于阅读和维护。许多适用于SELECT查询的方法,同样可用于其他类型的查询。 2. 动态插入查询 db_inse…

作者头像 李华
网站建设 2026/7/8 7:37:24

python小程序 寻人失踪人员信息发布与管理系统_pycharm django vue flask

目录已开发项目效果实现截图开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!已开发项目效果实现截图 同行可拿货,招校园代理 python小程序 寻人失踪人员信息发布与管理系统_pycharm djang…

作者头像 李华