当前位置: 首页 > 知识库问答 >
问题:

多个Kubernetes命名空间和单个入口主机

华温书
2023-03-14

我遇到了一种情况,多个Kubernetes命名空间被配置为使用一个入口主机。对K8s入口控制器的请求将来自负载平衡器F5。

如果用户向示例发送请求。com/api/service1,该请求将降落在F5上,F5将把它路由到工作节点,而不更改URL。K8s入口需要将请求路由到不同的命名空间,但正如我所提到的,所有命名空间都使用相同的入口(例如.com)。

我关心的是K8s入口将如何将请求转发到适当的命名空间?有什么想法吗?提前谢谢。

共有1个答案

郎华皓
2023-03-14

出于安全原因,不久前就决定不支持这样的内容。然而,如问题中所示,解决方法是在定义入口的命名空间中创建一个没有标签的服务,然后手动将服务的IP地址添加到另一个命名空间上作为endpoint。

另一个解决方法是在F5中使用基于路径的路由。然后有2个(或更多)具有不同入口类的入口控制器。这些入口控制器中的每一个都可以使用NodePort服务公开,然后您可以根据传入的L7路径,从F5到任意一个NodePort服务进行基于路径的路由。

使用实际的BIG-IP F5入口控制器可能还有其他可能的组合。

 类似资料:
  • 我试图在aws EKS中跨多个名称空间配置单个ALB,每个名称空间都有自己的入口资源。 我正在尝试在k8s v1.20上配置入口控制器aws loadbalancer控制器。 我面临的问题是,每次尝试部署新服务时,除了入口配置中指定的共享ALB之外,它总是启动一个新的经典负载平衡器。 https://kubernetes-sigs.github.io/aws-load-balancer-contr

  • 在阅读Spring Cloud Kubernetes文档时,似乎Spring Cloud Kubernetes支持跨多个名称空间从配置映射加载属性。以下是文档中的示例: 然而,根据Kubernetes文档,“Pod和ConfigMap必须位于同一名称空间中。” 那么,Spring Cloud Kubernetes是否支持跨多个名称空间从ConfigMaps加载属性?如果支持,允许这样做的正确配置是

  • 我使用maven-jaxb2-plugin生成java文件从wsdl之一。运行“生成源”目标后,我得到以下错误 有几个wsdl文件,我需要不同的目标包,所以我尝试使用绑定文件,但现在只有1个wsdl。 这是我的插件配置 这是装订。xjb文件 开始服务。wsdl文件 看起来问题与具有相同targetNamespace的多个xs:schema元素有关,但我找不到如何在不修改wsdl的情况下修复它。

  • 我需要在K8S中管理部署的建议。我需要使用gitops进行蓝色/绿色部署,这基本上给我留下了两个选择: 这将需要使用helm来管理删除资源等等,并通过helm通过代理管理blue/green,而这又将需要创建重复的部署模板(用于green和blue)。 优点:由掌舵人管理,会删除已删除的资源;似乎是一般的做法。 缺点:由helm管理,可能会搞砸一些东西,特别是在多个失败的部署中;可以创建雪花命名空

  • 我使用SpringBoot创建了一个SOAP Web服务服务器,并且我能够成功创建一个endpoint。但是,我无法创建多个endpoint并使用不同的URL访问它们。我想通过URL来访问处理该过程。 每个endpoint接收到的SOAP消息具有相同的模式。(命名空间和localpart是相同的!!!)我不想公开WSDL。 例如。 userA向以下URL发送以下SOAP消息:http://soap

  • 我有一个库伯内特斯集群,同一个应用程序运行几次,但名称空间不同。想象一下 现在我需要在所有这些 Pod 中每 10 分钟执行一次 cronjob。路径每次都是一样的。 有没有“最佳方法”来实现这一目标? 我在想一个以“CronJob”类型运行的 kubectl 图像,如下所示: 但我很确定这不是解决问题的正确方法。