我的公司主要专注于网络和移动开发。我们的一些客户希望拥有由我们托管和管理的后端或Web应用程序,因为我们有几个应用程序和服务器需要管理。我正在寻找一种解决方案,将所有这些服务器放在一个面板下,并且最重要的是将所有这些应用程序部署在高可用性中。此外,我们在许多不同的云提供商中都有服务器,如果可以使用它们会很好。 我已经找到并测试了一些解决方案。也许有人有同样的问题并找到了更好的解决方案,或者你可以建议哪一个是最好的?
1。 Rancher + DNS Round Robin
将使用牛或Kubernetes在HA模式下设置Rancher。然后为loadBalancer设置几个主机,并使用DNS Round Robin实现HA。将所有LoadBalancer的ip放入每个Web应用程序的DNS记录中。
优点:
缺点:
2。 Rancher + Cloudflare负载均衡器 如前所述,在HA模式下设置Rancher使用牛或Kubernetes。然后为LoadBalancer设置几个主机,并使用Cloudflare LoadBancer指向用于LoadBalancers的牧场主节点来实现HA。
优点:
缺点:
注意:我已经测试了这个解决方案并且它运行得很好,在使用LoadBalancer关闭节点或应用程序停机时间大约是20s-60s之后,所以只需要旋转新容器所需的时间。
第3。牧场主+浮动IP +保持活力 如前所述,在HA模式下设置Rancher使用牛或Kubernetes。然后为LoadBalancer设置几个主机。然后为LoadBalancers的节点设置keepalive和(DigitalOcean)浮动IP。
DigitalOcean floating ip diagram
优点:
缺点:
4。使用Kubernetes引擎的Google Cloud Platform上的Kubernets 在GCP上以HA模式设置Kubernetes。
优点:
缺点:
5。 Rancher 2.0根据环境使用以上所有 使用Rancher 2.0,我们可以使用上述所有解决方案,将现有的Kubernetes集群添加到Rancher中。所以它适用于GCP上的Kubernetes引擎。但是,它是alpha版本,尚未部署HA。
大多数情况下,我正在考虑设置选项3.然后,如果将发布rancher 2.0,则更改它以及更大的应用程序使用GCP和Kubernetes Engine。有人更好的解决方案?或者我应该使用提供的其他解决方案?