Ingress记录真实IP
2022-07-22k8skinghu634°c
A+ A-由于此功能的实现,目标容器中看到的源 IP 将 不是客户端的原始源 IP。 要启用保留客户端 IP,可以在服务的 spec 中配置以下字段(支持 GCE/Google Kubernetes Engine 环境):
service.spec.externalTrafficPolicy
- 表示此服务是否希望将外部流量路由到节点本地或集群范围的端点。 有两个可用选项:Cluster(默认)和 Local。 Cluster 隐藏了客户端源 IP,可能导致第二跳到另一个节点,但具有良好的整体负载分布。 Local 保留客户端源 IP 并避免 LoadBalancer 和 NodePort 类型服务的第二跳, 但存在潜在的不均衡流量传播风险。service.spec.healthCheckNodePort
- 指定服务的 healthcheck nodePort(数字端口号)。 如果未指定healthCheckNodePort
,服务控制器从集群的 NodePort 范围内分配一个端口。 你可以通过设置 API 服务器的命令行选项--service-node-port-range
来配置上述范围。 它将会使用用户指定的healthCheckNodePort
值(如果被客户端指定)。 仅当type
设置为 LoadBalancer 并且externalTrafficPolicy
设置为 Local 时才生效。
helm pull bitnami/nginx-ingress-controller helm install ing ./nginx-ingress-controller
编辑values.yaml
找到externalTrafficPolicy: ""
,默认为Cluster
,改为Local
externalTrafficPolicy: "Local"
标签:k8s