2017-01-13 145 views
1

我建立了一个Kubernetes群集。 Apiserver在主机192.168.0.2上启动,我使用自签名证书和静态令牌作为身份验证。其他2个节点的ip为192.168.0.3和192.168.0.4Prometheus无法找到自托管的Kubernetes群集的Apiserver

然后我创建了一个prometheus部署,配置为this。在普罗米修斯仪表板中,两个节点和普罗米修斯自我显示为“UP”。但是,apiserver显示为“DOWN”,原因是“超出上下文截止日期”。

kubernetes-apiservers 
Endpoint State Labels Last Scrape Error 
https://192.168.0.2:443/metrics 
DOWN instance="192.168.0.2:443" 55.979s ago context deadline exceeded 

我试图与CA证书和令牌卷曲从节点服务器的地址(https://192.168.0.2:443/metrics)。结果是好的。

顺便说一句,我通过hyperkube apiserver命令行而不是kubelet安装apiserver。这是问题吗?我应该在哪里看?

在prometheus日志中,我只发现这个相关的一个。

time="2017-01-13T10:51:28Z" level=debug msg="endpoints update" kubernetes_sd=endpoint source="endpoints.go:77" tg="&config.TargetGroup{Targets:[]model.LabelSet{model.LabelSet{\"__meta_kubernetes_endpoint_port_protocol\":\"TCP\", \"__meta_kubernetes_endpoint_ready\":\"true\", \"__address__\":\"192.168.0.2:443\", \"__meta_kubernetes_endpoint_port_name\":\"https\"}}, Labels:model.LabelSet{\"__meta_kubernetes_service_label_provider\":\"kubernetes\", \"__meta_kubernetes_namespace\":\"default\", \"__meta_kubernetes_endpoints_name\":\"kubernetes\", \"__meta_kubernetes_service_name\":\"kubernetes\", \"__meta_kubernetes_service_label_component\":\"apiserver\"}, Source:\"endpoints/default/kubernetes\"}" 

更新:

的原因是,我并没有设置主节点上印花布。它现在有效。

回答

2

这听起来像是网络问题,因为请求超时。你能从普罗米修斯容器内击中那个端点吗?

+0

我想试试这个,但普罗米修斯图片没有任何web工具,如curl或wget。我应该如何在容器内进行测试? – JasonW

+0

这似乎是一个好方向。我从另一个吊舱看到了一些日志,显示443端口与apiserver的连接有问题。 – JasonW

+0

我没有在主服务器上启动calico-node。也许这就是原因。 – JasonW

相关问题