我已经尝试在Giant Swarm上建立一个可工作的板条箱集群很长一段时间了,但到目前为止还没有真正成功。
以下是我迄今为止的尝试:
- 将多播和部署机箱作为单个组件。如果该组件的所有实例最终都在同一台主机上,这是可行的,不幸的是,这是不可靠的
-
使用带有两个组件的单播,每个组件通过url公开端口
4300
。这会导致每个组件在发现间隔内(默认情况下每30秒)接收消息。不幸的是,Giant Swarm在其url上只支持HTTP
,因此所有来自HTTP
以外的错误消息都由组件发送。 -
使用具有两个组件的单播,并尝试通过它们的
IPs
来发现它们。我设置了从一个组件到另一个组件的Giant Swarm依赖关系(不支持循环依赖关系)。我无法做到这一点,因为Giant Swarm不允许我在创建docker容器(本博客文章中使用它在谷歌云平台上运行crate)之前运行脚本,而且docker不支持双向链接。
在这一点上,我没有想法,无论是板条箱还是巨型蜂群,我都缺少什么吗?到目前为止,我看到的唯一一个类似的例子是我在上面链接的博客文章,它使用了一个我无法在Giant Swarm上使用的机制。
如果您能就如何使这项工作发挥作用或提出正确的想法,我将不胜感激。
目前(2015年5月)的答案是:在我们应客户要求提供的私有Giant Swarm集群上,我们支持多播。因此,为Crate.IO集群铺设了道路。
我们使用Weave作为网络部分。
编辑2015年9月:我们刚刚发布了一篇博客文章,解释如何在Giant Swarm上建立陨石坑集群。
很抱歉,目前无法在Giant Swarm上部署Crate集群(>1个节点)(由于您提到的原因)。我们(Crate.IO)已经就此事与Giant Swarm取得联系。