HA生产基础架构和服务器管理解决方案

时间:2018-01-07 16:50:01

标签: kubernetes devops high-availability rancher infrastructure

我的公司主要专注于网络和移动开发。我们的一些客户希望拥有由我们托管和管理的后端或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。

优点:

  • 易于设置
  • 多种环境。一个管理开发,生产基础设施的小组。
  • 理论上,Cloudflare LB有100%SLA

缺点:

  • 最大的问题是Cloudflare LB使用DNS记录进行负载均衡。因此,我们的客户需要将他们的域重定向到Cloudflare上的DNS服务器,或者为我们的域添加CNAME记录。它们都不是理想的解决方案:/ CNAME对我认为的SEO不好。
  • 许多域名和许多请求都会变得昂贵。

注意:我已经测试了这个解决方案并且它运行得很好,在使用LoadBalancer关闭节点或应用程序停机时间大约是20s-60s之后,所以只需要旋转新容器所需的时间。

第3。牧场主+浮动IP +保持活力 如前所述,在HA模式下设置Rancher使用牛或Kubernetes。然后为LoadBalancer设置几个主机。然后为LoadBalancers的节点设置keepalive和(DigitalOcean)浮动IP。

DigitalOcean floating ip diagram

优点:

  • 易于设置
  • 多种环境。一个管理开发,生产基础设施的小组。
  • 没有单一的故障

缺点:

  • LoadBalancers节点需要在DigitalOcean上

4。使用Kubernetes引擎的Google Cloud Platform上的Kubernets 在GCP上以HA模式设置Kubernetes。

优点:

  • 在GCP上超级简单易用。只需点击一下

缺点:

  • 我找不到GCP负载均衡器的SLA。但可能单点故障和SLA不是100%
  • 我们会将此Kubernetes群集附加到一个云提供商
  • 每个应用程序都有LB,即使它很小也会变得昂贵。
  • 比Rancher更糟糕的网络面板

5。 Rancher 2.0根据环境使用以上所有 使用Rancher 2.0,我们可以使用上述所有解决方案,将现有的Kubernetes集群添加到Rancher中。所以它适用于GCP上的Kubernetes引擎。但是,它是alpha版本,尚未部署HA。

大多数情况下,我正在考虑设置选项3.然后,如果将发布rancher 2.0,则更改它以及更大的应用程序使用GCP和Kubernetes Engine。有人更好的解决方案?或者我应该使用提供的其他解决方案?

0 个答案:

没有答案