比较我的用例

时间:2018-02-24 11:55:27

标签: docker kubernetes cluster-computing production-environment docker-swarm

我一直在尝试使用Docker Swarm并研究其他解决方案,例如Kubernetes,但我无法弄清楚什么对我的用例最好,我可以使用专家的一些帮助,所以你的输入非常欢迎。

我对我想要构建的云有一些要求,并且(显然)应该尽可能便宜,简单和可靠地完成:

  • 主机无状态容器,例如Web容器,带有自动HTTPS的生产质量负载均衡器(让我们加密)
  • 主机有状态容器,例如MySQL,都采用非集群方式(所以:我只有一个副本(因为我不需要在那里扩展),但是如果那个服务器出现故障,那么如果那个容器就好了自动移动到另一台主机,没有数据丢失)和集群方式(例如Galeria)。
    • 这些数据库需要快速存储,因此最好首先在本地存储它们的内容,当它们移动时,卷随之移动。
  • 使用开源解决方案可能的最快的diskpeed自动在主机之间共享卷。
  • 最好留在我当前的数据中心,在那里我托管我的VPS(我有三个,连接10GBit链接)在SSD存储上
    • 说明:我想留在我目前的数据中心,因为我喜欢他们的支持,他们有简单的自动(非信用卡,因为我经营荷兰公司)付款,他们是负担得起的,他们有很好的认证(如如ISO 27001:2013,PCI DSS,ISO 9001:2008,NEN 7510等)。
    • 您可能会建议迁移到Azure,AWS或GCP,但我不愿意。
    • 我不介意建立我自己的集群,只要它可以单独使用(相对)生产质量。

请记住,我没有运行很多服务(只有10-20),但我确实需要生产质量和高可用性。

此外,我更喜欢运行通常不在容器中运行的东西,无论如何在容器生态系统中具有更大的灵活性,并在主机自动失败时重新启动它们。

我已经考虑过的事情

  • 使用Traefik和Gluster运行Docker Swarm:Traefik似乎稳定(大部分时间),自动获取证书,Gluster可以轻松地用于共享卷。但是:没有支持的生产质量Gluster卷驱动程序,因此我必须使用绑定挂载,并且我遇到权限问题。
  • 使用一些入口控制器运行Kubernetes(例如cert-manager,但这不是用于生产,或Traefik或Voyager?)和用于存储卷的Gluster系统,但Kubernetes似乎过于复杂。
  • 无论如何都要去AWS或GCP,但他们的定价令人困惑,他们用信用卡付款。
  • 使用像Flynn这样的东西,因为我只有Web应用程序,Heroku样式系统看起来很有趣,但它们在稳定版本中仍然没有HTTPS支持:https://github.com/flynn/flynn/issues/1995

1 个答案:

答案 0 :(得分:1)

老实说,从纯ROI和运营负载的角度来看,它听起来不像当前数据中心的容器运行时是这个问题的正确解决方案。

从运营商的角度来看,当存在使用VM / VPS难以解决的租赁和异构问题时,容器系统是有意义的,并且工厂的规模至少为几十个节点。以HA方式运行任何容器基础设施是很多工作,并且有很多极端情况需要专门的专家关注。需要足够大才能使这项投资有意义。

如上所述,具有冗余的工厂可以在少数/十几个VM / VPS上运行。它需要一些精心的架构来实现所需的可用性级别,但是用于管理HA的VM上的数据库和无状态应用程序的模式,例如3x可伸缩性,已经非常成熟。

在集装箱世界中仍然发生了很多发现。特别是Kubernetes,每个季度都有一个全新版本,可以发现新的角落案例。

当然,了解它真的很有趣,但它仍然处于一个令人惊叹的状态,它看起来很有效,而不是无聊。