istio日志获取真实来源IP

haproxy–> istio-ingressgateway

集群外haproxy四层代理到istio-ingressgateway地址。
haproxy开启send-proxy特性

frontend 443
    bind :443
    mode tcp
    use_backend 443-backend
backend 443-backend
    mode tcp
    server web1 192.168.11.10:30561 send-proxy check inter 3000 fall 3 rise 5
    server web2 192.168.11.26:30561 send-proxy check inter 3000 fall 3 rise 5

isito配置envoyfilter开启proxy_protocol协议支持

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: proxy-protocol
  namespace: istio-system
spec:
  workloadSelector:
    labels:
      istio: ingressgateway
  configPatches:
  - applyTo: LISTENER
    patch:
      operation: MERGE
      value:
        listener_filters:
        - name: envoy.filters.listener.proxy_protocol
        - name: envoy.filters.listener.tls_inspector

云厂商LoadbalanceIP -->istio-ingressgateway

参考ucloud的ulb4
https://docs.ucloud.cn/uk8s/service/getresourceip
为loadbalance类型的svc增加externalTrafficPolicy: Local

# kubectl edit svc istio-ingressgateway -n istio-system 
spec:
  externalTrafficPolicy: Local

当设置了externalTrafficPolicy为Local时,Node上的iptables规则会设置只将IP包转发到在本机上运行的Pod,如果本机上无对应Pod在运行,此包将被DROP。
对于其他未运行Service对应Pod的Node节点来说,ULB VServer对其健康检查探测会因为iptables的DROP规则而失败,这样来自用户的请求永远不会被发往这些节点上,可以确保这些请求都能被正确响应。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清枫cc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值