Network namespace 是实现 linux 网络空间隔离和网络虚拟化的基础,无论是docker还是其他虚拟化技术也都是通过 linux 的 network namespace 实现的网络隔离。之前的几篇文章从 kubernetes 部署后的结果展开分析了 pod、service 和 flannel 的原理。
kubernetes service 从简介到原理一篇全搞定
本篇就通过 ip 命令实现新建一个 network namespace 与外网通信的过程。
新建 Network Namespace
当我们使用一个不认识的命令时,可以首先使用 help 命令查看使用帮助。

我们使用 ip netns list 查看当前是没有 network ns 的。
使用下面的命令创建一个 ns。
ip netns add ns1
创建好新的 ns 之后,可以使用 exec 命令查看某个 ns 中的具体信息。
ip netns exec ns1 ip link show

本文通过创建和配置Network Namespace,演示了Pod如何借助Linux网络空间隔离技术访问外网的过程。涉及新建namespace、添加虚拟网卡、设置路由、开启ARP代答和源地址转换等关键步骤,揭示了Kubernetes Pod网络通信的原理。
最低0.47元/天 解锁文章
8275

被折叠的 条评论
为什么被折叠?



