12.2. Knative Serving metering 的数据源
以下数据源示例演示了如何配置 Knative Serving 以用于 OpenShift Container Platform metering。
12.2.1. Knative Serving 中 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 Serving 中内存用量的数据源
这个示例数据源为每个 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. 为 Knative Serving metering 应用数据源
流程
将
ReportDataSources
资源作为 YAML 文件应用:$ oc apply -f <datasource_name>.yaml
示例命令
$ oc apply -f knative-service-memory-usage.yaml