Я использую кластер 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.