首页 » 翻译 » Kubernetes » 正文

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

首先,我们需要先搞清楚一个概念:network namespace , network namespace是一个类似process namespace的东西, process namespace 让我们的容器认为自己就是唯一, network namespace的作用也是一样,作用就是隔离

如果我们在一台机器上创建两个network namespace , 那么默认情况下两个network namespace 是无法相互访问的:

networknamespaces

 

我们可以通过如下命令创建两个namespace ,一个是red, 一个是blue

我们可以通过如下命令查看当前机器上的network namespace

如何查看我们某个namespace下东西呢?例如IP, interfaces?

非常简单,只需要在我们平时的命令显示的指定namcspace的名称,例如:

或者:

每个独立的namespace下的所有东西都是隔离的,例如路由表,arp表

本机:

两个namespace:

既然是两个namespace,那么我们如何让这两个隔离的namespace 变得可以相互沟通,这个时候我们需要一个额外的设备virtual Cabe

这个东西其实类似我们的网线:我们先创建网线

net1

然后我们把网线插到不通的namespace下:

 

net2

然后我们需要设置IP地址:

net3

因为默认两个ns是关闭的,我们要启用一下

这个时候我们两个namespace就是通的了

 

因为篇幅有限,下一遍继续说如何实现多个networks space之间的相互联系

 

Zhiming Zhang

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

Latest posts by Zhiming Zhang (see all)