Kubernetes,自动服务回退到另一个命名空间

标签 kubernetes kube-dns kubernetes-service kubernetes-namespace

我的 kubernetes 中有多个由多个命名空间表示的环境。

所有应用程序都在每个命名空间中定义了其服务端点。
我们有三个环境,dev、alpha 和 beta。 (这相当于开发、测试和阶段)。这些环境是永久性的,这意味着所有应用程序都在那里运行。

现在在我的团队中,很少有并行开发发生,我们计划为此版本创建多个环境,并且只有少数应用程序是该版本的一部分。

让我们想想这个例子:我正在构建 feature1 并对 app1 和 app2 产生影响

还有其他 10 个应用程序没有任何影响。

因此,对于我的开发和并行测试,大多数服务必须指向现有的 alpha 或 beta 环境,并且只指向命名空间中的 app1 和 app2。

我可以通过为所有其他服务创建一个 ExternalName 映射来实现这一点。

但是如果我有 100 多个服务并且在一个 yaml 中管理外部端点,我会觉得非常困难。

有什么方法可以将所有流量路由到另一个命名空间(如果不存在具有该名称的服务。)

有没有办法为命名空间设置全局 ExternalName?

最佳答案

据我所知,不可能根据当前命名空间中的现有 pod 或服务将流量重定向到不同的命名空间。您只能通过更改其 YAML 配置来为 Service 选择目的地,并且只能选择同一命名空间中的 Pod。

您可以使用 Helm charts 来简化部署过程。 .它允许您将变量放入部署、服务等的 YAML 配置中,并在安装到集群期间使用单独的值文件来替换它们。这是 Using Helm to deploy to Kubernetes 上博客文章的链接

关于Kubernetes,自动服务回退到另一个命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52924799/

相关文章:

kubernetes - 在 Kubernetes 集群上刷新 CoreDNS 缓存

docker - Kubernetes中的Redis哨兵集群,哨兵无法到达redis master

wordpress - Kubernetes HTTP active 探测失败并显示 "connection refused",即使 URL 在没有它的情况下也能正常工作

docker - kube-dns 无法解析 'kubernetes.default.svc.cluster.local'

Kubernetes DNS 不解析外部地址

kubernetes - 如何显式定义 Kubernetes 服务的端点

Kubernetes 维护死机列表

docker - 如果我使用 docker hub 而不是 google image registry,会对我的账单产生什么影响?

kubernetes - 在 YAML 中对 Kubernetes 服务设置注释的正确方法是什么

kubernetes - 是否可以在 Kubernetes 中公开 initContainers 上的端口?