我遇到过这样一种情况:多个Kubernetes名称空间被配置为使用一个入口主机。并且对K8s入口控制器的请求将来自负载均衡器F5。
如果用户向example.com/api/service1发送请求,该请求将登陆F5,F5会将其路由到工作节点,而不会更改URL。K8s入口需要将请求路由到不同的名称空间,但正如我所提到的,所有名称空间都使用相同的入口(example.com)。
我关心的是K8s入口如何将请求转发到适当的名称空间?有什么想法吗?提前谢谢。
发布于 2020-07-07 04:46:35
由于安全原因,对这类东西的支持在一段时间前是decided against。但是,正如问题中所指出的,解决方法是在定义入口的名称空间中创建一个没有标签的服务,然后手动添加另一个名称空间上的服务的IP地址作为端点。
另一种解决方法是在F5中使用path-based路由。然后有2个(或更多)具有不同ingress classes的入口控制器。这些入口控制器中的每一个都可以使用NodePort服务公开,然后您可以根据传入的NodePort路径执行从F5到任一L7服务的基于路径的路由。
使用actual BIG-IP F5 ingress controller可能还有其他可能的组合。
https://stackoverflow.com/questions/62762874
复制相似问题