kubernetes network namespace 是如何创建和工作的02

微信扫一扫,分享到朋友圈

kubernetes network namespace 是如何创建和工作的02

之前一篇说了如何连接两个network namespace ,那如何连接3个呢?或者5个?

现实生活中,一根网线只能连接2台电脑,如果你有6台电脑,想相互之间通讯,那么就需要用到交换机:

我们需要把每个POD都插到交换机上,大家就可以内部通信了,首先,我们需要创建交换机

$ ip link add v-net-0 type bridge

创建完成默认是关闭状态,我们要启用它

$ ip link
8: v-net-0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether fa:fd:d4:9b:33:66 brd ff:ff:ff:ff:ff:ff
$ ip link set dev v-net-0 up

然后和上一篇文章相同,我们创建两个network namespace

$ ip netns add red
 
$ ip netns add blue

然后创建两根网线:

$ ip link add veth-red type veth peer name veth-red-br
 
$ ip link add veth-blue type veth peer name veth-blue-br

然后把网线分别插入交换机和pod 的network namespace

$ ip link set veth-red netns red
 
$ ip link set veth-blue netns blue
 
$ ip link set veth-red-br master v-net-0
 
$ ip link set veth-blue-br master v-net-0

然后给Pod 分配IP

$ ip -n red addr add 192.168.15.1/24 dev veth-red
 
$ ip -n blue addr add 192.168.15.2/24 dev veth-blue

然后启动网络接口

$ ip -n red link set veth-red up
 
$ ip -n blue link set veth-blue up

然后给我们的交换机一个IP

ip addr add 192.168.15.5/24 dev v-net-0

然后启动交换机的端口

$ ip link set dev veth-red-br up
$ ip link set dev veth-blue-br up

这个时候网络就通的了,就可以从主机ping我们的Pod了

但是注意,这只实现了我们本机上的所有的pod之间的通信,并不能链接其他机器

微信扫一扫,分享到朋友圈

kubernetes network namespace 是如何创建和工作的02

linux-挂载NFS网络文件系统教程

上一篇

服务器性能监控神器nmon使用介绍

下一篇

你也可能喜欢

kubernetes network namespace 是如何创建和工作的02

长按储存图像,分享给朋友