参照文章http://www.cnblogs.com/lyzw/p/6016789.html在两台阿里云ECS主机安装与配置flannel,在专有网络下两台主机只能通过公网ip连通,所以flannel还需要额外一些配置才能连通。这里只有一台etcd主机,在etcd主机执行命令
etcdctl ls /flannel/network/subnets/
/flannel/network/subnets/172.17.40.0-
/flannel/network/subnets/172.17.36.0-
返回结果是两台安装flannel保存在etcd的子网信息,查看其中一个键值,PublicIP的值原来是内网ip,但两个不同帐号ECS内网ip是不连通的,所以要将两台主机键值改为公网ip
etcdctl set /flannel/network/subnets/172.17.40.0- '{ "PublicIP": "ip" }'
或配置flannel启动参数--public-ip=""
最后测试连通性,进入bash后,ip addr 查看各自ip,互相 ping 一下对方的ip,应该是可以ping通的。
docker run -it bash
ip addr
参照资料
http://www.cnblogs.com/lyzw/p/6016789.html