首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问普罗米修斯的etcd指标

访问普罗米修斯的etcd指标
EN

Stack Overflow用户
提问于 2019-07-21 07:38:26
回答 2查看 1.4K关注 0票数 2

我已经使用Kube spray设置了一个1.13版的Kubernetes集群。我们的etcd在K8s集群之外作为docker容器运行。如果我检查etcd证书,我可以看到每个etcd都有自己的ca、客户端证书和密钥。

如果我想抓取这些etcd conatiners for Prometheus的/metrics端点,应该使用哪些证书作为HTTPS端点?

EN

回答 2

Stack Overflow用户

发布于 2019-07-24 03:02:14

我还不确定,这是不是最安全的方式。但我拿到了其中一个etcd使用的ca.pem、证书和密钥。

我从这三个中创建了一个Kubernetes secret对象:

代码语言:javascript
复制
kubectl create secret generic etcd-metrics -n monitoring --from-file=etcd-secrets/

然后,我将密码作为configmap添加到Prometheus config中,并在下面添加为我的擦除

代码语言:javascript
复制
targets:
- job_name: etcd
  scrape_interval: 15s
  scrape_timeout: 10s
  metrics_path: /metrics
  scheme: https
  static_configs:
 - targets:
   - 172.xxxxx:2379
   - 172.xxxxx:2379
   - 172.xxxxx:2379
 tls_config:
  ca_file: /etc/ssl/etcd/ca.pem
  cert_file: /etc/ssl/etcd/etcd-node.pem
  key_file: /etc/ssl/etcd/etcd-key.pem
  insecure_skip_verify: false
票数 2
EN

Stack Overflow用户

发布于 2019-07-21 09:19:11

虽然不完全符合您的要求,但通过使用在监听etcd's prometheus port :9379的sidecar容器中运行的socat,我成功地将身份验证下推到了实际的机器上,然后您可以将prometheus指向http://${etcd_hostname}:9379/metrics,而不必处理这些指标端点的身份验证。

我面前没有socat调用,但类似于:

代码语言:javascript
复制
socat tc4-listen:9379,reuseaddr,fork \
   openssl:127.0.0.1:2379,capath=/etc/kubernetes/pki/etcd/cacert.crt,key=/etc/kubernetes/pki/etcd/peer.key,cert=/etc/kubernetes/pki/etcd/peer.crt
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57129368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档