-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bug: openstack: XFF headers not available on CCEE clusters #1261
Comments
I managed to get client IP address by applying some annotation in the load balancer service. This is my test deployment and service:
Apply it, wait for external IP address and then you can check if you get your IP from I applied the same annotations on the existing istio-ingressgateway service, but it didn't work for me (maybe it has to be created with the proper annotations). |
The issue is not about the External IP not being available on a LB service, but about XFF header not being in a request. First of all - setting both annotations
That's most likely why setting it up didn't work for you. Second of all, istio module deploys EnvoyFilter that allows using proxy protocol, but it seems in OpenStack case, it only supports proxy protocol in version 1. Trying to use proxy-protocol in version 2 using annotation There is also seems to be another error when you annotate the existing load balancer which seems to be out-of-scope of the istio module. We do not change any configuration internally and this error comes from the external Load Balancer service used in CCEE:
I'm not really sure about the configuration of the load-balancer itself, but in the openstack-lb docu there is a mention that this annotation is working only when using Octavia. That means if the cluster is using anything other than Octavia, the
|
I can confirm, when you apply |
Description
I followed a tutorial: https://github.com/kyma-project/api-gateway/blob/main/docs/user/tutorials/01-50-expose-and-secure-a-workload/v2alpha1/01-55-ip-based-access-with-xff.md
My cluster runs on OpenStack (CCEE).
In that case external Ip and XFF headers are not populated by istio-ingress-gateway.
Expected result
I can access client IP from my workload
Suggestions
I found that openstack has possibility to configure load balancer through service annotations:
https://github.com/kubernetes/cloud-provider-openstack/blob/master/docs/openstack-cloud-controller-manager/expose-applications-using-loadbalancer-type-service.md#use-proxy-protocol-to-preserve-client-ip
The text was updated successfully, but these errors were encountered: