一般情况下,两个node之间并不能通信,现在使用直连路由加Quagga的方式实现不同Node节点间的pod互联。
4.1、修改docker0的ip地址
在minion1上
#ifconfig docker0 10.1.10.1/24
修改docker配置文件
vi /etc/sysconfig/docker
添加:
OPTIONS='--bip=10.1.10.1/24'
重启
systemctl restart docker
在centos-minion01上添加到centos-minion2的路由
route add -net 10.1.20.0 netmask 255.255.255.0 gw 192.168.137.100
在centos-minion02上, 添加到centos-minion01路由
route add -net 10.1.10.0 netmask 255.255.255.0 gw 192.168.137.101
(我这里因为只用了一个minion,所以直接使用master测试)
4.2、使用Quagga动态添加路由
为了减少手工添加路由,可以使用Quagga实现路由规则的动态添加。为简单起见,我们使用docker镜像。
#docker pull index.alauda.cn/georce/router
在每个node上启动容器
Quagga需要以–privileged特权模式运行,并且指定–net=host,表示直接使用物理机的网络。
#docker run -itd --name=router --privileged --net=host index.alauda.cn/georce/router
启动成功后,Quagga会相互学习来完成到其他机器的docker0路由规则的添加。
# route -n
测试:
# ping 10.1.10.1
本文转自 sykmiao 51CTO博客,原文链接:http://blog.51cto.com/syklinux/1860298,如需转载请自行联系原作者