安装

本文将介绍如何安装计量和计费所需的组件。

目录

安装前注意事项

  • 从 Custom Portal 下载最新版本的 Cost Management Plugin,并通过 violet 上传到平台。

  • Cost Management ServerCost Management EssentialsCost Management Agent 协同工作,提供平台整体的计量和计费功能。服务器端组件支持与计量和计费相关的数据存储能力,客户端组件负责数据采集和计费能力。

  • Cost Management Server 支持部署在任意集群,但平台目前仅支持部署一个服务器。请勿部署多个服务器,否则可能导致数据重复等异常问题。

  • Cost Management Server 组件依赖 ClickHouse 作为其数据存储方案。您可以选择安装平台提供的 ACP Log Storage with Clickhouse 插件,或自行安装 ClickHouse 进行集成。

  • Cost Management Essentials 需要与 Cost Management Server 组件集成。

  • Cost Management Agent 组件要求对应集群已安装 ACP Monitor with Prometheus 监控组件,请确保该组件已成功安装。

通过控制台安装 Cost Management Server 插件

前提条件

  • Cost Management Server Plugin 组件依赖 ClickHouse 作为其数据存储方案。您可以选择安装平台提供的 ACP Log Storage with Clickhouse 插件,或自行安装 ClickHouse 进行集成。

操作步骤

  1. 登录安装了 ACP Log Storage with Clickhouse 插件的集群,获取 ClickHouse 集成信息:

    # 获取 Clickhouse 连接地址
    kubectl get feature log-center -o jsonpath='{.spec.accessInfo.clickhouse.address}'
    
    # 获取 Clickhouse 用户名和密码:
    kubectl get secret -n cpaas-system clickhouse-basic-auth -o jsonpath={.data.username}|base64 -d
    kubectl get secret -n cpaas-system clickhouse-basic-auth -o jsonpath={.data.password}|base64 -d
  2. 在左侧导航栏点击 Marketing Place > Plugin Management

  3. 选择计划安装插件的集群。

  4. 找到 Cost Management Server 插件,点击右侧操作栏中的安装按钮。

  5. 参考以下说明配置相关参数。

    参数说明
    Clickhouse Address配置 Clickhouse 连接地址
    Clickhouse Cluster NameClickhouse 集群名称;平台创建的 Clickhouse 默认为 replicated.
    Clickhouse Secret Name配置 Clickhouse 用户名和密码的 Secret
    Currency Unit选择用于显示费用的货币单位
  6. 点击 Install

通过 YAML 安装 Cost Management Server 插件

前提条件

  • Cost Management Server Plugin 组件依赖 ClickHouse 作为其数据存储方案。您可以选择安装平台提供的 ACP Log Storage with Clickhouse 插件,或自行安装 ClickHouse 进行集成。

