web-dev-qa-db-ja.com

Calicoを使用したKubernetes上のOpenVPNを介したトラフィックのルーティング

IBMコンテナーサービスでkubernetesクラスターを実行しています。

OpenVPNポッドをセットアップしましたが、クライアントが正常に接続できます。クライアントには、CCDを使用して割り当てられた固定IP(範囲10.240.0.0/16)。

クラスター内の他のポッドを希望します(172.30.42.0/24)OpenVPN経由で接続されたクライアントにアクセスできるようにするため。

私はホストノードにルートを追加することでこれを実装しようとしました:

ip route add 10.240.0.0/16 via 172.30.42.65 (どこ 172.30.42.65はOpenVPNポッドです)

これにより、簡単に言えば、ノード上の他のポッドからのトラフィックがOpenVPNクライアントにトラフィックをルーティングできるようになります。残念ながら、CalicoのFelixは短期間でルートを削除します。

CalicoがIBMによって施行されているように見えることを受け入れて、VPNサーバーポッドを介してノードからVPNクライアントへのルートを設定することは可能ですか?

私は https://github.com/pieterlange/kube-openvpn を見てきました。これは、ポート転送を使用して近いものを実現します。ただし、これはすべてのVPNクライアントのポート転送ルールの設定に依存しているため、避けたい(このソリューションでルーティングを再発明しているような気がする...)

これはCalico configで達成できると思いましたが、ドキュメントで正しいことをしているように見えるものを見つけることができません。

3
Hayden Ball

Calicoには注釈があります ポッドのIPアドレスを指定できます:

annotations:
        "cni.projectcalico.org/ipAddrs": "[\"192.168.0.1\"]"

アノテーションでOpenVPNポッドのアドレスを指定してから、OpenVPNクライアントの静的ルートを作成できます。

1
Nick Rak