5.2. 存储位置

重要

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

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

StorageLocation 自定义资源配置 Reporting Operator 存储数据的位置。其中包括从 Prometheus 收集的数据,以及通过生成 Report 自定义资源所产生的结果。

如果您要在多个位置(如多个 S3 存储桶或 S3 和 HDFS)存储数据,或者需要访问并非由 metering 在 Hive 和 Presto 中创建的数据库,您只需配置 StorageLocation 自定义资源。对于大多数用户来说,这不是必须的。有关配置 metering 的文档足以配置所有必要存储组件。

5.2.1. 存储位置示例

以下示例显示了内置的本地存储选项,并配置为使用 Hive。默认情况下,数据存储在 Hive 配置为使用存储的位置,如 HDFS、S3 或 ReadWriteMany 持久性卷声明(PVC)。

本地存储示例

apiVersion: metering.openshift.io/v1
kind: StorageLocation
metadata:
  name: hive
  labels:
    operator-metering: "true"
spec:
  hive: 1
    databaseName: metering 2
    unmanagedDatabase: false 3

1
如果存在 hive 部分,则 StorageLocation 资源将配置为通过使用 Hive 服务器创建表来存储数据至 Presto 中。只有 databaseNameunmanagedDatabase 是必填字段。
2
Hive 中数据库的名称。
3
如果为 true,则 StorageLocation 资源不会被主动管理,Hive 中预期已存在 databaseName。如果为 false,则 Reporting Operator 将在 Hive 中创建数据库。

以下示例将 AWS S3 存储桶用于存储。在构造要使用的路径时,前缀会附加至存储桶名称中。

远程存储示例

apiVersion: metering.openshift.io/v1
kind: StorageLocation
metadata:
  name: example-s3-storage
  labels:
    operator-metering: "true"
spec:
  hive:
    databaseName: example_s3_storage
    unmanagedDatabase: false
    location: "s3a://bucket-name/path/within/bucket" 1

1
可选:用于数据库的 Presto 和 Hive 的文件系统 URL。可为 hdfs://s3a:// 文件系统 URL。

hive 部分还可指定其他一些可选字段: