我正在尝试在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
答案 0 :(得分:0)
该错误表明Prometheus正在使用不同的证书来签署其度量标准收集请求,而不是您的许可证所期望的那个。
您确实需要在代码块中格式化代码,以便我们可以看到yaml格式。根据此link,kubernetes_sd_configs
和insecure_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进行操作,这会有所帮助。