我有3个申请。
网关,ServiceA和ServiceB。
每个应用程序都位于其自己的名称空间中。只要在这三者中的任何一者上推送到CI / CD服务器,就会根据分支名称进行部署。
示例:
feature-1
分支构建并部署到Kubernetes集群。 feature-1
上查找默认值develop
。对于网关,它从feature-1
创建一个develop
并将其部署。 feature-1
知道ServiceA的DNS URL,以便能够对其进行调用。 所以我的问题是如何使用kubernetes在应用程序lvl上进行服务发现?
答案 0 :(得分:0)
我认为有两种方法可以实现。
1)查询来自Kubernetes主站的所有服务,其API等效于kubectl get services --all-namespaces
。然后,您将需要配置一些逻辑以选择正确的服务。
为此,您可以使用例如Selector
,targetPort
或指定ClusterIP
。
可以在documentation中找到更多详细信息。
2)将从每个分支构建的应用程序放置在新的名称空间中,并允许它们在名称空间中路由至其惯用名称,而无需更改应用程序。在documentation中有更多信息。