第 3 章 升级 metering

重要

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

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

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

3.1. 先决条件

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

    注意

    您必须手动将 Metering Operator 升级到 4.6。如果您在以前的安装中选择了"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.6 并点 Save

    注意

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

  6. OperatorsInstalled Operators

    Metering Operator 显示为 4.6。例如:

    Metering
    4.6.0-202007012112.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.5 升级到 4.6 的输出示例

      NAME                                        DISPLAY                  VERSION                 REPLACES                               PHASE
      metering-operator.4.6.0-202007012112.p0     Metering                 4.6.0-202007012112.p0   metering-operator.4.5.0-202005252114   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                   2020-05-18T21:10:00Z   2020-05-19T19:52:00Z   2020-05-18T19:11:00Z   2020-05-19T19:52:00Z   2020-05-19T19:56:44Z   23h
    node-allocatable-memory-bytes                2020-05-18T21:10:00Z   2020-05-19T19:52:00Z   2020-05-18T19:11:00Z   2020-05-19T19:52:00Z   2020-05-19T19:52:07Z   23h
    node-capacity-cpu-cores                      2020-05-18T21:10:00Z   2020-05-19T19:52:00Z   2020-05-18T19:11:00Z   2020-05-19T19:52:00Z   2020-05-19T19:56:52Z   23h
    node-capacity-memory-bytes                   2020-05-18T21:10:00Z   2020-05-19T19:57:00Z   2020-05-18T19:10:00Z   2020-05-19T19:57:00Z   2020-05-19T19:57:03Z   23h
    persistentvolumeclaim-capacity-bytes         2020-05-18T21:09:00Z   2020-05-19T19:52:00Z   2020-05-18T19:11:00Z   2020-05-19T19:52:00Z   2020-05-19T19:56:46Z   23h
    persistentvolumeclaim-phase                  2020-05-18T21:10:00Z   2020-05-19T19:52:00Z   2020-05-18T19:11:00Z   2020-05-19T19:52:00Z   2020-05-19T19:52:36Z   23h
    persistentvolumeclaim-request-bytes          2020-05-18T21:10:00Z   2020-05-19T19:57:00Z   2020-05-18T19:10:00Z   2020-05-19T19:57:00Z   2020-05-19T19:57:03Z   23h
    persistentvolumeclaim-usage-bytes            2020-05-18T21:09:00Z   2020-05-19T19:52:00Z   2020-05-18T19:11:00Z   2020-05-19T19:52:00Z   2020-05-19T19:52:02Z   23h
    pod-limit-cpu-cores                          2020-05-18T21:10:00Z   2020-05-19T19:57:00Z   2020-05-18T19:10:00Z   2020-05-19T19:57:00Z   2020-05-19T19:57:02Z   23h
    pod-limit-memory-bytes                       2020-05-18T21:10:00Z   2020-05-19T19:58:00Z   2020-05-18T19:11:00Z   2020-05-19T19:58:00Z   2020-05-19T19:59:06Z   23h
    pod-persistentvolumeclaim-request-info       2020-05-18T21:10:00Z   2020-05-19T19:52:00Z   2020-05-18T19:11:00Z   2020-05-19T19:52:00Z   2020-05-19T19:52:07Z   23h
    pod-request-cpu-cores                        2020-05-18T21:10:00Z   2020-05-19T19:58:00Z   2020-05-18T19:11:00Z   2020-05-19T19:58:00Z   2020-05-19T19:58:57Z   23h
    pod-request-memory-bytes                     2020-05-18T21:10:00Z   2020-05-19T19:52:00Z   2020-05-18T19:11:00Z   2020-05-19T19:52:00Z   2020-05-19T19:55:32Z   23h
    pod-usage-cpu-cores                          2020-05-18T21:09:00Z   2020-05-19T19:52:00Z   2020-05-18T19:11:00Z   2020-05-19T19:52:00Z   2020-05-19T19:54:55Z   23h
    pod-usage-memory-bytes                       2020-05-18T21:08:00Z   2020-05-19T19:52:00Z   2020-05-18T19:11:00Z   2020-05-19T19:52:00Z   2020-05-19T19:55:00Z   23h
    report-ns-pvc-usage                                                                                                                                             5h36m
    report-ns-pvc-usage-hourly

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