Kubernetes 是监控一个强大的平台,用于管理云中的云成动态容器化应用,但可能很难理解成本发生在哪里。使用管理 Kubernetes 资源的开源成本效率可能是一个挑战。这就是工具 OpenCost 的用武之地。OpenCost 是监控一种云成本监控工具,与 Kubernetes 无缝集成,云成让你可以实时跟踪云支出,使用以便相应地优化资源。开源
OpenCost 是工具一个开源 CNCF 沙盒项目 和 规范,用于实时监控与 Kubernetes 部署相关的监控云成本。该规范按服务、云成部署、命名空间、标签等对当前和历史 Kubernetes 云支出和资源分配进行建模。这些数据对于理解和优化 Kubernetes 从应用到基础设施的成本和性能至关重要。
开始使用 OpenCost 是一个相对简单的过程。OpenCost 使用 Prometheus 进行监控和指标存储。你可以从 Prometheus 社区的 Kubernetes Helm Chart 安装它。
首先使用以下命令安装 Prometheus:
$ helm install my-prometheus --repo https://prometheus-community.github.io/helm-charts prometheus \ --namespace prometheus --create-namespace \ --set pushgateway.enabled=false --set alertmanager.enabled=false -f \https://raw.githubusercontent.com/opencost/opencost/develop/kubernetes/prometheus/extraScrapeConfigs.yaml
接下来,使用 kubectl
命令安装 OpenCost:
$ kubectl apply --namespace opencost -f \https://raw.githubusercontent.com/opencost/opencost/develop/kubernetes/opencost.yaml
此命令将 OpenCost 部署到你的集群并开始收集数据。这就是大多数安装所需的全部内容。你可以使用你自己的 Prometheus 安装或使用 OpenCost Helm Chart 自定义部署。
OpenCost 会自动检测它是否在 AWS、Azure 还是 GCP 上运行,你可以将其配置为为本地 Kubernetes 部署提供定价。首先转发 API 和 UI 访问的端口:
$ kubectl port-forward --namespace opencost service/opencost 9003 9090
大约五分钟内,你可以验证 UI 和服务器是否正在运行,并且你可以通过 http://localhost:9090
你已准备好开始使用部署到 Kubernetes 集群的 OpenCost 来监控云成本。OpenCost 仪表板提供对云支出的实时可见性,使你能够识别成本异常并优化云资源。你可以按节点、命名空间、pod、标签等查看云支出。
OpenCost monitoring console
kubectl cost 插件提供了对 Kubernetes 成本分配指标的简单 CLI 查询。它允许开发人员、运营商和其他人快速确定任何 Kubernetes 工作负载的成本和效率。
$ kubectl cost --service-port 9003 \--service-name opencost --kubecost-namespace opencost \--allocation-path /allocation/compute pod \--window 5m --show-efficiency=true+-------+---------+-------------+----------+---------------+|CLUSTER|NAMESPACE|POD |MONTH RATE|COST EFFICIENCY|+-------+---------+-------------+----------+---------------+|cl-one |kube-syst|coredns-db...| 1.486732 | 0.033660 || | |coredns-...dm| 1.486732 | 0.032272 || | |kube-prox...7| 1.359577 | 0.002200 || | |kube-prox...x| 1.359577 | 0.002470 || |opencost |opencost...5t| 0.459713 | 0.187180 || |kube-syst|aws-node-cbwl| 0.342340 | 0.134960 || | |aws-node-gbfh| 0.342340 | 0.133760 || |prometheu|my-prome...pv| 0.000000 | 0.000000 || | |my-prome...hn| 0.000000 | 0.000000 || | |my-prome...89| 0.000000 | 0.000000 |+-------+---------+-------------+----------+---------------+| SUMMED| | | 6.837011 | |+-------+---------+-------------+----------+---------------+
你还可以集成 API,以编程方式将数据提取到你选择的平台中。
现在你已经掌握了云成本,是时候优化你的 Kubernetes 环境了。优化是一个迭代过程。从栈的顶部(容器)开始并遍历每一层。每一步的效率都会复合。有很多方法可以优化 Kubernetes 以提高成本效率,例如:
监控 Kubernetes 环境中的成本可能具有挑战性,但使用 OpenCost 则不必如此。要开始使用 OpenCost 并控制你的云支出,请访问 OpenCost 网站,在 GitHub 中获取代码,查看 OpenCost 文档,并参与 CNCF Slack 中的 #opencost 频道。
责任编辑:庞桂玉 来源: Linux中国 Kubernetes开源工具(责任编辑:综合)
世界在建最宽独塔混合梁斜拉桥主塔基础工程完工 大桥全长1010米
中国能建一季度新能源和综合智慧能源业务增长迅速 态势全面向好
国家统计局:10月份货物进出口总额33357亿元 出口19408亿元
中国医疗集团(08225.HK)发布公告:预计年度税后纯利大幅增加不少于100%
柏堡龙(002776.SZ)公布消息:涉嫌信披违法违规 遭证监会立案调查