Вы можете найти решение здесь:
https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-type-loadbalancer
Начиная с Kubernetes 1.5, пакеты, отправляемые в службы с Type = LoadBalancer, по умолчанию являются исходными NAT, поскольку все планируемые узлы Kubernetesв состоянии готовности имеют право на трафик с балансировкой нагрузки.Таким образом, если пакеты поступают на узел без конечной точки, система передает его на узел с конечной точкой, заменяя исходный IP-адрес пакета на IP-адрес узла (как описано в предыдущем разделе).Вы можете проверить это, выставив source-ip-app через loadbalancer
$ kubectl expose deployment source-ip-app --name=loadbalancer --port=80 --target-port=8080 --type=LoadBalancer
service/loadbalancer exposed
$ kubectl get svc loadbalancer
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
loadbalancer LoadBalancer 10.0.65.118 104.198.149.140 80/TCP 5m
$ curl 104.198.149.140
CLIENT VALUES:
client_address=10.240.0.5
...