如何在k8s容器中禁止网络?

时间:2018-08-24 09:35:05

标签: docker ubuntu kubernetes iptables ifconfig

如何在k8s容器中禁止网络?

我用k8s执行了一些第三方代码,它可能是不安全的。

因此,我在一个容器中使用了两个容器(A和B),A来获取代码并传递给B容器,B来执行它。

为了保护我们的网络,我想禁用B的网络。但是我没有找到任何有效的方法。

我尝试过的方法:

  1. ifconfig eth0向下,ifdown eth0

  2. iptables -P INPUT DROP,iptables -P OUTPUT DROP

还有其他方法吗?

更新: 最后,我使用iptable禁用用户网络,然后切换到容器B中的用户以执行代码。

注意:由于两个容器的网络名称空间相同,因此iptable规则将在两个容器中生效。

2 个答案:

答案 0 :(得分:1)

最好不要触摸可能会导致K8s中的网络连接问题的Iptable规则。在K8中尝试使用Network Policy来隔离Pod,这是Pod的禁用网络。就像禁用network for container in docker

更新

我也知道豆荚里有2个容器(A&B)。我认为,不可能仅对该容器中的容器B禁用联网。

答案 1 :(得分:0)

https://cilium.io/选中此项目,它可以使您执行提及的操作。它允许您基于容器/容器标识定义应用程序层和网络层策略。他们页面上的演示完全可以完成您的尝试。