首页 » 运维 » 正文

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

net19

 

我们的pod现在可以在本机上相互访问,也就是说,仅仅在192.168.1.2这台机器

如果,我们的blue namepsace或者red namepsace 想链接 另外一台物理机: 192.168.1.3 这个时候是不通的

如上图,我们的blue namespace下缺少一个default 路由,所以blue并不知道 192.168.1.3 怎么走,他现在只知道192.168.15.0这个段怎么走

所以,我们要加一个路由:

也就是说,我们告诉blue 说,所有192.168.1.0 这个段的,你就发送给192.168.15.5这个就可以了

但是这个时候,我们如果在blue里边ping,还是不通的

这个地方牵扯到一个iptables的概念,NAT, 也就说,我们的blue 或者red 192.168.15.1 这个IP在自己家还是可以的,但是出门就不行了,别人不认识,所以,我们要在192.168.15.1的消息的外层,包一层额外的地址,这个地址就是192.168.1.2 的信息,也就是说,对于192.168.1.3来说,他看到的消息是来自192.168.1.2的,它也会把消息回复给192.168.1.2,然后192.168.1.2拿到消息后会再进行内部分发,大体就这个意思吧…..

开启这个功能,我们需要在192.168.1.2这台主机执行如下命令:

这个时候网络就通了….

但是,注意,我们的blue也就知道两条路而已,知道192.168.1.0 这个段的怎么走,知道192.168.15.0这个段的怎么走,其他的就不知道了,如果我们想让我们的blue能够上网一类的,我们就需要再增加路由

 

这样的结果及时,除了上边的两条路,其他的都扔给192.168.15.5

 

 

 

Zhiming Zhang

Senior devops at Appannie
一个奔跑在运维路上的胖子
Zhiming Zhang

Latest posts by Zhiming Zhang (see all)