【发布时间】:2021-07-29 14:25:55
【问题描述】:
我正试图在裸机 k8s 集群上向外界公开内部负载平衡。
假设我们有一个基本集群:
-
一些主节点和一些工作节点,有两个接口,一个面向公众 (eth0) 和一个本地 (eth1),ip 在 192.168.0.0/16 网络内
-
部署MetalLB并为其内部ip配置192.168.200.200-192.168.200.254范围
-
Ingress 控制器及其服务类型为 LoadBalancer
据我目前的理解,MetalLB 现在应该将 192.168.200.200-192.168.200.254 中的一个 ip 分配给入口服务。
但我有以下几个问题:
在每个节点上,我可以卷曲入口控制器 externalIP(只要它们在 eth1 上可访问),并附加主机标头,并从对应入口资源中配置的服务获得响应,还是仅在入口 pod 所在的节点上有效当前放置?
我有哪些选择可以将传入的外部流量传递到 eth0 到在 eth1 网络上侦听的入口?
是否可以转发请求保存源IP地址或附加X-Forwarded-For标头是唯一的选择?
【问题讨论】:
标签: kubernetes kubernetes-ingress metallb