問題タブ [kubernetes-networking]
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.
nginx - Kubernetes ネットワーク ポリシーが期待どおりに機能しない
ワーカー ノードを 6 つの AZ に分散する k8s クラスターがあるため、エグレス トラフィックは 6 つの nat ゲートウェイを介してルーティングされます。私の要件は、アプリ「xyz」のすべての送信トラフィックが AZ-A の nat ゲートウェイのみを介してルーティングされることです。解決策として、同じ名前空間に nginx プロキシ インスタンスを作成し、それを AZ - A のみにバインドするアフィニティ ルールを設定xyz
し、ネットワーク ポリシーを使用してポッドからこのプロキシ インスタンスにエグレス トラフィックをルーティングすることを考えました。しかし、ネットワーク ポリシーが下りトラフィック全体をブロックしているようです。以下は、問題ないように見えるエグレス NW ポリシーのコードです。
curl ifconfig.co
NW ポリシーを適用した後、xyz ポッドで使用してテストしています。そして、それはいつか以下のエラーとタイムアウトを与えます:
ここで何かが足りないと思います。誰か私にこれについての洞察を教えてください。またはこの要件に対するより良い解決策。
kubernetes - kubernetes で単一のサービスを使用して複数のノードへのアクセスを設定するにはどうすればよいですか?
単一のサービス yaml を使用して、複数のノードでポッドへのアクセスを設定しようとしています。Pod にはすべて同じラベル (たとえばlabel:app
) が付いていますが、単一のノードではなく、複数のノードに分散されています。
私の知る限り、次のように、NodePort を介して Pod へのアクセスを転送する Service を設定できます。
ノードのポート 30000 にアクセスすると、ポッドのポート 5000 に転送されます。
複数のノードにポッドがある場合、クライアントがサービス自体などの単一のエンドポイントにアクセスして、ラウンドロビンで任意のポッドを取得する方法はありますか? または、クライアントは、のように、そのノードの IP を使用して、特定のノード上のポッドのセットにアクセスする必要がありますxx.xx.xx.xx:30000
か?
kubernetes - kubernetes サービスで公開できるポートの数に制限はありますか?
200 個の奇数ポートでサービスを公開しようとしています。サンプル サービス yaml は次のとおりです。
この yaml を適用した後、サービスが作成されますが、ip:port
接続拒否エラーで組み合わせに到達できません。さらに調査したところ、公開したポートの iptables フィルター チェーン KUBE-EXTERNAL-SERVICES に REJECT エントリがいくつかあることがわかりました。
IPTABLES 拒否ルール:
理解したい:
- これらの REJECT ルールが表示されるのはなぜですか?
- サービスを介して多数のポートを公開することはできませんか?
- サービスを介して公開できるポートの数に制限はありますか?