当我们从蓝色的gke群集更改为绿色的gke群集时,确保传入流量立即进入新群集且没有客户端中断的最佳方法是什么?
我们目前使用CloudFlare api来保持dns的更新,但是我们不希望等待dns传播。
我们考虑了以下内容:
答案 0 :(得分:0)
为什么要在群集之间切换?您可以以最少的工作量和最少的额外资源在同一群集中实现blue/green或canary部署。
您将流量从一个群集重定向到另一个群集的第二秒,将有一个延迟。现在,如果两个群集都保持运行,则不会有停机时间,但是切换会有所延迟,不会立即发生。您可以让绿色集群运行并接收流量,并部署蓝色集群;蓝色群集启动后,更新您的DNS以指向您的服务的新外部IP。传播可能会花费一些时间,但是不会有任何停机时间。
答案 1 :(得分:0)
您可以使用带有flagio的istio在GKE中实现蓝色/绿色部署,Flagger以金丝雀和蓝色/绿色部署而闻名。您无需在不同群集之间更改DNS即可实现蓝色/绿色。
您要做的是为kubernetes创建部署文件(yaml),并使用kind:Canary定义创建新文件。 K8将在自动负载测试和一致性测试之后部署您的应用。(您可以查看此文档以获取更多信息:https://docs.flagger.app/usage/blue-green)