安装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 &

image.png

     

运行完成后会在各自主机自动生成文件  /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 检查本机网卡配置

image.png

本机已经存在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

image.png

查看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的集群到此完成。