私有云中多容器集群如何统计个项目成本?

多个k8s集群承载着公司多个项目,每个项目的子服务运行在各个集群当中,如何较好统计个项目的成本(带宽、cpu、内存、GPU、存储等)

参与10

2同行回答

lych370lych370联盟成员系统运维工程师个人
k8s的集群信息应该可以通过kubectl top pod -n 集群命名空间进行查询,每个集群肯定有单独的命名空间,这时候只需要把每个命名空间下的pod资源加起来应该就是每个集群实际使用的资源量,这里主要是cpu和内存...显示全部

k8s的集群信息应该可以通过kubectl top pod -n 集群命名空间进行查询,每个集群肯定有单独的命名空间,这时候只需要把每个命名空间下的pod资源加起来应该就是每个集群实际使用的资源量,这里主要是cpu和内存

收起
银行 · 2022-10-25
浏览750
waring_idwaring_id技术经理某公司
1、不大的项目可以通过群集的命名空间的方式统计资源并计算费用 2、大型的项目可以直接参照公有云k8s 群集计费的那套方式 ● 按产品或者业务线来划分名字空间,不允许跨名字空间互相访问。○ 如果存在多个产品或业务线共用的服务,可以在每个产品的名字空间分别部署一个副...显示全部

1、不大的项目可以通过群集的命名空间的方式统计资源并计算费用
2、大型的项目可以直接参照公有云k8s 群集计费的那套方式

● 按产品或者业务线来划分名字空间,不允许跨名字空间互相访问。
○ 如果存在多个产品或业务线共用的服务,可以在每个产品的名字空间分别部署一个副本,并把它们当成不同的服务来处理。
○ 这样名字空间就是成本划分的一个维度,还可以在名字空间上为每个产品设置资源上限与预警。
● 按产品或业务线来划分节点组,通过节点组的标签来进行成本划分
○ 这是第二个维度,但是节点组划分得太细,可能会导致资源利用不够充分。
○ 这个方案仅供参考,不一定好用
● 为 Kubernetes 服务设计与其他云资源一致的成本标签,添加到 Pod 的 label 中,通过 kubecost 等手段,基于 label 进行更细致的成本分析
○ 标签一致的好处是可以统一分析 Kubernetes 与其他云资源的成本
● 定期(比如每周一) check 云成本变化,定位并解决成本异常
● 建立自动化的成本异常检测与告警机制(部分云服务有提供类似的服务,也可自建),收到告警即触发成本异常分析任务
● 始终将资源标签准确率维持在较高数值,准确率低于一定数值即自动告警,触发标签修正任务
● 将成本上升的压力与成本下降的效益覆盖到开发人员,授权他们跟踪服务的 Kubernetes 利用率与成本,以激励开发人员与 SRE 合作管控服务成本。

收起
零售/批发 · 2023-08-21
浏览347

ChatGPT 回答

针对多个k8s集群承载公司多个项目,每个项目的子服务运行在各个集群中,如何较好统计个项目的成本,可以考虑以下方案:

  1. 使用云服务商提供的成本计算工具,如AWS的Cost Explorer、Azure的Cost Management、Google Cloud的Cost Management等,可以通过这些工具来查看每个集群的成本,并按照项目进行分类,以便更好地进行成本分析。
  2. 使用容器管理平台提供的监控工具,如Prometheus、Grafana等,可以通过这些工具来监控每个集群的资源使用情况,并进行成本分析。例如,可以通过Prometheus监控CPU、内存、带宽等指标,然后使用Grafana进行可视化展示和分析。
  3. 使用第三方成本管理工具,如Kubecost、Lens等,这些工具可以帮助用户更好地管理Kubernetes集群的成本,包括资源使用情况、应用程序成本、服务成本等。
  4. 对于GPU和存储等资源,可以使用云服务商提供的专门的成本计算工具,如AWS的EC2 Instance Savings Plans、Azure的Reserved Instances等,这些工具可以帮助用户更好地管理GPU和存储等资源的成本。

总之,针对多个k8s集群承载公司多个项目,每个项目的子服务运行在各个集群中,可以通过云服务商提供的成本计算工具、容器管理平台提供的监控工具、第三方成本管理工具等方式来进行成本分析和管理。

提问者

sm1310
基础设施与运维负责人广州某人工智能公司
擅长领域: 云计算容器GPU

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2022-10-24
  • 关注会员:3 人
  • 问题浏览:1421
  • 最近回答:2023-08-21
  • X社区推广