第 3 章 升级 metering

重要

Metering 是一个已弃用的功能。弃用的功能仍然包含在 OpenShift Container Platform 中,并将继续被支持。但是,这个功能会在以后的发行版本中被删除,且不建议在新的部署中使用。

有关 OpenShift Container Platform 中已弃用或删除的主要功能的最新列表,请参阅 OpenShift Container Platform 发行注记中已弃用和删除的功能部分。

您可以通过更新 Metering Operator 订阅将 metering 升级到 4.8。

3.1. 先决条件

  • 集群更新至 4.8。
  • Metering Operator 从 OperatorHub 安装。

    注意

    您必须手动将 Metering Operator 升级到 4.8。如果您在以前的安装中选择了"Automatic" 批准策略,则 metering 不会自动升级。

  • 配置了 MeteringConfig 自定义资源
  • 已安装 metering 堆栈
  • 通过检查所有 pod 就绪,确保 metering 处于健康状态。
重要

如果在安装或升级 metering 后修改 metering 存储配置,可能会发生潜在的数据丢失的问题。

流程

  1. 在 web 控制台中,点 OperatorsInstalled Operators
  2. 选择 openshift-metering 项目:
  3. Metering Operator
  4. SubscriptionChannel
  5. Change Subscription Update Channel 窗口中,选择 4.8 并点 Save

    注意

    在继续执行下一步前,等待几秒钟以允许更新订阅。

  6. OperatorsInstalled Operators

    Metering Operator 显示为 4.8。例如:

    Metering
    4.8.0-202107012112.p0 provided by Red Hat, Inc

验证

