2017-01-13 9 views
1

Kubernetesクラスタをセットアップしました。 Apiserverはホスト192.168.0.2で起動され、自己署名証明書と静的トークンを認証として使用します。他の2つのノードのIPは192.168.0.3と192.168.0.4です。Prometheusが自己ホスト型KubernetesクラスタのApiserverを見つけることができません

私はプロメテウスデプロイメントを作成しました。設定はthisです。プロメテウスのダッシュボードでは、2つのノードとプロメテウスの自己が「UP」と表示されます。しかし、アプリサバーには「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 

Iは、CA証明書及びトークンを有するノードサーバからアドレス(https://192.168.0.2:443/metrics)をカールすることを試みました。結果はOKです。

ちなみに、kubeletの代わりにhyperkube apiserverコマンドラインでapiserverをセットアップしました。これは問題ですか?そして私はどこを調べるべきですか?

プロメテウスログでは、私はこの関連するものしか見つけられませんでした。

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

私はこれを試してみたいと思いますが、プロメテウス画像にはカールやwgetなどのウェブツールがありません。コンテナの中でどのようにテストすればよいですか? – JasonW

+0

それは良い方向に思えます。私は443ポートでapiserverとの接続に間違っていることを示している別のポッドからいくつかのログを見た。 – JasonW

+0

マスターサーバーでcalico-nodeを起動しませんでした。多分それが理由です。 – JasonW

関連する問題