目录

1、简介overlay:

2、安装etcd与配置:

(1)安装etcd:

(2)修改etcd.conf文件:

(3)操作etcd服务:

① 启动:

② 停止:

③ 查看状态:

④ 开机自启:

⑤ 关闭开机自启:

3、修改docker服务文件:

4、重新加载服务配置文件:

5、重启docker服务:

6、创建一个docker的overlay网络:

(1)查看docker网络列表:

(2)创建一个docker的overlay网络:

(3)查看一个docker网络:

(4)删除一个docker网络:

7、发现bug:


1、简介overlay:

        Overlay网络是指在不改变现有网络基础设施的前提下,通过某种约定通信协议,把二层报文封装在IP报文之上的新的数据格式。这样不但能够充分利用成熟的IP路由协议进程数据分发;而且在Overlay技术中采用扩展的隔离标识位数,能够突破VLAN的4000数量限制支持高达16M的用户,并在必要时可将广播流量转化为组播流量,避免广播数据泛滥。因此,Overlay网络实际上是目前最主流的容器跨节点数据传输和路由方案。

        容器在两个跨主机进行通信的时候,是使用overlay network这个网络模式进行通信;如果使用host也可以实现跨主机进行通信,直接使用这个物理的ip地址就可以进行通信。overlay它会虚拟出一个网络比如10.0.2.3这个ip地址。在这个overlay网络模式里面,有一个类似于服务网关的地址,然后把这个包转发到物理服务器这个地址,最终通过路由和交换,到达另一个服务器的ip地址。

2、安装etcd与配置:

        说明:etcd可以单机也可以集群,可以与k8s是相同的服务器,也可以是单独的服务器。

        如果etcd是集群那么节点数量要为奇数,本地搭建的是etcd的单机,如下操作:

(1)安装etcd:

执行命令:yum install -y etcd

(2)修改etcd.conf文件:

修改文件:/etc/etcd/etcd.conf,修改一下参数:

说明:下图中红线的IP地址为etcd部署所在的服务器IP,准确的说并不是master的服务器IP。

(3)操作etcd服务:

① 启动:

执行命令:systemctl start etcd

② 停止:

执行命令:systemctl stop etcd

③ 查看状态:

执行命令:systemctl status etcd

④ 开机自启:

执行命令:systemctl enable etcd

⑤ 关闭开机自启:

执行命令:systemctl disable etcd

3、修改docker服务文件:

修改文件:/usr/lib/systemd/system/docker.service服务文件,修改ExecStart的值为如下参数:

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --cluster-store=etcd://192.168.137.111:2379 --cluster-advertise=192.168.137.111:2375

        说明:cluster-store值为etcd服务所在的服务器IP地址,如果etcd为集群,那么就用英文逗号分隔。cluster-advertise为当前docker所在的宿主机的IP地址。

4、重新加载服务配置文件:

执行命令:systemctl daemon-reload

5、重启docker服务:

执行命令:systemctl restart docker.service

如果重启docker服务还是不行,那就重新启动服务器吧。

6、创建一个docker的overlay网络:

(1)查看docker网络列表:

执行命令:docker network ls

(2)创建一个docker的overlay网络:

执行命令:docker network create -d overlay demo

(3)查看一个docker网络:

执行命令:docker network inspect demo

(4)删除一个docker网络:

执行命令:docker network rm demo

7、发现bug:

        发现一个bug,etcd和docker所在服务器同时重新启动,启动后docker上连接overlay的容器启动不了了,需要将原有的docker中的overlay网络删除后,重新创建一个overlay网络,然后通过命令修改容器使用最新创建的overlay网络,才可以正常启动。暂时不知道什么原因,待以后再处理。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