Kubernetes容器中的容器之间共享哪些命名空间?

时间:2018-08-09 11:17:26

标签: namespaces kubernetes

Linux中有6种名称空间:Network, UTS, Users, Mount, IPC, Pid。我知道所有容器都与Kubernetes容器中的暂停容器共享相同的网络名称空间。默认情况下,不同的容器具有不同的PID名称空间,因为它们具有不同的初始化过程。但是,其他名称空间又如何呢?

1 个答案:

答案 0 :(得分:5)

根据this article

  

容器中的容器在“逻辑主机”上运行;它们使用相同的网络名称空间(换句话说,相同的IP地址和端口空间)和相同的IPC名称空间。

     

Pod中的容器共享相同的IPC名称空间,这意味着它们还可以使用标准的进程间通信(例如SystemV信号量或POSIX共享内存)相互通信。

     

通过“ localhost”可以访问Pod中的容器;他们使用相同的网络名称空间。另外,对于容器,可观察的主机名是Pod的名称。由于容器共享相同的IP地址和端口空间,因此应在容器中使用不同的端口进行传入连接。换句话说,Pod中的应用程序必须协调其端口的使用。

您还可以通过指定v1.PodSpec.shareProcessNamespace: true在Pod中的容器之间enable sharing Process namespace