扩展 Dokku 基础设施

扩展 Dokku 基础设施

我刚刚完成了基于 Dokku 的基础设施的设置,但我很好奇如何扩展它。我按照本教程进行了操作数字海洋,但没有提及 HA 或可扩展性。

是否可以对 dokku 实例进行负载平衡?如何为这种基于 docker 的基础设施提供 HA?我应该改用 Deis 还是等待 Flynn 发布?你们推荐一些关于这个主题的好书吗?

答案1

2019年更新:

Hephy 工作流程是 Deis Workflow 的一个分支。这可能是编辑时对这个问题最合乎逻辑的答案。

Deis 不再是一个有效的答案(而且很长时间以来都是如此)。Deis 已被弃用,取而代之的是一个名为 Deis Workflow 的新平台,这是一个类似于 Deis 的 PaaS,基于 Kubernetes 构建。但 Deis Workflow 也已被弃用。

除了 Hephy 之外,还有弗林。但我不知道该项目的状态。链接已失效。但我会在下面保留原始答案。


Dokku 实际上正在与 OpDemand 和 Deis 合作,为那些想要多主机(反之亦然)的人提供清晰的升级路径。请参阅http://deis.io/deis-sponsors-dokku/http://progrium.com/blog/2014/10/28/deis-breathes-new-life-into-dokku/

Deis 将为您提供:

  • 多个路由器用于平衡您的实例的负载。
  • 扩展实例的命令(非常类似于 Heroku)。
  • 这种架构要求您在 3 个或更多主机上运行,​​从而获得一定的容错能力和开箱即用的高可用性。

因此,要回答这个问题,更“官方”的方式很快将是来自 Dokku 世界时设置和使用 Deis。

答案2

Dokku 维护者在这里。

Dokku 0.33.x 带有 k3s 集成,并通过 k3s Kubernetes 实现提供与我们的单服务器产品相同的部署体验。添加和删除节点非常简单(scheduler-k3s:cluster-add/cluster-remove),并且通常使用 Dokku 执行的所有操作都可以使用 k3s 实现,例如部署 cron 作业、进入正在运行的容器以及使用 letsencrypt 配置 Web 服务。


旧回复

提供自定义调度程序(如 Flynn 或 Nanobox 等软件提供的调度程序)不太可能发生。相反,我们将支持与现有解决方案(如 ECS、Kubernetes 和 Nomad)集成。目前,我们正在开发一些 HA 选项,这些选项利用插件架构为 Dokku 提供替代调度程序。

目前两种方法都有效,但选择哪种方法以及如何将它们与基础设施集成取决于您的需求。欢迎加入我们的 Slack/IRC,帮助指导每种集成的未来发展。


此外,Deis 对 Dokku 的支持相当少,而且主要用在共享工具上(herokuish 和一些应用程序构建方面)。这两个项目之间没有其他联系,Dokku 和 Hephy Workflow 之间也没有现有联系(尽管我们祝愿该项目一切顺利!)。我们鼓励人们使用最佳解决方案来解决他们的问题,无论是 Dokku、Flynn、Deis、Heroku 还是任何其他平台。

答案3

Dokku(如文档) 不会执行以下任务:

  • 多主机。这不是一个巨大的飞跃,但这不是它的项目。看看 Deis。
  • 多租户。它已经准备好了,但是再次看看 Deis。
  • 客户端应用程序。考虑到限制,通过 SSH 远程运行命令是可以的。

您可能需要查看用于扩展 dokku 的其他多主机解决方案:

或者使用 CoreOs 自行构建

相关内容