操作步骤

  1. 检查可用版本

    通过检查 global 集群中的 ModulePlugin 和 ModuleConfig 资源,确认插件已发布:

    # kubectl get moduleplugin | grep cost-server
    cost-server                       30h
    # kubectl get moduleconfig | grep cost-server
    cost-server-v4.1.0                30h

    表示集群中存在 ModulePlugin cost-server,且版本 v4.1.0 已发布。

  2. 创建 ModuleInfo

    创建 ModuleInfo 资源以安装插件,且不带任何配置参数:

    kind: ModuleInfo
    apiVersion: cluster.alauda.io/v1alpha1
    metadata:
      name: global-cost-server
      labels:
        cpaas.io/cluster-name: global
        cpaas.io/module-name: cost-server
        cpaas.io/module-type: plugin
    spec:
      version: v4.1.0
      config:
        global:
          clickhouse:
            address: https://xxx.xxx.xxx.xxx:xx/clickhouse
            authSecret: clickhouse-basic-auth
            cluster: replicated
          currency: CNY(¥)

    YAML 字段说明(cost-server):

    字段路径说明
    metadata.labels.cpaas.io/cluster-name插件安装的目标集群名称
    metadata.labels.cpaas.io/module-name必须为 cost-server
    metadata.labels.cpaas.io/module-type必须为 plugin
    metadata.nameModuleInfo 名称(例如 <cluster>-cost-server
    spec.version要安装的插件版本
    spec.config.global.clickhouse.address配置 Clickhouse 连接地址
    spec.config.global.clickhouse.authSecret配置 Clickhouse 用户名和密码的 Secret
    spec.config.global.clickhouse.clusterClickhouse 集群名称;平台创建的 Clickhouse 默认为 replicated.
    spec.config.global.currency选择用于显示费用的货币单位。支持:CNY(¥)/USD($)/THB(฿)/RUB(₽)/AUD(AU$)/CAD(CA$)/CHF(Fr.)/DKK(kr.)/EUR(€)/GBP(£)/IDR(Rp)/INR(₹)/JPY(JP¥)/HKD(HK)/SGD(SG$)
  3. 验证安装

    由于创建后 ModuleInfo 名称会变化,可通过标签定位资源,检查插件状态和版本:

    kubectl get moduleinfo -l cpaas.io/module-name=cost-server
    NAME                                             CLUSTER         MODULE            DISPLAY_NAME     STATUS    TARGET_VERSION   CURRENT_VERSION   NEW_VERSION
    global-e671599464a5b1717732c5ba36079795          global          cost-server       cost-server      Running   v4.1.0           v4.1.0            v4.1.0

    字段说明:

    • NAME:ModuleInfo 资源名称
    • CLUSTER:插件安装的集群
    • MODULE:插件名称
    • DISPLAY_NAME:插件显示名称
    • STATUS:安装状态;Running 表示安装成功且运行中
    • TARGET_VERSION:目标安装版本
    • CURRENT_VERSION:安装前版本
    • NEW_VERSION:可安装的最新版本

通过控制台安装 Cost Management Essentials 插件

前提条件

  • Cost Management Essentials Plugin 需要与 Cost Management Server 组件集成,因此需先安装 Cost Management Server 插件

操作步骤

  1. 在左侧导航栏点击 Marketing Place > Plugin Management

  2. 选择 global 集群。

  3. 找到 Cost Management Server 插件,点击右侧操作栏中的安装按钮。

  4. 选择已安装 Cost Management Server 插件 的集群名称。

  5. 点击 Install

通过 YAML 安装 Cost Management Essentials 插件

前提条件

  • Cost Management Essentials Plugin 需要与 Cost Management Server 组件集成,因此需先安装 Cost Management Server 插件
  1. 检查可用版本

    通过检查 global 集群中的 ModulePlugin 和 ModuleConfig 资源,确认插件已发布:

    # kubectl get moduleplugin | grep cost-api
    cost-api                       30h
    # kubectl get moduleconfig | grep cost-api
    cost-api-v4.1.0                30h

    表示集群中存在 ModulePlugin cost-api,且版本 v4.1.0 已发布。

  2. 创建 ModuleInfo

    创建 ModuleInfo 资源以安装插件,且不带任何配置参数:

    kind: ModuleInfo
    apiVersion: cluster.alauda.io/v1alpha1
    metadata:
      name: global-cost-api
      labels:
        cpaas.io/cluster-name: global
        cpaas.io/module-name: cost-api
        cpaas.io/module-type: plugin
    spec:
      version: v4.1.0
      config:
        crossClusterDependency:
          costServer: business-1

    YAML 字段说明(cost-api):

    字段路径说明
    metadata.labels.cpaas.io/cluster-name必须为 global
    metadata.labels.cpaas.io/module-name必须为 cost-api
    metadata.labels.cpaas.io/module-type必须为 plugin
    metadata.nameModuleInfo 名称(例如 <cluster>-cost-api
    spec.version要安装的插件版本
    spec.config.crossClusterDependency.costServer配置安装了 Cost Management Server 插件 的集群名称
  3. 验证安装

    由于创建后 ModuleInfo 名称会变化,可通过标签定位资源,检查插件状态和版本:

    kubectl get moduleinfo -l cpaas.io/module-name=cost-api
    NAME                                             CLUSTER         MODULE            DISPLAY_NAME     STATUS    TARGET_VERSION   CURRENT_VERSION   NEW_VERSION
    global-e671599464a5b1717732c5ba36079795          global          cost-api          cost-api         Running   v4.1.0           v4.1.0            v4.1.0

    字段说明:

    • NAME:ModuleInfo 资源名称
    • CLUSTER:插件安装的集群
    • MODULE:插件名称
    • DISPLAY_NAME:插件显示名称
    • STATUS:安装状态;Running 表示安装成功且运行中
    • TARGET_VERSION:目标安装版本
    • CURRENT_VERSION:安装前版本
    • NEW_VERSION:可安装的最新版本

通过控制台安装 Cost Management Agent 插件

前提条件

  • Cost Management Agent Plugin 组件要求对应集群已安装 ACP Monitor with Prometheus 监控组件,请确保该组件已成功安装。

  • Cost Management Agent Plugin 需要与 Cost Management Server 组件集成,因此需先安装 Cost Management Server 插件

操作步骤

  1. 在左侧导航栏点击 Marketing Place > Plugin Management

  2. 选择需要安装该插件的集群。

  3. 找到 Cost Management Agent 插件,点击右侧操作栏中的安装按钮。

  4. 选择已安装 Cost Management Server 插件 的集群名称。

  5. 点击 Install

通过 YAML 安装 Cost Management Agent 插件

前提条件

  • Cost Management Agent Plugin 组件要求对应集群已安装 ACP Monitor with Prometheus 监控组件,请确保该组件已成功安装。

  • Cost Management Agent Plugin 需要与 Cost Management Server 组件集成,因此需先安装 Cost Management Server 插件

操作步骤

  1. 检查可用版本

    通过检查 global 集群中的 ModulePlugin 和 ModuleConfig 资源,确认插件已发布:

    # kubectl get moduleplugin | grep cost-agent
    cost-agent                       30h
    # kubectl get moduleconfig | grep cost-agent
    cost-agent-v4.1.0                30h

    表示集群中存在 ModulePlugin cost-agent,且版本 v4.1.0 已发布。

  2. 创建 ModuleInfo

    创建 ModuleInfo 资源以安装插件,且不带任何配置参数:

    kind: ModuleInfo
    apiVersion: cluster.alauda.io/v1alpha1
    metadata:
      name: global-cost-agent
      labels:
        cpaas.io/cluster-name: global
        cpaas.io/module-name: cost-agent
        cpaas.io/module-type: plugin
    spec:
      version: v4.1.0
      config:
        crossClusterDependency:
          costServer: business-1

    YAML 字段说明(cost-agent):

    字段路径说明
    metadata.labels.cpaas.io/cluster-name插件安装的目标集群名称
    metadata.labels.cpaas.io/module-name必须为 cost-agent
    metadata.labels.cpaas.io/module-type必须为 plugin
    metadata.nameModuleInfo 名称(例如 <cluster>-cost-agent
    spec.version要安装的插件版本
    spec.config.crossClusterDependency.costServer配置安装了 Cost Management Server 插件 的集群名称
  3. 验证安装

    由于创建后 ModuleInfo 名称会变化,可通过标签定位资源,检查插件状态和版本:

    kubectl get moduleinfo -l cpaas.io/module-name=cost-agent
    NAME                                             CLUSTER         MODULE            DISPLAY_NAME     STATUS    TARGET_VERSION   CURRENT_VERSION   NEW_VERSION
    global-e671599464a5b1717732c5ba36079795          global          cost-agent        cost-agent       Running   v4.1.0           v4.1.0            v4.1.0