我认为这就像使用公共 ip 而不是私有 ip 一样简单,这样机器就可以看到彼此,但事实并非如此。
这是我的 cloud-config 文件,它非常基础。
#cloud-config
coreos:
etcd:
# generate a new token for each unique cluster from https://discovery.etcd.io/new
discovery: https://discovery.etcd.io/<token>
# use $public_ipv4 if your datacenter of choice does not support private networking
addr: $public_ipv4:4001
peer-addr: $public_ipv4:7001
fleet:
public-ip: $public_ipv4 # used for fleetctl ssh command
units:
- name: etcd.service
command: start
- name: fleet.service
command: start
我需要什么才能让集群跨越多个数据中心?例如,我使用 Digital Ocean 并在新加坡、纽约和阿姆斯特丹配置了一台机器。
我的第二个问题是,由于我无法轻松找到对这个用例的支持,我想知道这是否不是使用 CoreOS 的推荐方式,如果不是,你能告诉我将我的服务分布在多个数据中心?