我在kubernetes中有多个由多个名称空间表示的环境。
所有应用程序的服务端点都在每个命名空间中定义。 我们有三个环境,即dev,alpha和beta。 (相当于开发,测试和阶段)。这些环境是永久性的,这意味着所有应用程序都在其中运行。
现在在我们的团队中,很少有并行开发正在发生,我们计划为此版本创建多个环境,并且只有很少的应用程序属于该版本。
让我们考虑这个示例:我正在构建feature1并对app1和app2产生影响
还有10个其他应用程序没有任何影响。
因此,对于我的开发和大多数服务的并行测试,我必须指向现有的alpha或beta env,并且仅将app1和app2指向命名空间。
我可以通过为所有其他服务建立一个ExternalName映射来实现这一目标。
但是,如果我有100多个服务并以Yaml方式管理外部端点,我会感到非常困难。
有什么方法可以将所有流量路由到另一个名称空间(如果不存在使用该名称的服务。)
是否可以为命名空间使用全局ExternalName?
答案 0 :(得分:0)
据我所知,不可能基于当前名称空间中的现有pod或Services将流量重定向到其他名称空间。您只能通过更改服务的YAML配置来为其选择目的地,并且只能在同一名称空间中选择Pod。
您可以使用Helm charts简化部署过程。它允许您将变量放入部署,服务等的YAML配置中,并在安装到群集期间使用单独的值文件替换它们。这是指向Using Helm to deploy to Kubernetes
上博客文章的链接。