是否可以使用不同云提供商上的节点创建 docker swarm 集群?
假设其中一些在 AWS 上,一些在 GCE 上,一些在 Azure 上?
据我了解,只要您的节点可以相互访问,那么您就可以创建一个 swarm 集群。谁是您的云提供商或您的节点位于何处并不重要。
如果你仔细阅读swarm 部署文档,你会发现部署集群的关键是“让计算节点与控制器节点通信”。假设您已经安装了一个带有 swarm 的控制器节点和一个发现服务(例如 consul 或 etcd),您可以像这样添加一个计算节点:
$ docker run -d swarm join --advertise=<node_ip>:2375 consul://<consul_ip>:8500
您的控制器节点的 IP 地址在哪里node_ip
,consul_ip
应该是哪里。
所以棘手的部分是,你能让你的节点相互通信吗?其实这个问题并不容易回答。您需要关心 IP 分配、网络设计、路由器等。
是的。查看 Docker Machine 以获得设置基本基础架构的快速方法。