nginx - 为 Kubernetes 入口保留客户端源 IP?

标签 nginx kubernetes ibm-cloud kubernetes-ingress nginx-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。

关于nginx - 为 Kubernetes 入口保留客户端源 IP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56656103/

相关文章:

ruby - 通过 passenger 自动安装 nginx

django - 使子域读取父域 session

amazon-web-services - AWS EKS K8s Service 和 CronJob/Jon 同节点

ssh - 如何将文件从 Liberty on Bluemix 复制到 Windows?

machine-learning - IBM Watson Natural Language Classifier 是否支持多个类和多个类集?

linux - Bluemix 安全网关服务出现 "Command node not found"错误

php - nginx 本地网络服务器的所有权和权限

c# - 在我的 Rpi 上加载资源时出现 SSL 问题

docker - 有没有办法在 Ubuntu docker 容器中通过 Dockerfile 安装 MySQL?

kubernetes - 如何通过 --config 参数创建供 kube-scheduler 使用的配置文件