問題タブ [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.
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 ファイルは次のとおりです。