Prometheus 要求
ECK
如果您正在使用 Prometheus,那么您需要执行额外的配置来抓取指标端点,并使用您在 启用指标端点 和 保护指标端点 中设置的配置。
配置 Prometheus 实例的 RBAC 设置以访问指标端点。通常在使用 Prometheus operator 时会自动设置这些设置。
您的设置应该类似于以下内容
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: prometheus
rules:
- nonResourceURLs:
- /metrics
verbs:
- get
如果您正在使用 Prometheus operator 并且您的 Prometheus 实例与 ECK operator 不在同一命名空间中,则使用以下 Helm 值配置 Prometheus operator。 这些值允许跨命名空间读取 PodMonitor 和 ServiceMonitor。
prometheus:
prometheusSpec:
podMonitorNamespaceSelector: {}
podMonitorSelectorNilUsesHelmValues: false
serviceMonitorNamespaceSelector: {}
serviceMonitorSelectorNilUsesHelmValues: false
如果您正在使用自定义 TLS 证书并且需要将 insecureSkipVerify
设置为 false
,则需要执行以下操作
在 Prometheus 命名空间中创建一个 Kubernetes secret,其中包含 PEM 格式的证书颁发机构。
在 Prometheus 命名空间中创建 CA secret 最简单的方法是使用
kubectl create secret generic
命令。 例如kubectl create secret generic eck-metrics-tls-ca -n monitoring --from-file=ca.crt=/path/to/ca.pem
确保 CA secret 已挂载在 Prometheus Pod 中。
步骤将因 Prometheus 安装而异。如果您正在使用 Prometheus operator,您可以将
Prometheus
自定义资源的spec.secrets
字段设置为先前创建的 Kubernetes Secret 的名称。 有关更多信息,请参阅 ECK Helm chart values 文件。