【发布时间】:2020-01-02 21:01:18
【问题描述】:
我目前正在考虑在我们的服务结构集群上部署 Traefik/Træfik。
基本上我有一个设置,其中我有任意数量的应用程序(服务),使用租户名称定义,并且这些服务中的每一个实际上都是一个单独的 Web UI。
我想弄清楚是否可以将单个前端配置为以后端为目标,这样我就不必在每次部署新的 UI 应用程序时都定义新的前端。类似的东西
[frontend.tenantui]
rule = "HostRegexp:localhost,{tenantName:[a-z]+}.example.com"
backend = "fabric:/WebApp/{tenantName}"
这个想法是让我可以部署新的 UI 服务而不更新前端配置。
我目前正在为我的后端服务使用 Service Fabric 提供程序,但如果需要,我愿意使用文件提供程序或其他东西。
更新: servicemanifset 包含标签,以便让 traefik 创建后端和前端。
标签是为一项服务定义的,我们以WebUI 为例。现在,当我部署 WebUI 的实例时,它会获得一个标签,并且 traefik 可以理解它。
然后我使用一组不同的参数部署另一个实例,它仍然是 WebUI 服务,它使用相同的清单,因此它获得相同的标签和相同的路由。但我真正想要的是让它有一个包含某种规则的标签,这样我就可以路由到服务实例的名称(在运行时而不是设计时确定)。具体来说,我希望运行时部分成为域名的一部分(因此建议使用 HostRegexp 样式规则)
【问题讨论】:
-
我不确定我是否理解正确。您确实在服务清单中使用 Traefik 标签来配置路由吗?也许您可以在当前方法中添加更多细节。
-
添加更新以澄清需求(希望它能澄清事情)
标签: azure-service-fabric traefik