您可以通过执行以下任一方式来验证 metering 的升级:

  • 检查新 metering 版本中的 Metering Operator 集群服务版本(CSV)。这可以通过 web 控制台或 CLI 完成。

    流程 (UI)

    1. 进入 metering 命名空间中的 OperatorsInstalled Operators
    2. Metering Operator
    3. Subscription 查看 Subscription Details
    4. 检查 Installed Version 是否是已升级的 metering 版本。Starting Version 显示升级前的版本。

    流程 (CLI)

    • 检查 Metering Operator CSV:

      $ oc get csv | grep metering

      metering 从 4.7 升级到 4.8 的输出示例

      NAME                                        DISPLAY                  VERSION                 REPLACES                                 PHASE
      metering-operator.4.8.0-202107012112.p0     Metering                 4.8.0-202107012112.p0   metering-operator.4.7.0-202007012112.p0  Succeeded

  • 检查是否在 openshift-metering 命名空间中创建了所有必需的 pod:这可以通过 web 控制台或 CLI 完成。

    注意

    很多 pod 在就绪前需要依靠其他组件才能发挥作用。如果其他 pod 需要很长时间才能启动,则一些 Pod 可能会重启。这个情况可能会在 Metering Operator 升级过程中发生。

    流程 (UI)

    • 在 metering 命名空间中导航至 WorkloadsPods,验证是否已创建 pod。升级 metering 堆栈后可能需要几分钟时间。

    流程 (CLI)

    • 检查是否在 openshift-metering 命名空间中创建了所有必需的 pod:

      $ oc -n openshift-metering get pods

      输出示例

      NAME                                  READY   STATUS    RESTARTS   AGE
      hive-metastore-0                      2/2     Running   0          3m28s
      hive-server-0                         3/3     Running   0          3m28s
      metering-operator-68dd64cfb6-2k7d9    2/2     Running   0          5m17s
      presto-coordinator-0                  2/2     Running   0          3m9s
      reporting-operator-5588964bf8-x2tkn   2/2     Running   0          2m40s

  • 验证 ReportDataSource 资源是否导入新数据,这由 NEWEST METRIC 栏中的有效时间戳指示。这可能需要几分钟。过滤掉未导入数据的带有"-raw"的 ReportDataSource 资源:

    $ oc get reportdatasources -n openshift-metering | grep -v raw

    NEWEST METRIC 栏中的时间戳代表 ReportDataSource 资源开始导入新数据。

    输出示例

    NAME                                         EARLIEST METRIC        NEWEST METRIC          IMPORT START           IMPORT END             LAST IMPORT TIME       AGE
    node-allocatable-cpu-cores                   2021-07-01T21:10:00Z   2021-07-02T19:52:00Z   2021-07-01T19:11:00Z   2021-07-02T19:52:00Z   2021-07-02T19:56:44Z   23h
    node-allocatable-memory-bytes                2021-07-01T21:10:00Z   2021-07-02T19:52:00Z   2021-07-01T19:11:00Z   2021-07-02T19:52:00Z   2021-07-02T19:52:07Z   23h
    node-capacity-cpu-cores                      2021-07-01T21:10:00Z   2021-07-02T19:52:00Z   2021-07-01T19:11:00Z   2021-07-02T19:52:00Z   2021-07-02T19:56:52Z   23h
    node-capacity-memory-bytes                   2021-07-01T21:10:00Z   2021-07-02T19:57:00Z   2021-07-01T19:10:00Z   2021-07-02T19:57:00Z   2021-07-02T19:57:03Z   23h
    persistentvolumeclaim-capacity-bytes         2021-07-01T21:09:00Z   2021-07-02T19:52:00Z   2021-07-01T19:11:00Z   2021-07-02T19:52:00Z   2021-07-02T19:56:46Z   23h
    persistentvolumeclaim-phase                  2021-07-01T21:10:00Z   2021-07-02T19:52:00Z   2021-07-01T19:11:00Z   2021-07-02T19:52:00Z   2021-07-02T19:52:36Z   23h
    persistentvolumeclaim-request-bytes          2021-07-01T21:10:00Z   2021-07-02T19:57:00Z   2021-07-01T19:10:00Z   2021-07-02T19:57:00Z   2021-07-02T19:57:03Z   23h
    persistentvolumeclaim-usage-bytes            2021-07-01T21:09:00Z   2021-07-02T19:52:00Z   2021-07-01T19:11:00Z   2021-07-02T19:52:00Z   2021-07-02T19:52:02Z   23h
    pod-limit-cpu-cores                          2021-07-01T21:10:00Z   2021-07-02T19:57:00Z   2021-07-01T19:10:00Z   2021-07-02T19:57:00Z   2021-07-02T19:57:02Z   23h
    pod-limit-memory-bytes                       2021-07-01T21:10:00Z   2021-07-02T19:58:00Z   2021-07-01T19:11:00Z   2021-07-02T19:58:00Z   2021-07-02T19:59:06Z   23h
    pod-persistentvolumeclaim-request-info       2021-07-01T21:10:00Z   2021-07-02T19:52:00Z   2021-07-01T19:11:00Z   2021-07-02T19:52:00Z   2021-07-02T19:52:07Z   23h
    pod-request-cpu-cores                        2021-07-01T21:10:00Z   2021-07-02T19:58:00Z   2021-07-01T19:11:00Z   2021-07-02T19:58:00Z   2021-07-02T19:58:57Z   23h
    pod-request-memory-bytes                     2021-07-01T21:10:00Z   2021-07-02T19:52:00Z   2021-07-01T19:11:00Z   2021-07-02T19:52:00Z   2021-07-02T19:55:32Z   23h
    pod-usage-cpu-cores                          2021-07-01T21:09:00Z   2021-07-02T19:52:00Z   2021-07-01T19:11:00Z   2021-07-02T19:52:00Z   2021-07-02T19:54:55Z   23h
    pod-usage-memory-bytes                       2021-07-01T21:08:00Z   2021-07-02T19:52:00Z   2021-07-01T19:11:00Z   2021-07-02T19:52:00Z   2021-07-02T19:55:00Z   23h
    report-ns-pvc-usage                                                                                                                                             5h36m
    report-ns-pvc-usage-hourly

当所有 Pod 就绪,且验证了数据已可以被导入后,就可以开始使用 metering 来收集数据并对集群进行报告。查看之前调度的报告或创建运行一次的 metering 报告来确认 metering 的升级。