По умолчанию kubeadm + calico использует NAT для любого входящего соединения, отличного от pod_ip.
У меня есть calico, публикующий служебную сеть во внешнюю локальную сеть, и я бы предпочел, чтобы служебные модули использовали фактические клиентские IP-адреса, а не преобразованный IP-адрес.
В частности, он добавляет
-A KUBE-SERVICES ! -s 172.16.0.0/16 -d 172.20.160.251/32 -p tcp -m comment --comment "telemetry/pipeline-cdn:http cluster IP" -m tcp --dport 5000 -j KUBE-MARK-MASQ
в iptables.
Хотя это не является непосредственной проблемой, в будущем это повышает риск временного исчерпания портов и общих трудностей с отслеживанием соединений и регистрации клиентов, обращающихся к моим веб-службам.
С некоторой помощью Clico Slack я понял это.
Короткий ответ: он делает то, что ему нужно, оставьте это в покое.
Красноречивый ответ
https://www.asykim.com/blog/deep-dive-into-kubernetes-external-traffic-policies