Docker网络~Flannel

前置条件:

已安装Docker

配置hosts:

192.168.6.162 master
192.168.6.162 etcd
192.168.6.157 node
  1. 关闭防火墙,安装etcd(仅master)

Docker网络~Flannel_第1张图片

  1. 编辑yum安装的etcd配置文件:

cp /etc/etcd/etcd.conf /etc/etcd/etcd.conf.bak
vi /etc/etcd/etcd.conf

  • 修改下面几个配置

    ETCD_NAME=master
    #节点名称
    ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
    #数据存放位置
    ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379,http://0.0.0.0:4001
    #监听客户端地址
    ETCD_ADVERTISE_CLIENT_URLS=http://etcd:2379,http://etcd:4001
    #通知客户端地址

  • 启动etcd并验证状态

systemctl start etcd

Docker网络~Flannel_第2张图片

  1. 安装Flannel(两节点相同)

yum install flannel -y

Docker网络~Flannel_第3张图片

  1. 配置Flannel(两节点配置相同)

Docker网络~Flannel_第4张图片
配置etcd中关于flannel的key(这个只在安装了etcd的master上操作)
Flannel使用Etcd进行配置,来保证多个Flannel实例之间的配置一致性,所以需要在etcd上进行如下配置(’/atomic.io/network/config’这个key与上文/etc/sysconfig/flannel中的配置项FLANNEL_ETCD_PREFIX是相对应的,错误的话启动就会出错)
在这里插入图片描述
在这里插入图片描述
温馨提示:上面flannel设置的ip网段可以任意设定,随便设定一个网段都可以。容器的ip就是根据这个网段进行自动分配的,ip分配后,容器一般是可以对外联网的(网桥模式,只要宿主机能上网就可以)

  1. 分别启动Flannel

Docker网络~Flannel_第5张图片
Docker网络~Flannel_第6张图片
测试:(主意重启Docker)

Docker网络~Flannel_第7张图片
Docker网络~Flannel_第8张图片
Docker网络~Flannel_第9张图片
node:
Docker网络~Flannel_第10张图片
Docker网络~Flannel_第11张图片
Master:
Docker网络~Flannel_第12张图片

在两个宿主机的容器内,互相ping对方容器的ip,是可以ping通的,也可以直接连接外网

在这里插入图片描述
这里面的“–bip= 192.168.53.1/24”这个参数,它限制了所在节点容器获得的IP范围。这个IP范围是由Flannel自动分配的,由Flannel通过保存在Etcd服务中的记录确保它们不会重复。

你可能感兴趣的:(docker)