2017-03-15 11 views
0

私はkubernetesノードとは別のkubernetesマスターを実行しています。だから私はkubeletkube-proxyまたはflannelなしでサーバー上で実行されているkube-apiserverkube-schedulerおよびkube-controllermanagerを持っています。kube-apiserverはkube-proxyの存在を予期していますか?

これまでのところ、これは完全に機能しています。しかし、今日私はWeb UIをセットアップし、APIサーバーを介してアクセスしようとしました。 http://kube-master-0:8080/uiにアクセスするとき、私は、次のエラーを得た:

Error: 'dial tcp 172.16.72.12:9090: getsockopt: connection timed out' Trying to reach: 'http://172.16.72.12:9090/'

これは、我々は、この上フランネルやKUBE-プロキシランニングを持っていないとして、APIサーバは、ポッドIPに接続しようとしていることを私に示唆ホストの場合、172.16.72.12 IPはルーティングされません。

APIサーバーでkube-proxyとflannelを実行する予定ですか? APIサーバープロキシにUIを使用させる別の方法はありますか?

答えて

0

必須ではありませんが、あなたの人生を楽にします。

これがうまくいかない理由は、kube-proxyがトラフィックをサービスに誘導していないためです。あなたは理論的にはNodePort構成

0

のようにそれを公開していると仮定すると、KUBEはapiserver KUBE-プロキシの存在を期待していません(kube-node:8080/uiを試してみてください。 これはKUBEのapiserverが正しく動作することを意味し、(要求を受け取り、それらを処理しますが、ほとんど読み込み)からとetcdに書き込み

しかし、あなたは、クラスタ全体の作業をしたい場合は、例えば、実行中の他のコンポーネントが必要になります。

  • あなたがpodsやをしたい場合スケジュール設定する、kube-scheduler
  • を実行している必要がありますがpodscontainersノードで実行されている場合は、kubeletはあなたがreplicationsが守られることができますしたい場合は、controller-managerとして

をruningてしなければならない

  • を実行する必要がありますkube-proxyflannelについては、ネットワークが機能していることを確認するために重要な部分です。 Load Balanceserviceacross-hosts pod communicationなどはすべてそれらに依存します。

  • 関連する問題