問題タブ [kube-proxy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
5095 参照

kubernetes - kube-dns getsockopt ホストへのルートがない

kubernetes 1.10 で flannel を使用し、CRI として containerd を使用して kube-dns を正しく構成する方法を理解するのに苦労しています。

kube-dns の実行に失敗し、次のエラーが表示されます:

実際、10.96.0.1 エンドポイントへのルートはありません。

クラスター サービスのアドレス範囲と関連するルートの構成を担当するのは何ですか? コンテナー ランタイム、オーバーレイ ネットワーク (この場合はフランネル)、またはその他の何かですか? どこで構成する必要がありますか?

10-containerd-net.conflistホストとポッド ネットワーク間のブリッジを構成します。ここでもサービスネットワークを構成できますか?

編集:

2016年からこれに出くわしました:

数週間前の時点で (リリースを忘れましたが、x != 0 の 1.2.x でした) (#24429) サービス IP 宛てのノードに到着するすべてのトラフィックが次のように処理されるようにルーティングを修正しました。ノードポートに来た場合。これは、サービス クラスター IP 範囲の静的ルートを 1 つ以上のノードに設定できる必要があり、ノードがブリッジとして機能することを意味します。これは、ほとんどの人がオーバーレイをブリッジするためにフランネルで行うのと同じトリックです.

不完全ですが、機能します。将来、最適な動作 (クライアント IP を失わないこと) が必要な場合は、ルーティングをより正確にする必要があります。

それはまだ関係がありますか?サービス CIDR の静的ルートをセットアップする必要はありますか? kube-proxyそれとも、フランネルやコンテナではなく、実際に問題がありますか?

私のフランネル構成:

そして kube-proxy:

編集:

kube-proxyのデバッグ手順を見るkube-proxyと、マスターに接続できないようです。これが問題の大部分を占めていると思います。HAProxy ロードバランサーの背後に 3 つのコントローラー/マスター ノードがあります。これは192.168.160.1:6443、上の各マスターにバインドされ、ラウンド ロビンを転送し10.240.0.1[1|2|3]:6443ます。これは、上記の output/configs で確認できます。

ではkube-proxy.service、 を指定しています--master=192.168.160.1:6443。ポート 443 への接続が試行されるのはなぜですか? これを変更できますか? ポート フラグがないようです。何らかの理由でポート 443 にする必要がありますか?