Kubernetes 网络基础知识

在Kubernetes 中要保证容器之间网络互通,网络至关重要。而 Kubernetes 本身并没有自己实现容器网络,而是通过插件化的方式自由接入进来。在容器网络接入进来需要满足如下基本原则:

★ pod 无论运行在任何节点都可以互相直接通信,而不需要借助 NAT 地址转换实现。
★ node 与 pod 可以互相通信,在不限制的前提下,pod 可以访问任意网络。
★ pod 拥有独立的网络栈,pod 看到自己的地址和外部看见的地址应该是一样的,并且同个 pod 内所有的容器共享同个网络栈。

Network namespace

在Linux系统中,namespace是一种用于隔离系统资源的机制。通过namespace,可以为每个进程创建一个隔离的环境,使得每个进程看到的系统资源都是独立的,不会受到其他进程的干扰。
Linux系统中有多种类型的namespace,它们分别用于隔离不同的系统资源。例如,pid namespace用于隔离进程树,使得每个namespace中的进程看到的PID都是从1开始的。mount namespace用于隔离文件系统挂载点,使得每个namespace中的进程看到的文件系统都是独立的。

分类 系统调用参数 内核版本 隔离内容
Mount namespaces CLONE_NEWNS Linux 2.4.19<

猜你喜欢

转载自blog.csdn.net/qq_50573146/article/details/128702439