1

我有两个类似的服务/部署/入口在两个 GKE/K8S 命名空间中运行:ns-A(旧),ns-B(新)。ns-A 的入口就像myservice.mycompany.com. 所有客户端都myservice.mycompany.com用于访问 ns-A 中的旧服务。

现在,我需要将流量从 ns-A 部署到 ns-B。我需要所有客户端访问 ns-B 中的新服务。我可以在 ns-B: 中为新服务创建一个新入口,myservice-B.mycompany.com并更新所有服务以使用这个新端点。

但我有很多客户。可以使用其他方式将金丝雀从 ns-A 部署到 ns-B。我查看了轮廓,但轮廓不能支持两个命名空间的推出。

是否可以使用 DNS 切换或集群内部 DNS 名称来推出金丝雀?你能提供更多细节吗?谢谢

4

1 回答 1

2

您可以在入口级别实现金丝雀,而不是 DNS 之一。比如说,ingress-nginx开箱即用的支持金丝雀部署的新版本。
https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#canary

很好的例子。
https://medium.com/@domi.stoehr/canary-deployments-on-kubernetes-without-service-mesh-425b7e4cc862

请注意,ingress-nginx金丝雀实现要求您的服务位于不同的命名空间中。

于 2020-12-13T01:25:04.240 回答