Kubernetes クラスター内のすべてのポッドに静的ルートを追加する最適な方法は何ですか?

Kubernetes クラスター内のすべてのポッドに静的ルートを追加する最適な方法は何ですか?

複数の を実行しているノードが 3 つありOpenVPN pods、各ポッドには の VPN ネットワークがあり100.70.0.0/16、これらのポッドに接続するクライアントはこの範囲の IP アドレスを受け取ります。たとえば、クライアントが100.70.162.91ポッドの 1 つに接続したとします。

ここで、このクラスターでさまざまなサービスを実行するポッドをさらに追加し、各ポッドがすべての VPN クライアントと通信できるようにする必要があります。これまで AWS ECS を使用してこれを行う方法の大きなステップの 1 つは、クライアントが AWS API を使用して接続したら、クラスター VPC のサブネット ルート テーブルなどにルートを追加することです。この方法は、すべてのポッドが同じネットワーク上にある限りip route add 100.70.192.91/32 via <OpenVPN-pod-IPv4>/32、を使用しても機能するようです。docker-composeKubernetes

しかし、ECS から Kubernetes に移行しようとしているのですが、Kubernetes 上でクラスター全体のネットワーク静的ルートを追加する方法が見つからないようです。

これを Kubernetes に実装する最適な方法は何でしょうか?

答え1

ECS の代わりにバニラ k8s を使用する場合は、ワーカー ノードにそのようなルートを追加するオプションがあります。したがって、非 k8s (VPN クライアント ネットワークは k8s ポッド ネットとは異なります) ネットワークへのポッド トラフィックは、ワーカー ノードのルーティング テーブルを介して出力されます。ワーカー ノード上の VPN クライアント ネットワークに静的ルートを追加する必要があります。ルートの宛先には、vpn-pod IP を設定します。これは、どの k8s ワーカー ノードからでもアクセスできます。

関連情報