我们将Kubernetes与Azure一起用作云提供商。我的问题的相关设置是我们有一个负载均衡器和一个连接到所有工作虚拟机的网络安全组。所以基本上每次创建服务时,它都会在LoadBalaner前端IP配置中创建一条记录,并在网络安全组中添加一条规则,其中包含指定的目标端口和源IP地址(这限制了它可以从哪个源IP访问哪个端口的VM) 。)
这个设置的问题是,如果我有一个使用对公共IP开放的端口5000的服务,以及另一个也使用端口5000但仅对特定IP开放的服务,则这两个服务都是有效开放的公共IP,因为NSG规则是附加的。请注意,这里的5000端口号并不代表实际的VM节点端口(尽管这是Azure认为的),因为它在每台机器中都由kube-proxy处理,它会将流量发送到具有相应节点端口的正确VM。这就是为什么使用具有不同入口规则设置的相同端口的两个服务是有意义的。
有什么方法可以缓解这个问题吗?我想不出任何架构设置我可以处理具有相同目标端口的多个服务的不同入口规则。
谢谢