我正在将应用程序移植到k8s。该应用程序目前包括一对Dockers,Trusted和Untrusted,其中Trusted连接到常规桥接网络并与内部服务通信,而Untrusted连接到单独的网络,只允许访问外部IP。 Untrusted根据用户生成的数据访问网络,因此必须具有Internet访问权限,并且必须无法访问内部IP。
Trusted和Untrusted使用一对FIFO进行通信,因为它们在同一台机器上运行(使用Unix域套接字慢了约20%,我还没有测试本地TCP / IP,但我怀疑性能更高 - 由于订购限制,服务不能完全水平扩展,因此单机性能很重要。)
我已经将这个设置移植到k8s了:最初的想法是为每对泊坞机使用Pod并使用emptyDir来共享FIFO,但似乎没有办法为a创建单独的网络限制Pod中的单个容器,因为它们共享一个网络容器。有没有办法做到这一点?
如果不可能,有什么替代方案?在单独的命名空间中设置不受信任的容器并应用有限的网络访问策略,只允许对群集的其余部分进行严格控制的访问?