关于kubernetes:Kubecost-Kubernetes-开支监控和管理

48次阅读

共计 3228 个字符,预计需要花费 9 分钟才能阅读完成。

👉️URL: https://www.kubecost.com/

📝Description:

Kubeccost 为应用 Kubernetes 的团队提供实时老本可视化和洞察,帮忙您继续升高云老本。

昨天浏览 Kubectl 插件的时候发现了 Kubecost,一看惊为天人啊,这个性能对于经营团队和 PM 团队领导来说太重要了。间接把监控数据换算成钱,而且明确通知你钱花在哪个 namespace、哪个利用、哪个标签、哪个 deployment 下,明确通知你那些钱花得值、哪些钱节约了,有哪些方法能够缩小节约… 真的都是实打实的「降本」性能。

上面具体介绍一下。

亮点:监控和升高云老本

Kubeccost 为应用 Kubernetes 的团队提供实时老本可视化和洞察,帮忙您继续升高云老本。

产品性能

💰️ 老本摊派

按 Kubernetes 概念划分老本,包含部署(Deployment)、服务(Service)、命名空间(Namespace)、标签(Label)等等。开销视图能够逾越单个视图中的多个集群或通过单个 API 端点。

📺 对立老本监控

将 Kubernetes 的老本与任何内部云服务或基础设施的收入联合起来,就能够取得一个残缺的图景。能够摊派内部老本,而后归因于任何 Kubernetes 概念,以实现综合收入。

⚖️ 老本优化计划

不就义绩效 的前提下承受 动静 的倡议。优先思考要害基础设施或应用程序更改,以进步资源效率和可靠性。

🔔 开销警报和治理

alerts: # Kubecost 产生对于群集数据的警报
    # 在命名空间 `kubecost` 的每日估算警报
  - type: budget # 反对: 估算, recurringUpdate, 等.
    threshold: 50 # 估算警报所需
    window: daily # 或 1d
    aggregation: namespace
    filter: kubecost

在老本超支和基础设施中断危险成为实时告诉问题之前,迅速捕获它们。通过集成像 PagerDuty 和 Slack 这样的工具来保留工程工作流。

而且能够运行在以下环境:

  • Azure
  • AWS
  • Google Cloud
  • 内网环境
  • Kubernetes
  • 本地部署

装置

能够应用 Helm Chart 进行装置。

