kubernetes-直接路由

1.直接路由

    通过在每个Node上添加到其他Node上docker0的静态路由规则,就可以将不同物理机的docker0网桥互联互通。

    只需在每个Node的路由表中增加到对方docker0的静态路由转发规则。

    如:pod1 所在docker0网桥的IP子网事10.1.10.0,Node地址为192.168.1.51,;而pod2所在docker0网桥的ip子网事10.1.20.0,Node地址为192.168.1.52;

    在Node1上用route add 命令增加一条到Node2上docker0静态路由规则;

route add -net 10.1.20.0 netmask 255.255.255.0 gw 192.168.1.52

同样在node2上增加一条到Node1上docker0的静态路由规则

route add -net 10.1.10.0 netmask 255.255.255.0 gw 192.168.1.51

在Node1 上通过ping命令验证到Node2 上docker0的网络连通性。这里10.1.20.1位Node2上docker0网桥自身IP地址

###  node_01设置docker01

ifconfig docker0 10.1.10.1/24

### node_02设置docker01

ifconfig docker0 10.1.20.1/24
[root@node_01 ~]# ping 10.1.20.1
PING 10.1.20.1 (10.1.20.1) 56(84) bytes of data.
64 bytes from 10.1.20.1: icmp_seq=1 ttl=64 time=0.521 ms

    如上转发规则生效,Node1 可以直接访问到Node2上的docker0网桥,也可访问到属于docker0网段的容器应用(如:mysql) 

    若,集群中有很多服务器,需要在每台服务器上添加到另外99台服务器docker0的路由规则,可以使用Quagga软件来实现路由规则的动态添加

安装简介:

https://blog.csdn.net/wanchaopeng/article/details/103419887

也可使用quaggz容器来运行,下载镜像

 

在运行quagga容器之前,需要确保每个Node上docker0网桥的子网地址不能重叠,也不能与物理机所在网络重叠,

每台Node上启动quagga容器,quagga容器需要以--privileges特权模式运行,并且制定--net=host,表示直接使用物理机的网络

 docker run -itd --name=router --privileged --net=host loggregator/router

启动成功后,quagga会相互学习来完成到其他机器的docker0路由规则添加。

查看

route -n 

至此互通

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值