Как подключить Cloud Composer Airflow DAG к VPN - PullRequest
1 голос
/ 13 июля 2020

Как разрешить Cloud Composer Airflow DAG подключаться к REST API через шлюз VPN? Кластер подключен к соответствующему VP C.

Kube-proxy может подключиться к API, но контейнеры не могут.

У меня S SH 'd into kube-proxy и контейнеры и попробовали traceroute. Трассировка контейнеров завершается kube-proxy. У kube-proxy есть 4 перехода, прежде чем он достигнет пункта назначения.

Я сбросил iptables с kube-proxy, они ничего не указывают в отношении NAT-преобразования VPC su bnet с контейнерами.

VP C su bnet также не отображается в контейнерах, что сделано специально.

Некоторые материалы для чтения: https://www.stackrox.com/post/2020/01/kubernetes-networking-demystified/

EDIT1: Дополнительная информация: предположим, что VPN соединяет VP C с удаленной сетью 10.200.0.0. VP C имеет несколько подсетей. Первичный диапазон, например, 10.10.0.0/20. Для каждого кластера Kubernetes у нас есть еще два su bnet, по одному для каждого модуля (10.16.0.0/14) и еще одному для сервисов (10.20.0.0/20). Шлюз - 10.10.0.1. У каждого модуля снова свой собственный диапазон, где pod_1 - 10.16.0.0/14, pod_2 - 10.16.1.0/14, pod_3 - 10.16.3.0/14 и так далее. Один из kube-прокси имеет несколько сетевых адаптеров. Он находится в сети 10.10.0.0 с eth0 и имеет мост cbr0 к 10.16.0.0. Через указанный kube-proxy через мост рабочие для Airflow подключаются к сети. Один рабочий, например 10.16.0.1, имеет только один сетевой адаптер.

kube-proxy может подключиться к сети 10.200.0.0. Рабочие Airflow не могут.

Как получить доступ рабочего к сети 10.200.0.0? Нужно ли менять iptables kube-proxy?

1 Ответ

1 голос
/ 15 июля 2020

Одним из возможных решений может быть пересылка пакетов с виртуального интерфейса kube на реальный интерфейс узла. Например, добавление следующих правил в таблицы ip:

iptables -A FORWARD -i cbr0 -o eth0 -d 10.200.0.0/25 -j ACCEPT
iptables -A FORWARD -i eth0 -o cbr0 -s 10.200.0.0/25 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
...