我已经尝试在 Giant Swarm 上建立一个工作箱集群有一段时间了,但到目前为止还没有真正成功。
这是我迄今为止的尝试:
- 使用多播并将 crate 作为单个组件进行部署。如果该组件的所有实例最终都位于同一主机上,则此方法有效,但不幸的是,这并不可靠。
对两个组件使用单播,每个组件通过 URL 公开端口
4300
。这会导致每个组件在发现间隔(默认情况下每 30 秒)内接收到消息。不幸的是,Giant Swarm 在其 URL 上仅支持HTTP
,因此组件发送的所有消息都是来自HTTP
以外的错误消息。对两个组件使用单播并尝试通过其
IP
发现它们。我设置了从一个组件到另一个组件的 Giant Swarm 依赖关系(不支持循环依赖关系)。我无法让它工作,因为 Giant Swarm 不允许我在创建 docker 容器(在 this blog post to run crate on the google cloud platform 中使用)之前运行脚本,并且 docker 不允许我运行脚本 support bidirectional linking.
我现在已经没有想法了,我对 crate 或巨群有什么遗漏吗?到目前为止,我看到的唯一一个类似的例子是 blog post我在上面链接了它,它使用了我无法在 Giant Swarm 上使用的机制。
对于如何使这项工作或想法朝着正确的方向发展,我将不胜感激。
最佳答案
当前(2015 年 5 月)的答案是:在我们根据要求向客户提供的私有(private) Giant Swarm 集群上,我们支持多播。因此,Crate.IO 集群的道路已经铺好。
我们使用Weave对于网络部分。
2015 年 9 月编辑:我们刚刚发布了 blog post解释如何在 Giant Swarm 上设置 Crate 集群。
关于docker - 如何在 Giant Swarm 上部署 crate 集群?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29187305/