【发布时间】:2019-06-19 18:41:50
【问题描述】:
我有 3 个应用程序。
网关、ServiceA 和 ServiceB。
每个应用程序都位于自己的命名空间中。每当在所有 3 之一上推送到 CI/CD 服务器时。所有都根据分支名称进行部署。
例子:
- 在 ServiceA 存储库中创建一个新分支 (feature-1)。
- 进行并提交一些更改
- 构建服务器构建并部署具有唯一服务名称的
feature-1分支到Kubernetes 集群。 - 构建服务器查看 ServiceB 和网关以查找分支
feature-1,如果未找到则默认为develop。对于网关,它从develop创建一个feature-1并部署该网关。 - 网关然后需要知道来自
feature-1的ServiceA 的DNS URL 以便能够调用它。
所以我的问题是如何使用 kubernetes 在应用程序 lvl 上进行服务发现?
【问题讨论】:
-
Kubernetes 已经存储了数据并拥有一个 API。授予 RBAC 角色对您需要直接查询的区域的读取权限。部署时为您的功能添加元数据标签。
-
所以我可以在网关中使用github.com/kubernetes-client/javascript 之类的东西来查询K8S?
-
是的,你可以用 kubernetes 客户端查询服务并提取 dns
标签: kubernetes istio