問題タブ [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 に答える
251 参照

kubernetes - kubernetes DNS - サービスが DNS 経由で自分自身に接続できるようにする

kubernetes クラスター内の Pod は、それらがメンバーであるサービスの dn にネットワーク要求を送信することによって到達できます。ネットワーク リクエストを送信し[service].[namespace].svc.cluster.local、そのサービスのすべてのメンバー間で負荷を分散する必要があります。

これは、一部の Pod が別の Pod に到達できるようにするには問題なく機能しますが、Pod がメンバーであるサービスを介して自分自身に到達しようとすると失敗します。常にタイムアウトになります。

これは Kubernetes (私の場合は minikube v0.35.0) のバグですか、それとも追加の構成が必要ですか?


ここにいくつかのデバッグ情報があります:

他のポッドからサービスに連絡してみましょう。これはうまくいきます:

次に、Pod がメンバーであるサービスに接続できるようにします。

curl デバッグ ログを正しく読んだ場合、DNS は IP アドレス 10.107.209.9 に解決されます。ポッドは、その IP を介して他のポッドから到達できますが、ポッドはそれを使用して自分自身に到達することはできません。

自分自身に到達しようとする Pod のネットワーク インターフェイスは次のとおりです。

minikube にデプロイされた kubernetes ファイルは次のとおりです。