etcd: 开源分布存储
Mutil-host networking with etcd
setup etcd cluster
在docker-node1上
1 | vagrant@docker-node1:~$ wget https://github.com/coreos/etcd/releases/download/v3.0.12/etcd-v3.0.12-linux-amd64.tar.gz |
在docker-node2上
1 | vagrant@docker-node2:~$ wget https://github.com/coreos/etcd/releases/download/v3.0.12/etcd-v3.0.12-linux-amd64.tar.gz |
检查cluster状态
1 | vagrant@docker-node2:~/etcd-v3.0.12-linux-amd64$ ./etcdctl cluster-health |
重启docker服务
在docker-node1上
1 | $ sudo service docker stop |
在docker-node2上
1 | $ sudo service docker stop |
创建overlay network
在docker-node1上创建一个demo的overlay network
1 | vagrant@docker-node1:~$ sudo docker network ls |
我们会看到在node2上,这个demo的overlay network会被同步创建
1 | vagrant@docker-node2:~$ sudo docker network ls |
通过查看etcd的key-value, 我们获取到,这个demo的network是通过etcd从node1同步到node2的
1 | vagrant@docker-node2:~/etcd-v3.0.12-linux-amd64$ ./etcdctl ls /docker |
创建连接demo网络的容器
在docker-node1上
1 | vagrant@docker-node1:~$ sudo docker run -d --name test1 --net demo busybox sh -c "while true; do sleep 3600; done" |
在docker-node2上
1 | vagrant@docker-node2:~$ sudo docker run -d --name test1 --net demo busybox sh -c "while true; do sleep 3600; done" |
验证连通性。
1 | vagrant@docker-node2:~$ sudo docker exec -it test2 ifconfig |