设置 Prometheus

为 Kueue 启用 Prometheus 指标抓取

此页面展示了如何设置 Prometheus 以抓取 Kueue 指标。 对于使用 TLS 保护的指标端点,请参阅使用 TLS 配置 Prometheus

本页面适用于批处理管理员

开始之前

确保满足以下条件:

  • Kubernetes 集群正在运行。
  • kubectl 命令行工具可以与你的集群通信。
  • Kueue 已安装
  • Prometheus Operator 已安装

1. 设置

选择与你的 Kueue 安装匹配的设置方法。

选项 A:Helm

如果你使用 Helm 安装了 Kueue,在你的 values.yaml 中启用 Prometheus 抓取:

enablePrometheus: true

然后升级你的 Helm 版本:

helm upgrade kueue oci://registry.k8s.io/kueue/charts/kueue \
  --namespace kueue-system \
  -f values.yaml

选项 B:清单文件

如果你使用 kubectl 安装了 Kueue 并附带了发布清单文件,请应用 Prometheus ServiceMonitor:

VERSION=v0.17.0
kubectl apply --server-side -f https://github.com/kubernetes-sigs/kueue/releases/download/${VERSION}/prometheus.yaml

2. 验证指标

  1. 检查 ServiceMonitor 是否已创建:

    kubectl get servicemonitor -n kueue-system
    

    You should see kueue-controller-manager-metrics-monitor listed.

  2. 在 Prometheus 用户界面中,转到“状态” > “目标运行状况”(或导航至 /targets), 并验证 kueue-system/kueue-controller-manager-metrics-monitor 显示为 UP

  3. 在 Prometheus 用户界面中运行测试查询:

    kueue_admitted_workloads_total
    

    如果 Kueue 已处理工作负载,你应该可以看到集群队列的数据点。

3. 启用可选指标

默认情况下,Kueue 不会导出 ClusterQueues 的资源级别指标。 要启用如 kueue_cluster_queue_resource_usagekueue_cluster_queue_nominal_quota 等指标,

在 Kueue 配置中设置 enableClusterQueueResources: true

编辑 kueue-manager-config ConfigMap:

apiVersion: v1
kind: ConfigMap
metadata:
  name: kueue-manager-config
  namespace: kueue-system
data:
  controller_manager_config.yaml: |
    apiVersion: config.kueue.x-k8s.io/v1beta2
    kind: Configuration
    metrics:
      bindAddress: :8443
      enableClusterQueueResources: true
    # ... other configuration

重启控制器以使更改生效:

kubectl rollout restart deployment/kueue-controller-manager -n kueue-system

参阅 Prometheus 指标获取可选指标的完整列表。

接下来是什么