ELB(Classic Load Balancer) Proxy Protocol Not working on Kubernetes Cluster
Yes, setting this annotation is enough to enable Proxy Protocol v1 at Load Balancer level (ELB Classic).
service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: "*"
I`m having ingress-nginx controller exposed via LoadBalancer Service type with aforementioned annotation, and when run it with logging level set to debug, I can see that each client request retains real Source IP:
172.20.32.78 - [172.20.32.78] - - [08/Feb/2019:18:02:43 +0000] "PROXY TCP4 xxx.xxx.xxx.xx 172.20.xx.xxx 42795 80" 400 157 "-" "-" 0 0.172 []
xxx.xxx.xxx.xx - is my private ip address, not LB one.
The other thing is to enable Proxy Protocol at LB`s backend, so that it can understand forwarded client requests correctly (here are described steps for NGINX).