为 Kubernetes 入口保留客户端源 IP?
Preserve client source IP for Kubernetes ingress?
我正在使用这个 Ingress,它类似于 Nginx:https://cloud.ibm.com/docs/containers?topic=containers-ingress_annotation#general
当我这样做时:
request -> LoadBalancer Service -> client source public IP returned
request -> Ingress -> LoadBalancer Service -> some private IP returned
我想保留客户端来源public IP。在我的服务中,我正在设置 ExternalTrafficPolicy: Local
,它在直接点击 LoadBalancer 时有效,但我不知道在通过 Ingress 时我需要什么设置。
要保留 Ingress 源 IP,请参阅以下步骤:https://cloud.ibm.com/docs/containers?topic=containers-comm-ingress-annotations#preserve_source_ip_classic
基本上您所做的与您所描述的相同,只是您编辑了现有的 alb 服务。
步骤:
- kubectl edit svc
-n kube-system
- 根据规范,将 externalTrafficPolicy 的值从 Cluster 更改为 Local。
我正在使用这个 Ingress,它类似于 Nginx:https://cloud.ibm.com/docs/containers?topic=containers-ingress_annotation#general
当我这样做时:
request -> LoadBalancer Service -> client source public IP returned
request -> Ingress -> LoadBalancer Service -> some private IP returned
我想保留客户端来源public IP。在我的服务中,我正在设置 ExternalTrafficPolicy: Local
,它在直接点击 LoadBalancer 时有效,但我不知道在通过 Ingress 时我需要什么设置。
要保留 Ingress 源 IP,请参阅以下步骤:https://cloud.ibm.com/docs/containers?topic=containers-comm-ingress-annotations#preserve_source_ip_classic
基本上您所做的与您所描述的相同,只是您编辑了现有的 alb 服务。
步骤:
- kubectl edit svc
-n kube-system - 根据规范,将 externalTrafficPolicy 的值从 Cluster 更改为 Local。