Docker OpenvSwitch 应用部署
安装部署OVS并建立GRE隧道
- 节点1:192.168.1.198 容器网段:172.17.1.0/24
- 节点2:192.168.1.199 容器网段:172.17.2.0/24
1、节点1节点2操作:修改docker 默认IP地址网段,主配置文件内修改配置参数。
vim /lib/systemd/system/docker.service
# bip参数设置IP地址 指定的是网关。 ExecStart=/usr/bin/dockerd --bip=172.17.2.1/24
# 重启服务 systemctl daemon-reload systemctl restart docker
2、节点1节点2操作:安装OVS
yum -y install openvswitch bridge-utils
3、节点1节点2操作:启动openvswitch服务
# 启动服务 systemctl start openvswitch
4、节点1节点2操作:创建网桥并激活
# 1、创建网桥 ovs-vsctl add-br br0 # 2、激活网桥 ip link set dev br0 up
[[email protected] ~]# ifconfig br0: flags=67<UP,BROADCAST,RUNNING> mtu 1500 inet6 fe80::f488:54ff:fe9e:5d98 prefixlen 64 scopeid 0x20<link> ether 5e:87:fd:fe:3a:41 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 11 bytes 866 (866.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
查看网桥
5、节点1节点2操作:将gre0虚拟接口加入网桥br0,并设置接口类型和对端IP地址(远程IP指定对端)
注:如果多台主机 需要配置多条策略。由于是点对点通信所以需要创建新的gre端口。
ovs-vsctl add-port br0 gre0 -- set Interface gre0 type=gre options:remote_ip=192.168.1.77
# 命令解析 ovs-vsctl add port 已创建网桥名称 端口名称 -- set Interface 端口名称 type=隧道类型 options:remote_ip=指定点对点的对端节点IP
6、节点1节点2操作:添加docker0网桥到OVS网桥br0
brctl addif docker0 br0
命令:ovs-vsctl show 3a4acf8f-1db3-4069-8fd8-8dd8e883e914 # 网桥名称 Bridge "br0" # 端口名称 Port "br0" # 类型 Interface "br0" type: internal Port "gre0" Interface "gre0" # 隧道类型 type: gre # 对端点对点远程地址 options: {remote_ip="192.168.1.77"} # 版本号 ovs_version: "2.0.0"
查看网桥信息
7、节点1节点2操作:添加静态路由
ip route add 172.17.0.0/16 dev docker0
[[email protected] ~]# route Destination Gateway Genmask Flags Metric Ref Use Iface 172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
查看路由表
8、节点1节点2操作:验证互通:相互ping测试
docker run -it busybox
原文地址:https://www.cnblogs.com/xiangsikai/p/9901223.html
时间: 2024-10-19 18:30:53