首页 > 解决方案 > 为 Kubernetes 入口保留客户端源 IP?

问题描述

我正在使用这个 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

我想保留客户端源公共 IP。在我的服务中,我正在设置ExternalTrafficPolicy: Local,直接点击 LoadBalancer 时它可以工作,但我不知道通过 Ingress 时需要什么设置。

标签: nginxkubernetesibm-cloudkubernetes-ingressnginx-ingress

解决方案


要保留 Ingress 源 IP,请参阅以下步骤:https ://cloud.ibm.com/docs/containers?topic=containers-comm-ingress-annotations#preserve_source_ip_classic

本质上,您执行的操作与您描述的相同,只是您编辑了现有的 alb 服务。


脚步:

  • kubectl 编辑 svc <ALB_ID> -n kube-system
  • 在规范下,将 externalTrafficPolicy 的值从 Cluster 更改为 Local。

推荐阅读