【发布时间】:2022-01-31 16:00:49
【问题描述】:
我有一个使用 Kubespray 的 K8s 集群,其中包含托管的 etcd 部署在本地服务器上。我没有看到 Prometheus 操作员抓取 etcd 指标。使用 helm v3.5.4 部署的 Prometheus 操作员。
K8s版本1.22,Helm图表prometheus-community/kube-prometheus-stack版本25.0.0,3节点控制平面CentOS 7。
Prometheus 配置显示 etcd - job_name: serviceMonitor/monitoring/kube-prometheus-kube-prome-kube-etcd/0 的作业。
但是 Prometheus 的服务列表中没有 etcd 的服务。
没有为 etcd 定义端点
用于 helm 部署的 Values.yml(使用 volumes 更新)
prometheus:
service:
type: NodePort
externalTrafficPolicy: Local
ingress:
enabled: true
annotations:
kubernetes.io/ingress.class: "custom"
hosts:
- prometheus.{{ cluster_domain }}.mydomain.com
paths:
- /
pathType: Prefix
tls:
- secretName:
prometheusSpec:
storageSpec:
volumeClaimTemplate:
spec:
accessModes: ["ReadWriteOnce"]
storageClassName: rook-ceph-block
resources:
requests:
storage: {{ monitoring.storage_size }}
volumeMounts:
- name: cert-vol
mountPath: "/etc/prometheus/secrets/etcd-certs"
readOnly: true
volumes:
- name: cert-vol
secret:
secretName: etcd-certs
kubeEtcd:
enabled: true
endpoints:
- 172.1.1.1
- 172.1.1.2
- 172.1.1.3
service:
port: 2379
targetPort: 2379
serviceMonitor:
scheme: https
insecureSkipVerify: true
caFile: /etc/prometheus/secrets/etcd-certs/ca.crt
certFile: /etc/prometheus/secrets/etcd-certs/client.crt
keyFile: /etc/prometheus/secrets/etcd-certs/client.key
【问题讨论】:
-
你有一些来自 etcd 的日志吗?
-
etcd 很好,如果我卷曲到它,我可以从 etcd 获取指标。 Prometheus 甚至没有抓取指标。我需要在 etcd 日志中查找特定内容吗?
-
我注意到一个问题,在 prometheus pod 日志中,prometheus 找不到证书的路径。
-
我修复了证书丢失的路径问题,并使用信息更新了问题。但仍然缺少 etcd 数据。
-
你检查 prometheus 日志了吗?
标签: kubernetes prometheus prometheus-operator helm3 kube-prometheus-stack