![[K8S 实用工具之四 – kubectl 实用插件 #cost https github com kubecost kubectl-cost]]

装置见这里:《K8S 实用工具之四 – kubectl 实用插件:cost》

部署实现后,拜访 kubecost-cost-analyzer 的 9090 端口即可查看 UI,Ingress 形式或者 port-forward 都能够。

kubectl port-forward --namespace kubecost deployment/kubecost-cost-analyzer 9090

降级

helm repo update && helm upgrade kubecost kubecost/cost-analyzer -n kubecost

卸载

也是 Helm:

helm uninstall kubecost -n kubecost

🤑 实际效果展现

以我的集群为例,这展现的不是 UI,这展现的是白花花银子、绿油油的美元 💵 啊!

Kubecost 有以下几大菜单项,各个都是省钱能手。

  1. 🏠️ Overview(总览)
  2. 📊 Cost Allocation(老本摊派)
  3. 🧰 资产
  4. 💲 节流
  5. 🛑 衰弱状态
  6. 📃 报告
  7. 🔔 开销警报

总览

通过 port-forward 形式,拜访 http://localhost:9090,首先的页面平平无奇:

Kubecost 第一屏:Cluster 集群 #1, 5 个节点,每月开销 138.39 美元。

点进去后,真正的大杀器来了:

  • 左上角:辨认到 5 条省钱小妙招,每月能够帮我节俭 $93.64。🤑
  • 右上角:每月开销 $138.39,老本效益 2.7%,97.3% 都让云厂商白嫖啦 😱
  • 左下角:每月集群开销,基于资源价格的每月运行费率费用走势图,这里还能够拆分到:

    • 计算:

    • 内存

    • 存储

    • 此外!点击右侧「CLUSTER METRICS」还能够间接跳转到咱们相熟的 Grafana 仪表板,查看监控指标和 💵 的具体分割。(下一篇再补充)
  • 右下角:资源节约率(🙊资源利用率),基于以后已购的资源和过来 7 天的用量

    • 计算:每月空跑 $105.10 😱
    • 内存:每月空跑 $20.51 😱
    • 存储:每月空跑 $9.10 😱
    • 刨去空跑,我的利用次要的耗费在内存的 $1.34,另外存储方面 System 用了 $1.53

Overview 持续下拉,还是震惊:

  • 左上角:基于 Controller 维度的老本摊派,依据过来 2 天的资源耗费,算出 Controller 的每月摊派老本,比方我的:

    • kubecost/deployment:kubecost-cost-analyzer 老本占比 $8.37 (17.1%)
    • monitoring/statefulset:prometheus-prometheus-operator-prometheus 老本占比 $5.83(11.9%)
    • monitoring/statefulset:alertmanager-prometheus-operator-alertmanager: 老本占比 $2.81(5.7%)
  • 右上角:基于 Service 维度的老本摊派,依据过来 2 天的资源耗费,算出 Service 的每月摊派老本,比方我的:

    • kubecost/kubecost-cost-analyzer 老本占比 $8.37 (17.1%)
  • 左下角:基于 NameSpace 维度的老本摊派,以及老本效益评分(1-100 分),比方我的:

    • kubecost:每月开销 $10.74,效益 22 分,不及格!😱
    • monitoring:每月开销 $9.63,效益 42 分,不及格!😱
    • crossplane-system:每月开销 $5.70,效益 5 分,战五渣!😱
    • kube-system:每月开销 $2.71, 效益 17 分,不及格!😱
    • loki-stack:每月开销 $0.66,满分!(Loki YYDS?)💯
  • 右下角:基础架构衰弱度,94 分(集群运行状况评级是对基础设施可靠性和性能危险的评估,分数范畴从 1 -100),属于花钱保平安了这是。😂

ℹ️ 提醒

老本效益定义为 CPU 和 RAM 的(使用量 / request)。如果应用了资源,但没有 request 资源,那么效率被认为是有限的。

老本摊派

进入第二个菜单,老本摊派,成果如下:

细粒度到:CPU、GPU、RAM、PV、Network、LB、Shared。

另外,老本效益能够依据十分多的维度去进行剖析,我想应该能够满足领导的需要:

资产

ℹ️ 提醒

资产和私有云的信息对接后,能够取得更丰盛的信息,如:云账号、供应商类型等。

目前版本能够对接:AWS 和 GCP,然而是付费性能。

下图为资产信息:

也能够从多个维度拆分:

悬停到信息按钮,会通知你计费单位:(计费单价可调整的)。如下图:

  • 每小时 Node 开销为:$0.03733。

节流

如下图,能够评估每月大略能省多少钱,节俭的比例。以及具体的节流措施:

  • 治理低利用率节点
  • 本地磁盘利用率低
  • Pod 配置的 Request 太多
  • 辨认到潜在的不必的 wordload

衰弱状态

这个性能比拟个别,就是相似 K9S 的 popeye。成果如下图:

  • 有 Pod pending
  • Worker node 没有扩散在多个可用区(这个提醒不错👍️)
  • 集群没有 master 正本

点进去还会有具体的指南,如下图:

报告

报告就是基于 老本 和 资产两个维度,依据下面的仪表来定制定期的报告。

老本警报

老本警报就是告警,次要的区别是基于💵的维度:

  • 重复呈现类
  • 老本效益类
  • 估算类
  • 开销变动类(如上文产品性能中的告警就是开销忽然回升了 50%)
  • 衰弱类
  • 诊断类

设置

定制化还挺全面的,说一些我认为实用的配置吧:

  1. 配置 Label,比方:租户对应的 Label 是 Tenant,部门对应的 Label 是 Apartment,产品对应的 Label 是 app…
  2. 价格类设置,能够设置:

    1. 折扣
    2. 共享开销比例、对应的 NS、Label 等
    3. 单价
    4. 货币

总结

残缺看下来,如果让经营团队和 PM 团队领导看到,肯定会爱不释手的。🤑🤑🤑

正文完
 0