【发布时间】:2018-10-22 08:07:08
【问题描述】:
我的 kubernetes 中有多个由多个命名空间表示的环境。
所有应用程序都有在每个命名空间中定义的服务端点。 我们有三个环境,dev、alpha 和 beta。 (相当于开发、测试和阶段)。这些环境是永久性的,这意味着所有应用程序都在其中运行。
现在在我的团队中,很少有并行开发发生,我们计划为此版本创建多个环境,并且只有少数应用程序是该版本的一部分。
让我们想想这个例子:我正在构建 feature1 并对 app1 和 app2 产生影响
还有 10 个其他应用没有任何影响。
因此,对于我的开发和并行测试大多数服务,我必须指向现有的 alpha 或 beta 环境,并且只指向命名空间中的 app1 和 app2。
我可以通过为所有其他服务使用 ExternalName 映射来实现这一点。
但如果我有超过 100 个服务并在 yaml 中管理外部端点,我会感到非常困难。
有什么方法可以将所有流量路由到另一个命名空间(如果不存在具有该名称的服务。)
有没有办法为命名空间设置全局 ExternalName?
【问题讨论】:
-
这将在哪里运行?您正在使用自己的裸机或任何云提供商?我问是因为我会推荐 LoadBalancer,如果它是裸机检查service-loadbalancer,GCP 和 AWS 有自己的 LB。
-
我使用 kops 在 aws 上运行
-
也许你可以使用带有环境功能的 gitlab auto devops
标签: kubernetes kube-dns kubernetes-service kubernetes-namespace