ワーカー ノードを 6 つの AZ に分散する k8s クラスターがあるため、エグレス トラフィックは 6 つの nat ゲートウェイを介してルーティングされます。私の要件は、アプリ「xyz」のすべての送信トラフィックが AZ-A の nat ゲートウェイのみを介してルーティングされることです。解決策として、同じ名前空間に nginx プロキシ インスタンスを作成し、それを AZ - A のみにバインドするアフィニティ ルールを設定xyz
し、ネットワーク ポリシーを使用してポッドからこのプロキシ インスタンスにエグレス トラフィックをルーティングすることを考えました。しかし、ネットワーク ポリシーが下りトラフィック全体をブロックしているようです。以下は、問題ないように見えるエグレス NW ポリシーのコードです。
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: xyz-app-egress
spec:
podSelector:
matchLabels:
app: xyz
policyTypes:
- Ingress
- Egress
ingress:
- {}
egress:
- to:
- podSelector:
matchLabels:
app: proxy
curl ifconfig.co
NW ポリシーを適用した後、xyz ポッドで使用してテストしています。そして、それはいつか以下のエラーとタイムアウトを与えます:
curl: (6) Could not resolve host: ifconfig.co
ここで何かが足りないと思います。誰か私にこれについての洞察を教えてください。またはこの要件に対するより良い解決策。