全部产品
Search
文档中心

容器服务 Kubernetes 版 ACK:启用成本洞察功能

更新时间:Sep 06, 2024

成本洞察功能可以协助企业IT成本管理人员从多维度了解集群资源使用量及成本分布,提供成本节约建议。本文介绍如何开启和关闭成本洞察功能。

前提条件

开启成本洞察功能

  1. 登录容器服务管理控制台,在左侧导航栏选择集群

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择成本套件 > 成本洞察

  3. 授权AliyunCSManagedCostRole角色并安装ack-cost-exporter组件,开启成功洞察。

    1. 授予访问ACK集群账单数据的权限

      • 如果您使用的是托管版集群,系统会自动授予相关权限。完成授权后,系统会创建AliyunCSManagedCostRole角色,阿里云Prometheus使用该角色访问您在费用与成本的账单数据并进行成本洞察。

        您也单击云资源访问授权链接,在云资源访问授权页面,单击同意授权

      • 如果您使用的是专有版集群,请展开按照以下步骤完成授权。

        1. 成本洞察页面,单击KubernetesWorkerRole-***

        2. 在RAM角色页面的权限管理页签,单击权限策略列下的k8sWorkerRole****

        3. 在权限策略详情页面的策略内容页签下,单击修改策略内容

        4. 在脚本编辑框中Statement字段中增加以下授权规则,修改完成后单击编辑基本信息,然后单击确定

                  {
                      "Action": [
                          "bssapi:QueryInstanceBill",
                          "bssapi:DescribeInstanceBill"
                      ],
                      "Resource": "*",
                      "Effect": "Allow"
                  },
                  {
                      "Action": [
                          "ecs:DescribeDisks",
                          "ecs:DescribeSpotPriceHistory",
                          "ecs:DescribeInstances",
                          "ecs:DescribePrice"
                      ],
                      "Resource": "*",
                      "Effect": "Allow"
                  },
                  {
                      "Action": [
                          "eci: DescribeContainerGroupPrice"
                      ],
                      "Resource": "*",
                      "Effect": "Allow"
                  }
          说明

          多个策略内容需要用英文半角逗号(,)分隔。

    2. 安装组件

      按照页面指引,安装ack-cost-exporter组件。安装完成后,页面自动跳转至成本洞察页面。

关闭成本洞察功能

如无需使用成本洞察功能,您可以卸载ack-cost-exporter组件,关闭该功能。

  1. 登录容器服务管理控制台,在左侧导航栏选择集群

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择运维管理 > 组件管理

  3. 组件管理页面找到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