12.2. Knative making metering 的数据源
以下 ReportDataSources
是 OpenShift Container Platform metering 如何使用 Knative instructioning 的示例。
12.2.1. Knativelatesting 中 CPU 用量的数据源
这个数据源提供在报告的时间段内每个 Knative 服务使用的总 CPU 秒数。
YAML 文件示例
apiVersion: metering.openshift.io/v1 kind: ReportDataSource metadata: name: knative-service-cpu-usage spec: prometheusMetricsImporter: query: > sum by(namespace, label_serving_knative_dev_service, label_serving_knative_dev_revision) ( label_replace(rate(container_cpu_usage_seconds_total{container!="POD",container!="",pod!=""}[1m]), "pod", "$1", "pod", "(.*)") * on(pod, namespace) group_left(label_serving_knative_dev_service, label_serving_knative_dev_revision) kube_pod_labels{label_serving_knative_dev_service!=""} )
12.2.2. 用于 Knative making 中的内存使用的数据源
这个数据源为每个 Knative 服务在报告期间提供平均内存消耗。
YAML 文件示例
apiVersion: metering.openshift.io/v1 kind: ReportDataSource metadata: name: knative-service-memory-usage spec: prometheusMetricsImporter: query: > sum by(namespace, label_serving_knative_dev_service, label_serving_knative_dev_revision) ( label_replace(container_memory_usage_bytes{container!="POD", container!="",pod!=""}, "pod", "$1", "pod", "(.*)") * on(pod, namespace) group_left(label_serving_knative_dev_service, label_serving_knative_dev_revision) kube_pod_labels{label_serving_knative_dev_service!=""} )
12.2.3. 为 KnativeUping metering 应用数据源
-
应用
ReportDataSources
:
$ oc apply -f <datasource_name>