Kubernetes群外的普罗米修斯

时间:2018-05-29 14:37:59

标签: kubernetes prometheus

我正在尝试在Kubernetes Cluster之外配置Prometheus。

以下是我的Prometheus配置。

- job_name: 'kubernetes-apiservers'
  kubernetes_sd_configs:
  - role: endpoints
    api_server: https://10.0.4.155:6443
  scheme: https
  tls_config:
    insecure_skip_verify: true
  basic_auth:
      username: kube
      password: Superkube01
  relabel_configs:
  - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
    action: keep
    regex: default;kubernetes;https

它们的外观如下:

root@master01:~# kubectl cluster-info 
Kubernetes master is running at https://10.0.4.155:6443

root@master01:~# kubectl get endpoints 
NAME                 ENDPOINTS                                         AGE
kubernetes           10.0.4.103:6443,10.0.4.138:6443,10.0.4.155:6443   11h
netchecker-service   10.2.0.10:8081                                    11h
root@master01:~# 

但是,当启动普罗米修斯时,我的误差低于此值。

level=error ts=2018-05-29T13:55:08.171451623Z caller=main.go:216 component=k8s_client_runtime err="github.com/prometheus/prometheus/discovery/kubernetes/kubernetes.go:270: Failed to list *v1.Pod: Get https://10.0.4.155:6443/api/v1/pods?resourceVersion=0: x509: certificate signed by unknown authority"

有谁能告诉我,我在这里做错了什么?

谢谢, Pavanasam R

3 个答案:

答案 0 :(得分:0)

该错误表明Prometheus正在使用不同的证书来签署其度量标准收集请求,而不是您的许可证所期望的那个。

您确实需要在代码块中格式化代码,以便我们可以看到yaml格式。根据此linkkubernetes_sd_configsinsecure_skip_verify似乎是basic_auth的错误主页。可能想要移动它们并尝试再次刮擦。

答案 1 :(得分:0)

到目前为止,您的insecure_skip_verify已成为kubernetes_sd_configs的一部分:还要在api_server上下文中添加它。

kubernetes_sd_configs:
- api_server: https://<ip>:6443
  role: node
  bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
  tls_config:
    insecure_skip_verify: true

答案 2 :(得分:0)

为了访问kubernetes api端点,您需要通过 basic_auth,bearer_token,tls_config 对客户端进行身份验证。请通过this进行操作,这会有所帮助。