Найти тему
2 подписчика

В ответ на пост

Preserving source ip in K3S
externalTrafficPolicy: local, в моем случае, не наивное, а самое то.

ServiceLB - iptables правило с NATом, которое отправляет трафик в извне в "сеть кубера" с потерей source ip.

Если делать proxy-protocol, как я хотел изначально, то это надо перед этим правилом, обрабатывать трафик, в т.ч. https (?), который терминируется дальше. Выглядит, как раз таки костыльно и плохо реализуемо.

А externalTrafficPolicy: Local - решение, избегающее перебрасывания трафика на другую ноду (рискуя справедливой балансировкой), его я присваиваю Traefik LB Service'у.
Учитывая, что у меня только один белый ip на одной ноде, т.е. трафик и так может идти только через нее, я накинул label на эту ноду и ограничил присутствие traefik'а через nodeSelector. Traefik, при этом, реализует proxy-protocol и докидывает заголовки с source-ip подам, он - ингресс-контроллер.

Единственное, оказалось, что у меня старый k3s со старым traefik, не поддерживающим перманентное накидывание externalTrafficPolicy через конфиг, пришлось патчить сервис руками, а не через HelmChartConfig.

Около минуты