docker集群四(etcd+flannel)下
安装flanel之前要确认etcd已经安装成功
etcdctl member list
etcdctl cluster-health
然后设置docker运行所依赖的网络配置信息
etcdctl set /lingtu/network/config '{"Network":"172.17.0.0/16", "SubnetMin": "172.17.1.0", "SubnetMax": "172.17.254.0"}'
/lingtu/network/config 只是一个存储目录后面docker要从这里面获取配置信息flannel0.9.0安装配置
创建目录
mkdir /root/flannel
解压flannel
tar zxvf flannel-v0.9.0-linux-amd64.tar.gz -C /root/flannel
控制台测试运行flannel
在主机docker3执行
/root/flannel/flanneld -etcd-endpoints=http://docker3:2379 -iface=eth0 -etcd-prefix=/lingtu/network
测试
主机docker4执行
/root/flannel/flanneld -etcd-endpoints=http://docker4:2379 -iface=eth0 -etcd-prefix=/lingtu/network
测试
查看日志没有问题,然后各个主机后台运行flannel
/root/flannel/flanneld -etcd-prefix=/lingtu/network -etcd-endpoints=http://docker3:2379,http://docker4:2379 --iface=eth0 --ip-masq=true >> /root/flannel/flanneld.log 2>&1 &
运行完成后会在各自主机自动生成文件 /run/flannel/subnet.env
文件内容如下
FLANNEL_NETWORK=172.17.0.0/16
FLANNEL_SUBNET=172.17.54.1/24
FLANNEL_MTU=1472
FLANNEL_IPMASQ=true
source /run/flannel/subnet.env
为docker依赖flannel做准备
docker托管到flannel
ifconfig 检查本机网卡配置
本机已经存在docker0的网卡,并且网段和flannel不在一个网段,肯定是不行的,那么去掉他。
sudo service docker stop
sudo ip link set dev docker0 down
sudo brctl delbr docker0
生效docker启动参数
source /run/flannel/subnet.env
启动docker
docker --bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU} -d >> /root/docker/docker1.log 2>&1 &
查看docker 的启动参数,已经带上了flannel的配置
ps axf | grep docker
查看docker的网段已经发生了变化
至此,etcd+flannel+docker 在centos上面的集群部署已经完成,如何实验部署是否成功呢。
简单介绍docker的命令
docker pull tomcat 从镜像库拉取tomcat镜像
docker images 可以看到拉取的镜像
docker run -it --name="tomcat" -p 8080:8080 tomcat:tags 可以启动该镜像的tomcat容器
docker exec -it container_id bash 可以进入容器中
然后在各自主机互相用 ping 来测试网络是否互通,docker的集群到此完成。
转载于:https://blog.51cto.com/zhanglele/2350279