成本洞察功能可以协助企业IT成本管理人员从多维度了解集群资源使用量及成本分布,提供成本节约建议。本文介绍如何开启和关闭成本洞察功能。
前提条件
确保Kubernetes集群的版本为1.18.8及以上,否则请升级集群。具体操作,请参见手动升级集群。
已开启阿里云Prometheus。具体操作,请参见步骤一:开启阿里云Prometheus监控。
成本洞察费用说明
成本洞察会产生以账单、云资源价格等作为数据的自定义指标,上报至阿里云Prometheus中,因此会产生阿里云Prometheus自定义指标的额外费用。具体费用以阿里云Prometheus规格为准。关于阿里云Prometheus监控的详细计费说明,请参见计费概述。
成本洞察数据量与集群相关云资源每天账单数量、集群节点规模相关。您可以在ARMS Prometheus控制台查询集群成本洞察数据量。
参照下文开启成本洞察功能后,您可以登录ARMS控制台,在控制台左侧导航栏选择 ,在右侧页面左上角根据集群名称选择实例,页面下划,在页面底部24h Top 10 自定义指标上报量(Job)中查看alibaba-cloud-cost-exporter的上报量,即为ACK集群每天成本洞察数据量。
费用标签功能默认对ACK成本洞察的数据进行过滤,您需在费用与成本开启费用标签功能,并在费用标签功能中开启ack.aliyun.com
、ack.alibabacloud.com/nodepool-id
两个标签,避免ACK成本洞察功能无法获取账单、节点池分析数据。
开启成本洞察功能
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
授权AliyunCSManagedCostRole角色并安装ack-cost-exporter组件,开启成功洞察。
授予访问ACK集群账单数据的权限
如果您使用的是托管版集群,系统会自动授予相关权限。完成授权后,系统会创建AliyunCSManagedCostRole角色,阿里云Prometheus使用该角色访问您在费用与成本的账单数据并进行成本洞察。
您也单击云资源访问授权链接,在云资源访问授权页面,单击同意授权。
安装组件
按照页面指引,安装ack-cost-exporter组件。安装完成后,页面自动跳转至成本洞察页面。
关闭成本洞察功能
如无需使用成本洞察功能,您可以卸载ack-cost-exporter组件,关闭该功能。
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在组件管理页面找到ack-cost-exporter,在卡片单击卸载,然后在卸载组件对话框,单击确定。
常见问题
ack-cost-exporter组件安装或卸载失败后如何处理?
当安装ack-cost-exporter组件失败时,请先通过以下命令手动删除ack-cost-exporter组件,然后重新安装ack-cost-exporter组件。关于安装ack-cost-exporter组件的具体操作,请参见管理组件。
kubectl delete deployment ack-cost-exporter -n kube-system kubectl delete service alibaba-cloud-price-exporter -n kube-system kubectl delete service alibaba-cloud-billing-exporter -n kube-system kubectl delete service alibaba-cloud-cost-exporter -n kube-system kubectl delete ServiceMonitor alibaba-cloud-price-exporter -n kube-system kubectl delete ServiceMonitor alibaba-cloud-billing-exporter -n kube-system kubectl delete ServiceMonitor alibaba-cloud-cost-exporter -n kube-system kubectl delete ClusterRoleBinding ack-cost-exporter-cluster-role-binding kubectl delete ClusterRoleBinding ack-cost-exporter-cluster-role-binding-v1 kubectl delete ServiceAccount ack-cost-exporter -n kube-system kubectl delete ClusterRole ack-cost-exporter-cluster-role
当卸载ack-cost-exporter组件失败时,可以通过以下命令手动删除ack-cost-exporter组件。
kubectl delete deployment ack-cost-exporter -n kube-system kubectl delete service alibaba-cloud-price-exporter -n kube-system kubectl delete service alibaba-cloud-billing-exporter -n kube-system kubectl delete service alibaba-cloud-cost-exporter -n kube-system kubectl delete ServiceMonitor alibaba-cloud-price-exporter -n kube-system kubectl delete ServiceMonitor alibaba-cloud-billing-exporter -n kube-system kubectl delete ServiceMonitor alibaba-cloud-cost-exporter -n kube-system kubectl delete ClusterRoleBinding ack-cost-exporter-cluster-role-binding kubectl delete ClusterRoleBinding ack-cost-exporter-cluster-role-binding-v1 kubectl delete ServiceAccount ack-cost-exporter -n kube-system kubectl delete ClusterRole ack-cost-exporter-cluster-role