0

我正在将应用程序移植到 k8s。该应用程序目前由成对的 docker 组成,Trusted 和 Untrusted,其中 Trusted 连接到常规桥接网络并与内部服务通信,而 Untrusted 连接到单独的网络,只允许访问外部 IP。Untrusted 根据用户生成的数据访问网络,因此必须可以访问 Internet,并且不能访问内部 IP。

Trusted 和 Untrusted 使用一对 FIFO 进行通信,因为它们在同一台机器上运行(使用 Unix Domain Socket 慢了约 20%,我还没有测试本地 TCP/IP,但我怀疑性能会受到更大的影响 - 服务不是由于排序限制,因此完全水平扩展,因此单机性能很重要)。

我在将此设置移植到 k8s 时遇到了困难:最初的想法是为每对 docker 使用一个 Pod 并使用 emptyDir 共享 FIFO,但似乎没有办法为单个容器创建单独的网络限制一个 Pod,因为它们都共享一个网络容器。有没有办法做到这一点?

如果这是不可能的,还有什么选择?在单独的命名空间中设置不受信任的容器并应用有限的网络访问策略,只允许严格控制对集群其余部分的访问?

4

0 回答 0