无需停机即可配置蓝色/绿色GKE集群交换机

时间:2019-07-19 07:38:07

标签: google-cloud-platform network-programming google-kubernetes-engine

当我们从蓝色的gke群集更改为绿色的gke群集时,确保传入流量立即进入新群集且没有客户端中断的最佳方法是什么?

我们目前使用CloudFlare api来保持dns的更新,但是我们不希望等待dns传播。

我们考虑了以下内容:

  1. 保留的IP-重新分配IP地址时,将导致短暂的停机时间 IP。
  2. 负载均衡器-可能。
  3. 使用另一个群集作为负载均衡器-可能,但是在该群集上进行B / G切换又如何呢?

2 个答案:

答案 0 :(得分:0)

为什么要在群集之间切换?您可以以最少的工作量和最少的额外资源在同一群集中实现blue/greencanary部署。

您将流量从一个群集重定向到另一个群集的第二秒,将有一个延迟。现在,如果两个群集都保持运行,则不会有停机时间,但是切换会有所延迟,不会立即发生。您可以让绿色集群运行并接收流量,并部署蓝色集群;蓝色群集启动后,更新您的DNS以指向您的服务的新外部IP。传播可能会花费一些时间,但是不会有任何停机时间。

答案 1 :(得分:0)

您可以使用带有flagio的istio在GKE中实现蓝色/绿色部署,Flagger以金丝雀和蓝色/绿色部署而闻名。您无需在不同群集之间更改DNS即可实现蓝色/绿色。

您要做的是为kubernetes创建部署文件(yaml),并使用kind:Canary定义创建新文件。 K8将在自动负载测试和一致性测试之后部署您的应用。(您可以查看此文档以获取更多信息:https://docs.flagger.app/usage/blue-green