Я запустил OpenVPN на своем кластере k8s, и теперь клиенты могут напрямую подключаться к службам ClusterIP, но мне нужен маскарад, потому что модули (кроме модуля OpenVPN) не знают маршрута к клиентам.
Есть ли возможность добавить собственный маршрут к модулям Kubernetes и направить трафик для определенного диапазона IP-адресов в службу OpenVPN - ClusterIP?
В связи с тем, что вы уже подключили OpenVPN
Узел в кластере Kubernetes с использованием ClusterIP
сервисы, которыми управляет kube-proxy, рекомендуется маршрутизировать сетевые пакеты через iptables
. Пришло время настроить kube-proxy
для передачи всех запросов во внутренние CNI network
через OpenVPN
Узел:
kube-proxy — kubeconfig=./kube-config/config.yaml — bind-address=xx.xx.xx.xx — cluster-cidr=yy.yy.yy.yy/cc — proxy-mode=iptables — masquerade-all
xx.xx.xx.xx - IP-адрес вашего узла OpenVPN
yy.yy.yy.0 / cc - CIDR кластера
Гарантировать, что OpenVPN
Под настроен для подключения к сети Kubernetes:
push “route yy.yy.0.0 255.255.0.0”
Для создания маршрутов от ваших сервисов Node к OpenVPN
шлюз, рассмотрите возможность использования маршрутизации между сайтами через OpenVPN
объяснил в этом Статья.