在使用calico为每pod一个ip网络设置了kubernetes集群之后,我想知道向外部世界公开服务的最佳实践是什么。我这里有两个选项,BGP内部pod IP (172...)到边缘路由器/防火墙(在我的例子中是vyos),并在防火墙/路由器上执行SNAT。但是我需要每个pod有一个公共IP来暴露。优点:需要使用较少的公有IP缺点: Pod更改需要更新防火墙规则?!
第二步:获取提供的公共网络,并将其作为IP池移交给calico,用于pods。缺点:大量公网IP被浪费在内部<
Http服务器在防火墙后面的本地计算机(IP: X.X:10101)上运行。为了使Http服务器对外部请求可见,我在防火墙上添加了从外部接口Y.Y:8080到X.X:10101的端口转发。现在:当我收到来自外部主机的请求时,我看到HttpListenerRequest.Url被设置为Y.Y:10101-所以它是内部和外部接口的混合(IP属于外部接口,端口属于内部接口)。这种行为的原因是什么?我希望url应该是Y.Y:8080。有没有办法“重新分配”请求发布到的原始url?
致以最好的问候,It Man