Назад | Перейти на главную страницу

Маршрутизация трафика через OpenVPN на Kubernetes с Calico

Я использую кластер Kubernetes в контейнерной службе IBM.

У меня настроен модуль OpenVPN, который позволяет клиентам успешно подключаться. Клиенты имеют фиксированные IP-адреса, назначенные с помощью CCD (в диапазоне 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's Felix удаляет корень через короткий промежуток времени.

Можно ли настроить маршрут от узлов к клиентам VPN через модуль сервера VPN, учитывая, что Calico, по-видимому, применяется IBM?

я видел https://github.com/pieterlange/kube-openvpn, который достигает чего-то близкого с помощью переадресации портов. Это, однако, зависит от настройки правила переадресации портов для каждого VPN-клиента, чего я бы предпочел избежать (похоже, что мы заново изобретаем маршрутизацию с этим решением ...)

Я предполагал, что этого можно достичь с помощью конфигурации Calico, но я не могу найти в их документации ничего, что казалось бы правильным.

Calico имеет аннотацию где вы можете указать IP-адрес для Pod:

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

Вы можете указать адрес своего модуля OpenVPN в аннотации, а затем создать статический маршрут для клиентов OpenVPN.