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